Реляционная модель данных
Выбор из отношения
Операция выбора ( селекции ) выполняется над одним отношением А. Результатом выполнения операции выбора является отношение С, которое включает в себя кортежи отношения А, удовлетворяющие заданному условию (критерию выбора). Операция выбора из отношения может быть представлена следующим образом:
где s обозначает операцию выбора, F - критерий выбора на множестве атрибутов в форме логического выражения, образованного с помощью определенных операндов (константы, имена атрибутов, арифметические операции сравнения, логические операции).
Пример. Селекция отношения. Произведем выбор из отношения СЛУЖАЩИЕ по критерию "Возраст >= 30". Исходное отношение: СЛУЖАЩИЕ (#, Фамилия, Возраст)
Критерий выбора: Возраст >= 30
Результирующее отношение:
СЛУЖАЩИЕ (#, Фамилия, Возраст)
Соединение отношений
Операция q - соединения выполняется над двумя отношениями А и В. Результатом выполнения операции -соединения является отношение С, которое включает в себя все кортежи со всеми атрибутами исходных отношений А и В, удовлетворяющими заданному условию. В каждом отношении выделяется атрибут, по которому выполняется соединение.
Операция соединения отношений может быть представлена следующим образом:
где n - степень отношения Q_a ; - арифметический оператор сравнения; i, j - номера атрибутов в Q_a и Q_b соответственно, по которым выполняется соединение.
Рассмотрим частные случаи -соединения.
Если есть арифметический оператор равенства, то такое соединение называется эквисоединением. При этом имена атрибутов исходных отношений могут не совпадать.
Различают еще естественное соединение, когда оба отношения имеют набор одинаковых по именам и типам атрибутов. Соединение выполняется по всему набору совпадающих атрибутов. Пусть R1 (A1, A2,..., An, B1, ...) и R2 (A1, A2, ..., An, C1, ...) - исходные отношения, тогда естественное соединение может быть вычислено следующим образом для одного атрибута:
- вычислим ;
- для каждого атрибута А, который именует некоторую колонку в R1 и какую-либо колонку в R2, выберем те кортежи из у которых совпадают значения в колонках R1.А и R2.А, где R1.А - имя колонки в соответствующее колонке А из R1. Аналогично для R2.А.;
- для каждого указанного выше атрибута А удалим из кортежа R2.А. Формально, если A1, A2, ..., An являются именами атрибутов, используемых и в R1, и в R2, то естественное соединение Qc = R1 >< R2 есть
Пример. Соединение отношений. Выполним операцию естественного соединения отношений ЭКЗАМЕН_ВЕДОМОСТЬ и ГРУППА по атрибуту "Группа". Исходные отношения: ЭКЗАМЕН_ВЕДОМОСТЬ (Студент, Дисциплина, Оценка, Группа)
ГРУППА (Курс, Группа, Наименование)
Результирующее отношение:
РЕЗУЛЬТАТ (Студент, Дисциплина, Оценка, Группа, Курс, Наименование)
Таким образом, в этом разделе мы ввели понятие отношения как подмножества декартового произведения доменов, определили ряд алгебраических операций на отношениях. Зачем это нужно? Эти понятия являются фундаментальными в реляционной теории баз данных. Данные в реляционной модели представляются в виде набора множеств и сохраняются в реляционных базах данных как множества строк таблиц. Запросы к этим данным в СУБД формулируются в терминах операций над множествами. Реляционные операции, применяемые в реляционной модели данных, выполняются на множествах кортежей, результатами их выполнения также являются множества кортежей. Проектировщик реляционной базы данных должен помнить, что он имеет дело с множествами, представленными в виде таблиц в базе данных.
Литература: [1], [2], [3], [4], [5], [6], [11], [14], [15], [16], [20], [37], [39], [42], [43], [44], [45], [47].