Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РМД.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
7 Мб
Скачать
☆

Операции реляционной алгебры. Формулы исчисления кортежей

Существует много подходов к определению реляционной алгебры, которые различаются набором операций и способами их интерпретации. Рассмотрим традиционные операции над множествами, используемые в реляционных базах данных [2].

Объединение. Объединение в реляционной алгебре не полностью совпадает с математическим объединением, вернее, это особая форма объединения, в которой требуется, чтобы два исходных отношения были совместимо по типу.

Будем говорить, что два отношения совместимы по типу, если у них идентичные заголовки, а точнее:

  • если каждое из них имеет одно и то же множество имен атрибутов (следовательно, они должны иметь одну и ту же степень);

  • если соответствующие атрибуты (т.е. атрибуты с теми же самыми именами в двух отношениях) определены на одном и том же домене.

Операции объединения, пересечения и вычитания требуют от операндов совместимости по типу.

Объединением двух совместимых по типу отношений А и Б (A UNION Б) называется отношение с тем же заголовком, как и в отношениях А и Б, и с телом, состоящим из множества всех кортежей, принадлежащих А или Б или обоим отношениям.

Пример операции объединения отношений приведен на рисунке 1.4.

Рисунок 1.4 - Пример операции объединения отношений А и Б

Пересечение. Пересечением двух совместимых по типу отношений А и Б (A INTERSECT Б) называется отношение с тем же заголовком, как и в отношениях А и Б, и с телом, состоящим из множества всех кортежей, принадлежащих одновременно обоим отношениям A и Б.

Пример операции пересечения отношений приведен на рисунке 1.5.

Рисунок 1.5 - Результат операции пересечения отношений A и Б

Вычитание. Вычитанием двух совместимых по типу отношений А и Б (A MINUS B) называется отношение с тем же заголовком, как и в отношениях А и Б, и с телом, состоящим из множества всех кортежей, принадлежащих отношению A и не принадлежащих отношению B.

Пример операции вычитания отношений приведен на рисунке 1.6.

Рисунок 1.6 - Результат операции вычитания отношений A минус Б и Б минус A

Произведение. В математике декартово произведение (или для краткости произведение) двух множеств является множеством всех таких упорядоченных пар элементов, что первый элемент в каждой паре берется из первого множества, а второй элемент в каждой паре берется из второго множества. Следовательно, декартово произведение двух отношений, должно быть множеством упорядоченных пар кортежей. Но необходимо сохранить свойство замкнутости: результат должен содержать кортежи, а не упорядоченные пары кортежей.

Декартово произведение двух отношений А и Б (A TIMES Б), где А и Б не имеют общих имен атрибутов, определяется как отношение с заголовком, который представляет собой сцепление двух заголовков исходных отношений А и Б, и телом, состоящим из множества всех кортежей t, таких, что t представляет собой сцепление кортежа a, принадлежащего отношению А, и кортежа б, принадлежащего отношению Б.

Кардинальное число результата равняется произведению кардинальных чисел исходных отношений А и Б, а степень равняется сумме их степеней. Пример операции декартова произведения представлен на Рисунок 1.7

Явное использование операции декартова произведения требуется только для очень сложных запросов. Эта операция включена в реляционную алгебру главным образом по концептуальным соображениям. Декартово произведение требуется как промежуточный шаг при определении операции Q-соединения которая используется довольно часто.

Рисунок 1.7 - Результат операции декартово произведение отношений A и Б

Операции объединения, пересечения и декартова произведения (но не вычитания) обладают свойствами ассоциативности и коммутативности.

Пусть А, Б и В – произвольные реляционные выражения (дающие совместимые по типу отношения). Тогда операция объединения:

(A UNION Б) UNION В эквивалентна операции А UNION (Б UNION В) (свойство ассоциативности), а операция объединения:

А UNION Б эквивалентна операции Б UNION A (свойство коммутативности).

Аналогично свойства ассоциативности и коммутативности определяются для остальных операций.

Свойство ассоциативности позволяет записывать последовательные операторы объединения (пересечения и декартова произведения) без использования круглых скобок; таким образом, выражение из предыдущего примера можно однозначно упростить: A UNION Б UNION В.

Рассмотрим специальные реляционные операции.

Выборка. Выборка – это сокращенное название Q-выборки, где Q обозначает любой скалярный оператор сравнения (=, , >, , ≤, <). Q-выборкой из отношения A по атрибутам Х и Y (в этом порядке) A WHERE X Q Y называется отношение, имеющее тот же заголовок, что и отношение А, и тело, содержащее множество всех кортежей отношения А, для которых проверка условия X Q Y дает значение истина. Атрибуты X и Y должны быть определены на одном и том же домене, а оператор должен иметь смысл для этого домена.

На рисунке 1.8 приведен пример операции выборки.

Рисунок 1.9 - Исходное отношение A и результат операции выборки кортежей из отношения A по условию Номер региона = 1.