Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Белобжеский_Лекции_по_ББД.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
5.5 Mб
Скачать

Целостность сущностей

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

Целостность сущностей - в базовом отношении ни один атрибут первичного ключа не может содержать отсутствующих значений, обозначаемых определителем NULL.

По определению, первичный ключ — это минимальный идентификатор, который используется для уникальной идентификации кортежей. Это значит, что никакое подмножество первичного ключа не может быть достаточным для уникальной иден­тификации кортежей. Если допустить присутствие определителя NULL в любой части первичного ключа, это равноценно утверждению, что не все его атрибуты необходимы для уникальной идентификации кортежей, что противоречит определению первичного ключа. Например, поскольку Код является первичным ключом отношения КАФЕДРА, то нельзя допустить вставку в отношение КАФЕДРА кортежа с определителем NULL в атрибуте Код.

Если рассмотреть это правило более внимательно, то можно заметить несколько его необычных свойств. Во-первых, почему оно применяется к первичным ключам, но не используется в отношении альтернативных ключей? Во-вторых, почему оно ограничивается только базовыми отношениями? Например, используя данные отношения КАФЕДРА, предположим, что для некоторых кафедр номера телефонов неизвестны. Рассмотрим выполнение следующего запроса: "Создать спи­сок номеров телефонов всех кафедр института". Результатом этого запроса является унарное отношение из единственного атрибута Тел. По определению, этот атрибут должен быть первичным ключом нового отношения, но среди его значений содержится определитель NULL (соответствующий номеру неизвестного телефона кафедры). Поскольку это отношение не является базовым, реляционная модель допуска­ет присутствие определителя NULL в его первичном ключе. Недавно было предпринято несколько попыток переопределения этого правила (Codd, 1988; Date, 1990).

Ссылочная целостность

Второе ограничение целостности касается внешних ключей.

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

Например, атрибут <Код кафедры> в отношении ПРЕПОДАВАТЕЛИ является внешним ключом, который ссылается на атрибут Код базового отношения КАФЕДРА. Система должна предотвращать любые попытки создать запись с информацией о сотруднике кафедры, имеющей номер '07', до тех пор, пока в отношении КАФЕДРА не будет создана запись, содержащая сведения о кафедре с номером 07. Однако считается допустимым созда­ние записи с информацией о новом преподавателе с указанием определителя NULL вместо номера кафедры, на которой преподаватель работает. Такая ситуация может иметь место в том случае, когда преподаватель зачислен в штат института, но еще не приписан к какой-нибудь конкретной кафедре

Корпоративные ограничения целостности

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

Пользователи сами могут указывать дополнительные ограничения, которым должны удовлетворять данные. Например, если на одной кафедре не может работать больше 20 преподавателей, то пользователь может указать это правило, а СУБД следить за его выполнением. В этом случае в отношение ПРЕПОДАВАТЕЛИ нельзя будет добавить строку со сведениями о новом преподавателе некоторой кафедры, если на данной кафедре уже насчитывается 20 преподавателей. К сожалению, уровень поддержки реляционной целостности в разных системах существенно варьирует.