Операции реляционной алгебры
По замечанию Дейта, реляционная алгебра Кодда обладает несколькими недостатками:
•восемь перечисленных операций по охвату своих функций, избыточны
•этих восьми операций недостаточно для построения реальной СУБД на принципах реляционной алгебры
Пересечение (INTERSECT) V =
R1∩ R2
Операция пересечение выполняется над совместными отношениями R1 и R2 с идентичной структурой d1, d2 ,..., dn . Результирующее отношение V = R1∩ R2 содержит одинаковые кортежи, которые есть в каждом из двух исходных.
Пусть входные отношения R1 и R2 имеют тот же вид, что и на рисунке, тогда на выходе получим:
Декартово произведение (PRODUCT) V=R1 x R2
Операция декартова произведения (PRODUCT) (×) выполняется над двумя отношениями R1, R2, имеющими разный состав атрибутов – ( d1, d2 ,..., dn ) и ( p1, p2 ,..., pm ) соответственно. В результате операции декартова произведения образуется новое отношение V=R1×R2, которое включает все атрибуты исходных отношений ( d1, d2 ,..., dn , p1, p2 ,...,
pm ).Результирующее отношение состоит из всевозможных сочетаний кортежей исходных отношений R1 и R2. число кортежей декартова произведения равно произведению количеств кортежей в исходных отношениях. Например, декартово произведение двух отношений R1 (Студент) и R2 (Предмет) дают новое отношение V (Экзаменационная ведомость), которая содержит все атрибуты исходных отношений.
Селекция (SELECT), (σ)
выбрать студентов, сдавших математику на отлично (Наименование предмета = Математика AND Оценка = 5).
Соединение (JOIN)
Требуется соединить две таблицы по их общим атрибутам. Соединение (JOIN) выполняется для заданного условия соединения над двумя логически связанными отношениями.
Пример Θ-соединения. Операция соединения включает два шага:
1)декартово произведение двух отношений R и S;
2)сопоставление каждого кортежа отношения R со всеми кортежами отношения S , и если для сопоставляемой пары кортежей выполняется условие P, то они сцепляются, т.е. образуется новый кортеж, содержащий атрибуты отношений R и S, и результат помещается в отношение V. Например, известно, что вести лекции могут только преподаватели, занимающие должность профессора или доцента. Необходимо получить перечень дисциплин и фамилии преподавателе, которые могут вести лекции.