Приведём определение отношения в терминах реляционной алгебры. Отношение - это подмножество декартова произведения доменов. Домен - это множество значений, которое может принимать элемент (например, множество целых чисел, множество комбинаций символов длиной N и т.п.).
Пусть D1, D2 ,…, Dk - произвольные конечные и не обязательно различные множества (домены). Декартово произведение этих множеств определяется следующим образом:
Таким образом, декартово произведение позволяет получить все возможные комбинации элементов исходных множеств.
Пример. Для доменов D1 = (1,2), D2 = (A,B,C) декартово произведение D будет таким:
D = {(1,A), (1,B), (1,C), (2,A), (2,B), (2,C)}.
Подмножество декартова произведения доменов называется отношением.
Операции реляционной алгебры
Операндами для операций реляционной алгебры являются реляционные отношения. Результатом выполнения операций реляционной алгебры также является отношение. Использование реляционной алгебры накладывает на отношения два ограничения: порядок столбцов (полей) в отношении фиксирован; отношения конечны.
Существует пять основных операций реляционной алгебры - проекция, селекция, декартово произведение, разность, объединение - и три вспомогательных: соединение, пересечение и деление. Вспомогательные операции могут быть выражены через основные, но во многих системах реализуются отдельно для удобства пользователей.
Существует много подходов к определению реляционной алгебры, которые различаются набором операций и способами их интерпретации, но в принципе, более или менее равносильны. Приведём немного расширенный начальный вариант алгебры, который был предложен Коддом. В этом варианте набор основных алгебраических операций делится на два класса - теоретико-множественные операции и специальные реляционные операции. В состав теоретико-множественных операций входят операции:
• объединения отношений;
• пересечения отношений;
• взятия разности отношений;
• декартова произведения отношений.
Специальные реляционные операции включают:
• ограничение отношения( селекция, фильтрация);
• проекцию отношения;
• соединение отношений;
• деление отношений.
Кроме того, в состав алгебры включается операция присваивания, позволяющая сохранить в базе данных результаты вычисления алгебраических выражений, и операция переименования атрибутов, дающая возможность корректно сформировать заголовок (схему) результирующего отношения.
1.Объединение (union, обозначается "U") - это бинарная операция над односхемными отношениями ( т.е.над отношениями, имеющими эквивалентные схемы) R и S, результатом которой является отношение, включающее все кортежи обоих отношений без повторов.
2.Пересечение (intersection, обозначается "∩") - это бинарная операция над односхемными отношениями R и S, результатом которой является подмножество кортежей, принадлежащих обоим исходным отношениям.
3.Разность (set difference, обозначается "-") - это бинарная операция над односхемными отношениями (R-S), результатом которой является множество кортежей отношения R, не принадлежащих отношению S.
4.Декартово произведение (cartesian product, обозначается "×") соответствует определению декартова произведения для РМД
5.Селекция (selection, обозначается "σ") - это унарная операция, результатом которой является подмножество кортежей исходного отношения, удовлетворяющих условиям, которые накладываются на значения определённых атрибутов.
6.Проекция (projection, обозначается "π") - это унарная операция (выполняемая над одним отношением), служащая для выбора подмножества атрибутов из отношения R. Она уменьшает арность отношения и может уменьшить его мощность, исключая одинаковые кортежи.
7.Соединение (join, обозначается " ") - это бинарная операция над разносхемными отношениями (эквивалентность схем необязательна) R и S. Кортежи результирующего отношения содержат все атрибуты обоих отношений (возможно, за исключением повторов). В общем случае соединение происходит по условию, которое определяет соотношение между значениями атрибутов из разных отношений. Если этим условием является равенство значений атрибутов, такое соединение называется эквисоединением. Естественным называется эквисоединение, построенное по условию равенства значений одинаковых атрибутов кортежей исходных отношений.
Фактически, соединение является подмножеством декартова произведения, для которого выполняется некоторое условие.
8.Деление (division, обозначается "/") - это бинарная операция над разносхемными отношениями R и S. Пусть отношение R содержит атрибуты {r1,r2,...,ri,...,rn}, а отношение S - атрибуты {r1,r2,...,ri}. Результирующее отношение содержит атрибуты {ri+1,...,rn}. Кортеж включается в результирующее отношение, если его декартово произведение с отношением S входит в R.
Реляционная алгебра
Статьи по предмету «Web-программирование»