Пример 5. Деление отношения.
Пусть R1 — проекция SP [P#, D#], a R2 — отношение с заголовком D# и телом {Р2, Р4} тогда результатом деления R1 на R2 будет отношение R c заголовком P# и телом{S1,S4},
Соединение C(R1, R2) отношений R1 и R2 по условию, заданному формулой f, представляет собой отношение R, которое можно получить путем Декартова произведения отношений R1 и R2 с последующим применением к результату операции выборки по формуле f. Правила записи формулы f такие же, как и для операции селекции.
Другими словами, соединением отношения R1 по атрибуту А с отношением R2 по атрибуту B (отношения не имеют общих имен атрибутов) является результат выполнения операции вида:
(Rl TIMES R2) WHERE A Q В,
где Q — логическое выражение над атрибутами, определенными на одном (нескольких — для составного атрибута) домене. Соединение Cf(R1, R2), где формула f имея произвольный вид (в отличие от частных случаев, рассматриваемых далее), называют также Q-соединением.
Дополнительные операции реляционной алгебры, предложенные Дейтом, включают операцию переименования.
Операция переименования позволяет изменить имя атрибута отношения и имеет вид:
RENAME <исходное отношение> <старое имя атрибута> AS <новое имя атрибута>,
где <исходное отношение> задается именем отношения либо выражением реляционной алгебры. В последнем случае выражение заключают в круглые скобки.
Например, RENAME Gorod_P AS Gorod_R.
ство).
Основные правила записи выражений. Как отмечалось, результатом произвольной реляционной операции является отношение, которое, в свою очередь, может участвовать в другой реляционной операции. Это свойство реляционной алгебры называется свойством замкнутости.
Свойство замкнутости позволяет записывать вложенные выражения реляционной алгебры, основой которых выступают рассмотренные ранее элементарные операции: объединение, проекция, пересечение, выборка и т. д.
При записи произвольного выражения реляционной алгебры надо принимать во внимание следующее.
В реляционной алгебре должен быть определен приоритет выполнения операций (например, операция пересечения более приоритетна чем операция объединение), который нужно учитывать при записи выражений. Для изменения порядка выполнения операций в выражениях можно использовать круглые скобки.
Существуют тождественные преобразования, позволяющие по-разному записывать одно и то же выражение, Например, следующие выражения эквивалентны
(здесь А — отношение, С, C1, C2 — выражения):
A WHERE C1 AND C2 и (A WHERE C1) INTERSECT (A WHERE C2);
A WHERE C1 OR C2 и (A WHERE C1) UNION (A WHERE C2);
A WHERE NOT С и A MINUS (A WHERE C).
3. Составляя выражение, нужно обеспечивать совместимость участвующих в операциях отношений. При необходимости изменения заголовков следует выполнять переименование атрибутов.
Контрольные вопросы:
Перечислите базовые теоретико-множественные и специальные операции реляционной алгебры.
Опишите основные правила записи выражений.
Что представляет собой операция проекция?
Что представляют собой операции декартово произведение и деление?
Что означает совместимость структур отношений?
Охарактеризуйте операции реляционной алгебры объединение, вычитание, пересечение.
Опишите операции реляционной алгебры: соединение и переименование.
Достарыңызбен бөлісу: |