Основная идея реляционной алгебры – если отношения являются множествами, то средства манипулирования отношениями могут базироваться на традиционных теоретико-множественных операциях, дополненных некоторыми специальными операциями, специфичными для баз данных.
Набор основных алгебраических операций состоит из восьми операций, которые делятся на два класса - теоретико-множественные операции и специальные реляционные операции.
Теоретико-множественные операций включают:
- объединения отношений; UNION
- пересечения отношений; INTERSECT
- взятия разности отношений; MINUS
- прямого (декартово) произведения отношений. TIMES
Специальные реляционные операции включают:
- ограничение отношения; WHERE
- проекцию отношения; PROJECT
- соединение отношений; TIMES … WHERE
- деление отношений. DIVIDEBY
Кроме того, в состав алгебры включается:
- операция присваивания (:=), позволяющая сохранить в базе данных результаты вычисления алгебраических выражений,
- операция переименования атрибутов (RENAME), дающая возможность корректно сформировать заголовок (схему) результирующего отношения.
Замкнутость реляционной алгебры
Реляционная алгебра представляет собой набор операторов, использующих отношения в качестве аргументов и возвращающих отношения в качестве результата. Таким образом, реляционный оператор f выглядит как функция с отношениями в качестве аргументов: R = f(R1, R2, …, Rn)
Реляционная алгебра является замкнутой, так как в качестве аргументов в реляционные операторы можно подставлять другие реляционные операторы, подходящие по типу:
R = f(f1(R11, R12, …), f2(R21, R22,…),…)
Реляционная алгебра Кодда. Теоретико-множественные операции. Совместимость отношений по объединению и по расширенному декартовому произведению.
Основная идея реляционной алгебры – если отношения являются множествами, то средства манипулирования отношениями могут базироваться на традиционных теоретико-множественных операциях, дополненных некоторыми специальными операциями, специфичными для баз данных.
Теоретико-множественные операции:
Объединение
Отношение с тем же заголовком, что и у совместимых по типу отношений A и B, и телом, состоящим из кортежей, принадлежащих или A, или B, или обоим отношениям.
Синтаксис: A UNION B
Пересечение
Отношение с тем же заголовком, что и у отношений A и B, и телом, состоящим из кортежей, принадлежащих одновременно обоим отношениям A и B.
Синтаксис: A INTERSECT B