С.Д. Кузнецов - Основы баз данных (1121716), страница 16
Текст из файла (страница 16)
)ОПМ). Операция соединения называется олерацией эквисоедивевил, если условие соединения имеет вид (а = Ь), где а и Ь вЂ” атрибуты разных операндов соединения. Этот случай важен потому, что он чаще всего встречается на практике, и дяя него сушествуют наиболее эффективные алгоритмы реализации. Операция естественного соединения применяется к паре отношений А и в, обладающих (возможно, составным) обшим атрибутом с (т. е.
68 Реляционная алгебра Кодда Лекция 3 Рис. ЗЛ). Отношения слУжАЩие и пРОекты атрибутом с одним и тем же именем и определенным на одном и том же домене). Пусть а)з обозначает объединение заголовков отношений А и Н. Тогда естественное соединение А и  — это спроецированный на аЬ результат эквисоединения А и в по условию л. с = и. г.я Хотя операция естественного соединения выражается через операции переименования, соединения общего вила и проекции, для нее обычно используется сокращенная форма, называемая ЕАТНРАЕ ПОТМ. На рис. 3.10 приведены результаты операций СЛУЖАЩИЕ готм (ПРОЕКТЫ ЕсМАМЕ )ПРО НОМ, ПРО НОМ1) ) ИНЕЕЕ (СЛУ ЗАРП = ПРО ЗАРП) (ЭКВИСОЕдннение отношений СЛУЖАЩИЕ и ПРОЕКТЫ: найти всех служащих, получающих зарплату, равную средней заработной плате в каком-либо проекте) и С)ГУЖАЩИЕ НАТ1)ЕАЕ ООТМ ПРОЕКТЫ (естественное соединение — выдать полную информацию о служащих и проектах, в которых они участвуют).
"Здесь л. с и в. с представляют собой так называемые квалифицированные (уточненные) имена атрибутов (часто такой способ именования называют точечной нотацией). Мы будем использовать подобную нотацию в тех случаях, когда требуется явно показать, схеме какого отношения принадлежит данный атрибут.
69 Основы баз данных Курс Рис. 3.9. Результат операции СЛУЖАЩИЕ ЮОТМ ПРОЕКТЫ ИНЕЕЕ (СЛУ ЗАРП > ПРО ЗАРП! РезультатоперацииС!ТУЖАЩИЖ Поцч !ПРОекты ЕЕНАМЕ !ПРО нОм, ПРО НОМ1!! ЖМЕНЕ !СЛУ ЗАРП = ПРО ЗАРП! Результат операции СЛУЖАЩИЕ ПАТОНА ОО1М пРОЕкты ГЛУ ММЯ Иванов СЛУ "АРД 22400.00 ГРО НОМ СЗУ НОМРР ГРОвкт Рум Иванов ЗРО ЗАРГ 22400.00 2934 22400.00 2935 Петров 29600.00 Иванов 293б 18000.00 22400.00 Сидоров Иванов 20000.00 22000.00 Иванов Иванов 22400.00 22400.00 Федоров Иванова 2937 2938 22400.00 2934 Иванов 22400.00 Иваненко 2935 29б00.00 Иваненко 22400.00 Петров 22400.00 22400.00 2939 Сидоренко Федоренко 18000.00 20000.00 Иваненко Иваненко 2940 22400.00 294! Иваненко 22000.00 Иваненко Рис. 3.10, Результаты операций эквисоединения и естественного соединения отношений СЛУЖАЩИЕ и ПРОЕКТЫ Если вспомнить введенное нами в конце предыдущей лекции определение внешнего ключа отношения, то должно стать понятно, что основной смысл операции естественного соединения состоит в возможности восстановления сложной сущности, декомпозированной по причине требования первой нормальной формы.
Операция естественного соединения не включается в состав набора операций данной реляционной алгебры Кодла, но имеет очень важное практическое значение. 70 Реляционная алгебре колла лекции з Операция деления отношений Эта операция наименее очевидна из всех операций реляционной алгебры Кодаа и поэтому нуждается в более подробном объяснении. Пустьзаданы два отношения — яс заголовком (а... а„..., а„Ь„Ь,, ..., Ь,) иве заголовком (Ь„Ь„..., Ь,„). Будем считать, чтоатрибут ь,отношениял иатрнбуть,отношения в И = 3, 2, ..., а) нетолько обладают одним и тем же именем, но и определены на одном и том же домене.
Назовем множество атрибутов (а ) составным атрибутом а, а множество атрибутов (Ь,) — составным атрибутом Ь. После этого будем говорить о реляционном делении «бинарного» отношения л (а, Ь) на унарное отношение в (Ь). Поопределению, результатомделенияЛ нан (Л Пгутпн Ву В) является «унарное» отношение с,(а ), тело которого состоит из кортежей итаких, что в теле отношения л содержатся кортежи 1 ьтггон к такие, что множество (н) вкпючает тело отношения в. Операция реляционного деления не является примитивной и выражается через операции декартова произведения, взятия разности и проекции. Мы покажем это в следующей лекции.
Для иллюстрации этой операции предположим, что в базе данных служащих поддерживаются следующие отношения: спудлднк, как оно было определено ранее, и унарное отношение номквл пгэкктов (про ном)(рис. 3.11). Тогда запрос слухлдик птчгпк ву номквл пнокктов выдаст данные обо всех служашнх, участвующих во всех проектах (результат операции приведен также на рис. 3.11). Рис. 3.11. Пример реляционного деления Основы баз данных Курс Заключение В завершение лекции хочу отметить несколько моментов.
Прежде всего, заметим, что алгебра Кодда была представлена не в ее оригинальной форме, а с некоторыми существенными коррективами, внесенными Кристофером Дейтом. С моей ~очки зрения, одной из наиболее значительных корректив было добавление тривиальной на первый взгляд операции переименования атрибутов. Когда Эдгар Кодл в конце 1960-х гг.
впервые опубликовал свою алгебру, основное внимание в ней уделялось тому, как конструируются результирующие множества кортежей, т. е. что представляют собой тела результатов операций. Гораздо меньше внимания уделялось заголовкам отношений-результатов. Фактически Колд пытался применить лля именования атрибутов результатов операций точечную нотацию, используя для уточнения имен атрибутов имена исходных отношений-операндов. При наличии произвольно сложных и длинных алгебраических выражений этот путь, в лучшем случае, вел к порождению длинных и трудных для восприятия имен. Очевидно, что введение операции переименования атрибутов позволяет легко справиться с этой проблемой.
Далее, алгебра Кодда исключительно избыточна. Операции пересечения, декартова произведения и естественного соединения, на самом деле, являются частными случаями одной более общей операции, о которой пойдет речь в следующей лекции. Введение операции декартова произведения в качестве базовой операции алгебры может ввести в заблуждение неопытных студентов и читателей, не осознающих практическую бессмысленность этой операции.
Почему же мы начали обсуждение базовых манипуляционных механизмов реляционной модели данных с этой небезупречной и несколько устаревшей алгебры? Конечно, прежде всего, из уважения к заслугам доктора Эдгара Кодда, вклад которого в современную технологию баз данных невозможно переоценить. Более практические соображения, повлиявшие на наше решение начать обсуждение с алгебры Кодда, заключались в том, что семантика языка БОБ во многом базируется именно на этой алгебре, и нам будет проще изучать Я.>Е, прелварительно познакомившись с ней. Алгебра А Дейта и Дарвеиа Лекция 4 Лекция 4. Базисные средства манипулирования ре- ляционными данными: алгебра А Дейта и Дарвена В этой лекции мы обсудим новый «минимальный» вариант алгебры, предложенный несколько лет тому назад Дейтом и Дарвеном, Как уже отмечалось в предыдущей лекции, возможно, новая алгебра не очень практична, пе зато красива и элегантна.
Ключевые слова: алгебра А, операции реляционного отрицания (дополнения), операция реляционной конъюнкции, операции пересечения, естественного соединения и взятия декартова произведения как частные случаи операции реляционной конъюнкции, операция реляционной дизъюнкции, операция объединения как частный случай операции реляционной дизъюн кции, операция удал ения атрибута, полнота Алгебры А, выводимость операции взятия разности, ограничение отношений на основе операции реляционной конъюнкции, константные отношения, соединение отношений на основе базовых операций Алгебры А, выводимость операции реляционного деления, избыточность Алгебры А, реляционные аналоги логических операций «штрих Шеффера» и «стрелка Пирса», выводимость операции переименования.
Введение Обсуждавшаяся в предыдущей лекции алгебра Кодла в большей степени базируется на теории множеств. Базовыми операциями являются переименование атрибутов, объединение, пересечение, взятие разности, декартово произведение, проекция и ограничение. Операция соединения общего вида, хотя и включается в алгебру, является вторичной и явно представляется через другие операции. Фундаментальная же в реляционном подходе операция естественного соединения выражается через соединение общего вида и в алгебру не включается.