Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_-_-_м TИ_м_-TАTЛ _Ъ_Ш_в.doc
Скачиваний:
2
Добавлен:
26.09.2019
Размер:
298.5 Кб
Скачать

13. Специальные реляционные операции: селекция, проекция, соединение и деление

Все базовые реляционные операции разбиваются на 2 группы:

  1. Теоретико – множественные операции объединения, пересечения, дополнения и декартово произведение {U,∩,\,x}, кот. нес-ко модифицированы, т.к. их операндами яв-ся сущности, а не мн-ва. 2 сущности совместимы, если они должны иметь одинаковую степень (n) и их i-ые атрибуты Ai должны быть связаны с одним и тем же доменом Di.

  2. Специальные реляционные операции: селекция, проекция, соединение и деление.

Рассмотрим 2 группу:

Селекция сущности S по условию P является сущность с тем же заголовком, что и у сущности S и телом, соединяющим те картежи S, которые удовлетворяют условию P. Условие P – предикат, т. е. выражение логического типа, которое может принимать значение – истина или ложь.

Синтаксис: S WHERE P

Обычно предикаты строятся с использованием имен атрибутов S, констант арифметических операций и операторов сравнения =, ≠, >, <, ≤, ≥.

Проекция сущности S по подмножеству ее атрибутов {Ai, Aj, … Ak} – сущность с заголовком {Ai, Aj, … Ak} и телом, содержащим множество кортежей {ai, aj, … ak} таких, для каждого из которых в S найдется кортеж со значением атрибута Ai= ai, Aj= aj, … Ak= ak. Дубликаты картежей удаляются. Синтаксис: S [Ai, Aj, … Ak]

Соединение: имеет 4 вида разновидности. 1) общая операция соединения (S TIMES R) WHERE P; 2)тета- соединение (S TIMES R) WHERE A Ө B; 3) Экви-соединение S[A=В] R; 4) Естественное соединение S JOIN R

Деление: Пусть сущность S имеет заголовок {A1, A2, … An , В1, В2, … Вm}, а сущность R - {В1, В2, … Вm}. При этом заголовки содержат одинаковые атрибуты В1, В2, … Вm . Тогда делением сущностей S/R называется сущность с заголовком {A1, A2, … An} и телом, содержащим множество картежей вида (a1, a2, … an), таких что для любого картежа (b1, b2, … bm) принадлежащего R сущ. картеж (a1, a2, … an , b1, b2, … bm) принад. S

Синтаксис: S DEVIDEBY R

Здесь S делимое, R - делитель

14. Реляционная операция соединения и ее разновидности

Соединение: имеет 4 вида разновидности. 1) общая операция соединения; 2)тета- соединение; 3) Экви-соединение; 4) Естественное соединение

Общая операция соединения сущности S по условию P является сущность (S TIMES R) WHERE P, где предикат P может включать в себя имена атрибутов сущностей и S и R

Если сущности S и R содержат атрибуты с одинаковыми именами, то перед выполнением операции соединения их нужно переименовать.

Тетта (Ө)- соединение Пусть заголовок сущности S включает в себя атрибут A, а заголовок сущности R включает в себя атрибут B.

(S TIMES R) WHERE A Ө B, где Ө заменяется одним из знаков =, ≠, >, <, ≤, ≥.

Более коротко S[A Ө В] R

Эквисоединение- частный случай тетта (Ө)- соединения, когда Ө это знак «=» S[A=В] R

Недостаток эквисоединения в том, что если соединение производится по атрибутам с одинаковыми именами и связанными одним и тем же доменом, то в результирующей сущности появляется 2 атрибута с одинаковыми значениями. Избежать этого можно, взяв проекцию по всем атрибутам за искл. 1-го из дублирующихся.

Естественное соединение: пусть сущность S имеет заголовок S {A1, A2, … An , В1, В2, … Вm}, а сущность R {В1, В2, … Вm, C1, C2, … Cp}, при этом заголовки сущности содержат одинаковые атрибуты В1, В2, … Вm, тогда естественным соединением сущностей S и R наз сущность с заголовком {A1, A2, … An , В1, В2, … Вm, C1, C2, … Cp}, и телом содержащим множество картежей (а1, а2, … аn , b1, b2, … bm, c1, c2, … cp).

Синтаксис: S JOIN R

В синтаксисе естественного соединения не указано, по каким атрибутам производится соединение (по всем одинаковым атрибутам). При реализации естественного соединения последовательно выполняются следующие операции:

  1. переименовываются одинаковые атрибуты в сущностях

  2. выполняется декартово произведение сущности

  3. выполнить операцию селекции по всем совпадающим значениям атрибутов

  4. …проекции, удаляя повторяющиеся атрибуты

  5. вернуть первоначальные имена атрибутам, которые были переименованы.

Естественное соединение обладает cв-вом ассоциативности, поэтому его можно записывать без скобок: (S JOIN R) JOIN T =S JOIN (R JOIN T)= S JOIN R JOIN T