КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Лекция 4. Базисные средства манипулирования реляционными данными: алгебра A Дейта и Дарвена
Тесты Заключение
Завершим эту лекцию несколькими замечаниями. Прежде всего, заметим, что мы представили алгебру Кодда не в ее оригинальной форме, а с некоторыми существенными коррективами, внесенными Кристофером Дейтом. С точки зрения автора курса, одной из наиболее значительной коррективой было добавление тривиальной, на первый взгляд, операции переименования атрибутов. Когда Эдгар Кодд в конце 1960-х впервые опубликовал свою алгебру, основное внимание в ней уделялось тому, как конструируются результирующие множества кортежей, т.е. что из себя представляют тела результатов операций. Гораздо меньшее внимание уделялось заголовкам отношений-результатов. Фактически, Кодд пытался использовать для именования атрибутов результатов операций точечную нотацию, используя для уточнения имен атрибутов имена исходных отношений-операндов. При наличии произвольно сложных и длинных алгебраических выражений этот путь, в лучшем случае, вел к порождению длинных и плохо понимаемых имен. Легко видеть, что введение операции переименования атрибутов позволяет легко справиться с этой проблемой.
Далее, алгебра Кодда исключительно избыточна. Операции пересечения, декартова произведения и естественного соединения, на самом деле, являются частными случаями одной более общей операции, которую мы продемонстрируем в следующей лекции. Введение операции декартова произведения в качестве базовой операции алгебры может вводить в заблуждение неопытных студентов и читателей, плохо понимающих практическую бессмысленность этой операции.
Почему же мы начали обсуждение базовых маниуляционных механизмов реляционной модели данных с этой небузупречной и несколько устаревшей алгебры? Конечно, прежде всего, из уважения к заслугам доктора Эдгара Кодда, вклад которого в современную технологию баз данных невозможно переоценить. Более практичные соображения, повлиявшими на наше решение начать обсуждение с алгебры Кодда, заключались в том, что семантика языка SQL во многом базируется именно на этой алгебре, и нам будет проще обсуждать SQL при наличии предварительного с ней знакомства.
1 (1) Почему нельзя выполнить операцию объединения (пересечения, взятия разности) над отношениями-операндами с разными заголовками?
(а) - неясно, каким будет заголовок результата (б) + результатом будет не отношение (в) - результирующее множество будет состоять из кортежей, не соответствующих заголовку результата
1 (2) Почему операция взятия разности не выражается через операции объединения и пересечения?
(а) - потому что тело ее результата содержит подмножество тела первого операнда (б) - потому что мощность тела результата меньше суммы мощностей тел первого и второго операндов (в) + потому что операция взятия разности не является коммутативной
2 (1) Чему тождественно равно выражение (A UNION B) MINUS (A MINUS B)?
(а) + (A INTERSECT B) UNION (B MINUS (A MINUS B)) (б) + (A INTERSECT B) UNION B (в) + B
2 (2) Чему тождественно равно выражение (A INTERSECT B) MINUS (A MINUS B)?
(а) + (A INTERSECT B) INTERSECT (B MINUS (A MINUS B)) (б) - (A INTERSECT B) UNION (B MINUS A) (в) + A INTERSECT B
3 (1) Почему нельзя выразить операцию TIMES через другие примитивные операции алгебры Кодда?
(а) + потому что ни одной другой операции степень заголовка отношения-результата не превосходит степеней заголовков отношений-операндов
(б) - потому что никакая другая операция не порождает отношение-результат, мощность тела которого превышает сумму мощностей тел операндов
(в) - потому что операция TIMES не является коммутативной
3 (2) Предположим, что в качестве примитивной операции выбрана операция соединения по условию. Чему тогда тождественно равно выражение A TIMES B (отношения A и B совместимы относительно операции декартова произведения)?
(а) - A JOIN B WHERE a=b (где a и b – атрибуты отношений A и B соответственно, для которых осмысленна операция сравнения по равенству)
(б) + A JOIN B WHERE a=a (где a – атрибут отношения A, для которого осмысленна операция сравнения по равенству)
(в) - A JOIN B WHERE a=NULL
4 (1) Можете ли Вы принять один из следующих доводов в пользу того, что операция ограничения является примитивной?
(а) + это единственная операция с одним операндом-отношением, не уменьшающая степень отношения-результата, но уменьшающая мощность его тела
(б) + операция взятия проекции, которая тоже уменьшает мощность результата, не руководствуется при этом условием выборки
(в) + Самый правильный ответ эта операция примитивна, потому что так захотел Эдгар Кодд
4 (2) Можете ли Вы принять один из следующих доводов в пользу того, что операция взятия проекции является примитивной?
(a) + это единственная операция с одним операндом-отношением, уменьшающая степень отношения-результата
(б) + это единственная операция, приводящая к потребности устранения кортежей-дубликатов
(в) - эта операция примитивна, потому что так захотел Эдгар Кодд
5 (1) Пусть имеются два отношения: A {a, b, c} и B {c} со следующими телами:
A
B
Какое из показанных ниже отношений получится в результате выполнения операции A {{a, b}, c} DIVIDE BY B {c}?
(а) -
(б) +
(в) -
5 (2) Пусть имеются два отношения: A {a, b, c} и B {b, c} со следующими телами:
A
B
Какое из показанных ниже отношений получится в результате выполнения операции A {{a}, {b, c}} DIVIDE BY B {b, c}?
(а) -
(б) -
(в) +
В этой лекции мы обсудим новый “минимальный” вариант алгебры, предложенный несколько лет тому назад Дейтом и Дарвеном. Возможно, новая алгебра не очень практична, но зато красива и элегантна.
Дата добавления: 2014-01-03; Просмотров: 4362; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |