Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие(А4).doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
3.19 Mб
Скачать

7.6.3 Целостность реляционных данных

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

  1. значения атрибутов, т.е. данные, расположенные на пересечении строки и столбца, являются атомарными (неделимыми, элементарными);

  2. в отношении не может быть двух одинаковых кортежей;

  3. порядок следования атрибутов в отношении фиксирован, но поскольку атрибуты имеют имя, порядок не играет существенной роли и атрибуты могут обрабатываться в любой последовательности;

  4. порядок следования кортежей безразличен.

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

Существует определенная аналогия между структурой отношения и организацией данных, предусмотренной в операционных системах: атрибут отождествляется с полем записи, схема отношения — с типом записи, кортеж — с экземпляром записи, отношение — с файлом. В состав РМД может входить несколько отношений, каждое из которых имеет свою схему. Поэтому под реляционной моделью данных будем понимать набор схем отношений, удовлетворяющих указанным выше требованиям.

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

Применительно к понятию «файл данных» внутренние ограничения целостности формулируются следующим образом:

  1. количество полей и их порядок в файле должно быть фиксированным (т.е. записи файла должны иметь одинаковые длину и формат);

  2. каждое поле должно моделировать элемент данных (неделимую единицу данных фиксированного формата, к которому СУБД может адресоваться непосредственно);

  3. в файле не должно быть повторяющихся записей.

СУБД, основанные на РМД, поддерживают и явные ограничения целостности. На практике они определяются зависимостями между атрибутами.

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

Помимо первичных и альтернативных ключей, идентифицирующих данное отношение, есть еще внешний ключ. В общем случае внешний ключ — это атрибут или комбинация атрибутов одного отношения R", значение которого обязательно должно совпадать со значением первичного ключа некоторого другого отношения R', причем внешний и первичный ключи должны быть определены на одних и тех же доменах. Внешние ключи в неявном виде связывают отношения. Примером внешнего ключа является атрибут «Номер поставщика».

Целостность реляционной модели данных определяется двумя общими правилами.

1) Целостность по сущностям. Не допускается, чтобы какой-либо атрибут, участвующий в первичном ключе базового отношения, принимал неопределенные значения. Базовым отношением называют независимое именованное отношение. Мотивировка правила определяется тем, что базовые отношения соответствуют сущностям в реальном мире, а следовательно, отличимы друг от друга, т.е. имеют уникальную идентификацию. В реальной же модели функцию уникальной идентификации выполняют первичные ключи, и, таким образом, ситуация, когда первичный ключ принимает неопределенное значение, является противоречивой и говорит о том, что некоторая сущность не обладaeт индивидуальностью, а значит, не существует. Отсюда и звание — целостность по сущностям.

2) Целостность по ссылкам. Если базовое отношение R" включает некоторый внешний ключ FK, соответствующий некоторому первичному ключу какого-либо базового отношения R", то каждое значение FK и R"должно быть равным значению в некотором кортеже R" либо полностью неопределенным. Например, имеется вакансия на должность в некоторый отдел. Для такой должности атрибут «Фамилия служащего», являющийся внешним ключом, имеет неопределенное значение в кортеже, представляющем эту штатную должность отдела