Операция деления отношений
Эта операция наименее очевидна из всех операций реляционной алгебры и поэтому нуждается в более подробном объяснении. Пусть заданы два отношения - A с заголовком {a1, a2, ..., an, b1, b2, ..., bm} и B с заголовком {b1, b2, ..., bm}. Будем считать, что атрибут bi отношения A и атрибут bi отношения B не только обладают одним и тем же именем, но и определены на одном и том же домене. Назовем множество атрибутов {aj} составным атрибутом a, а множество атрибутов {bj} - составным атрибутом b. После этого будем говорить о реляционном делении бинарного отношения A(a,b) на унарное отношение B(b).
Результатом деления A на B является унарное отношение C(a), состоящее из кортежей v таких, что в отношении A имеются кортежи <v, w> такие, что множество значений {w} включает множество значений атрибута b в отношении B.
Предположим, что в базе данных сотрудников поддерживаются два отношения: СОТРУДНИКИ ( ИМЯ, ОТД_НОМЕР ) и ИМЕНА ( ИМЯ ), причем унарное отношение ИМЕНА содержит все фамилии, которыми обладают сотрудники организации. Тогда после выполнения операции реляционного деления отношения СОТРУДНИКИ на отношение ИМЕНА будет получено унарное отношение, содержащее номера отделов, сотрудники которых обладают всеми возможными в этой организации именами.
16. Реляционные операции селекции и проекции.
Операции выборки и проекции являются унарными, поскольку они работают с одним отношением.
Операция выборки
Операция выборки - построение горизонтального подмножества, т.е. подмножества кортежей, обладающих заданными свойствами.
Операция выборки работает с одним отношением R и определяет результирующее отношение, которое содержит только те кортежи (строки) отношения R, которые удовлетворяют заданному условию F (предикату).
или
Пример 5.1. Операция выборки в SQL.
Выборка записывается следующим образом:
5.1. Операция выборки в SQL.
Операция проекции
Операция проекции - построение вертикального подмножества отношения, т.е. подмножества кортежей, получаемого выбором одних и исключением других атрибутов.
Операция проекции работает с одним отношением R и определяет новое отношение, которое содержит вертикальное подмножествоотношения R, создаваемое посредством извлечения значений указанных атрибутов и исключения из результата строк-дубликатов.
Пример 5.2. Операция проекции в SQL.
Проекция записывается следующим образом:
5.2. Операция проекции в SQL.
17. Реляционная операция соединения. Ее разновидности.
Операция соединения отношений, наряду с операциями выборки и проекции, является одной из наиболее важных реляционных операций.
Обычно рассматривается несколько разновидностей операции соединения:
Общая операция соединения
соединение (тэта-соединение)
Экви-соединение
Естественное соединение
Наиболее важным из этих частных случаев является операция естественного соединения. Все разновидности соединения являются частными случаями общей операции соединения.