Формальное определение отношения (ре­ляционной таблицы) опирается на представление о ее доменах (столбцах) и кортежах (строках). Отношением , определенным на множествах доменов , называется подмножество декартова (прямого) произведения доменов .

Таблица-отношение содержит столбцы с значениями атрибутов . Значения атрибутов находятся в содержательной части таблицы и образуют строки и столбцы. Множество значений атрибутов в одном столбце образует один домен . Множество значений атрибутов в одной строке образуют один кортеж Отношение образуется множеством упоря­доченных кортежей

, где

— число доменов отношения; определяет размерность отношения;

— номер кортежа;

— общее число кортежей в отношении, называемое координатным числом отношения.

Для соблюдения условия уникальности кортежи должны иметь уникальный идентификатор — первичный ключ. Первичный ключ называется простым, если он состоит из одного атрибута, или составным, если из нескольких. Кроме первичного ключа, в отношении могут существовать  вторичные ключи. Значения вторичного ключа могут повторяться в разных кортежах. По ним можно вести поиск групп строк с одинако­вым значением вторичного ключа.

Реляционная модель данных характеризуются наличием некоторых типов таб­лиц и ключей, позволяющих определить отношения между таблицами. Для того чтобы понять принципы проектирования реляционных баз данных и усвоить правила нормализации, требуется дать определения различных типов реляционных ключей и таблиц:

НЕ нашли? Не то? Что вы ищете?

1. Базовая таблица. В реляционной модели данных базовой таблицей на­зывается таблица, которая включает один или несколько столбцов свойств объекта и содержит первичный ключ, который однозначно определяет этот объект. Более того, базовая таблица должна содер­жать первичный ключ. Базовые таблицы часто называют первичными, поскольку они имеют первичный ключ.

2. Промежуточная таблица. Таблица, не являющаяся базовой (т. к. она не объединяет свойства объекта или не содержит поле первичного ключа), которая используется для обеспечения связей между другими таблицами, называется таблицей отношений. Ключевые поля в таб­лицах отношений должны быть внешними ключами, связанными с первичными ключами базовой таблицы. Таким образом, таблица отношений состоит только из внешних клю­чей и не содержит независимых элементов данных.

3. Первичный ключ. Первичный ключ состоит из набора значений, ко­торые однозначно определяют строку базовой таблицы. Любому зна­чению первичного ключа должна соответствовать одна и только одна строка таблицы. Первичный ключ включает одно поле только в том случае, если это поле не содержит повторяющихся значений.

4. Ключи-кандидаты. Любой столбец или группа столбцов, которые удовлетворяют требованиям, накладываемым на значения первич­ного ключа, являются кандидатами на то, чтобы стать первичным ключом. Например, имя и серия паспорта являются ключами-кандидатами для идентификации гражданина России. Тем не менее номер и серию паспорта использовать предпочтительнее, т. к. два человека могут носить одинаковые имена, но у них не может быть законно полученных паспортов с одинаковыми номерами и сериями.

5. Составные ключи. Если для выполнения условий, накладываемых на значения первичного ключа, заданный ключ включает несколько по­лей таблицы, то тогда он называется составным.

6. Внешние ключи. Внешний ключ — это столбец, значения которого со­ответствуют значениям первичного ключа другой связанной таблицы. Такой ключ может состоять как из одного, так и из нескольких столб­цов (составной внешний ключ). Если число полей внешнего ключа меньше, чем количество столбцов соответствующего первичного клю­ча, то он называется частичным, или усеченным внешним ключом.

На рис. 2.4 приведен пример реляционной модели, содержащей информацию о договорах. Такая же информация была пред­ставлена на рис. 2.1 с использованием иерархической организации данных в модели. Как видно из сопоставления этих примеров, в иерархической модели имело место дублирование данных об одних и тех же заказчиках и об одинаковых изделиях в разных договорах.

Рис. 2.4 Пример реляционной модели

В таблицах этой реляционной модели данных содержатся только атрибуты соответ­ствующих объектов ДОГОВОР (номер, дата, код заказчика, сумма по договору), ИЗДЕЛИЕ (код, наименование, ед. измерения, цена), ЗАКАЗЧИК (код, наимено­вание, адрес, банк), ЗАКАЗ (код изделия, минимальная партия, месяц, плановое количество, сумма). На связях между таблицами указаны внешние ключи.

Основные операции реляционной алгебры

Операции обработки данных включают операции над строками (кортежами) таб­лиц (отношений) и операции над отношениями, осуществляющие обработку данных нескольких отношений.

Операции над строками

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

При включении в таблицу добавляется новая строка (кор­теж). Для выполнения этой операции требуется задать имя таблицы и указать значения атрибутов новой строки (значения ключа задается обязательно).

При удалении из таблицы удаляется строка. Для выполнения этой операции требуется задать имя таблицы и указать значение первичного ключа удаляемой строки. Для удаления группы строк надо задать значение вторичного ключа.

При обновлении осуществляется изменение значений атрибутов в строках. Для обновления требу­ется задать имя таблицы, значение первичного ключа для идентификации обнов­ляемой строки, а также указать имена атрибутов и их новые значения.

Операции над таблицами-отношениями

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

Рассмотрим основные операторы языка реляционной алгебры.

Объединение — операция выполняется над двумя отношения­ми , с идентичной структурой  (такие отношения называются совместимыми). В результате операции объе­динения строится новое отношение . Отношение имеет тот же состав атрибутов и совокупность кортежей исходных отношений. Причем в эту совокупность не включаются дубликаты.

Пример. Ниже приведены исходные отношения: «Клиенты банка А» (табл. 2.1) и «Клиенты банка В» (табл. 2.2) и результат объединения — (табл. 2.3).

В новое отношение не вошел кортеж , так как он дублирует кортеж .

Пересечение — операция выполняется над двумя совместимыми отношениями , . Результирующее отношение содержит одинаковые кортежи, которые есть в каждом из двух исходных. Результат пересечения имеет тот же состав атрибутов, как и в исходных.

Пересечение двух отношений «Клиенты банка А» и «Клиенты банка В» дает  отношение «Клиент» (табл. 2.4).

Таблица 2.4 Клиенты



Город


Фамилия


К11


Москва


Петров



Вычитание — операция выполняется над двумя совместимыми отношениями , . В результате операции вычитания стро­ится новое отношение , с идентичным набором атрибутов, содержа­щее только те кортежи первого отношения , которые не повторяются в отношении . Вычитание отношения  «Клиенты банка В» из отношения «Клиенты банка А» ( ) дает отношение:

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6