Основы современных компьютерных технологий


Обеспечение целостности БД


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

243

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

Структурные ограничения фиксируют два требования целостности, которые должны поддерживаться реляционными СУБД: требование целостности сущностей и целостности ссылок. Каждому экземпляру сущности, представленному в отношении, соответствует только один его кортеж. Первое требование состоит в том, что любой кортеж отношения должен быть отличим от любого другого кортежа этого отношения, иными словами, любое отношение должно обладать первичным ключом.

Формулировка второго требования тесно связана с понятием внешнего ключа. Напомним, что внешние ключи служат для связи отношений (таблиц БД) между собой. При этом атрибут одной таблицы, назовем ее родительской, служащий для связи ее с другой таблицей - дочерней, в которой он является первичным ключом - называется внешним ключом данного отношения (таблицы). Говорят, что отношение, в котором определен внешний ключ, ссылается на отношение, в котором этот же атрибут является первичным ключом.

Требование целостности по ссылкам состоит в том, что для каждого значения внешнего ключа родительской таблицы должна найтись строка в дочерней таблице с таким же значением первичного ключа. Например, если в отношении R1 (рис. 19.11) содержатся


Рис. 19.11. Связь отношений с помощью внешнего ключа

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

244

243 :: 244 :: Содержание




Начало  Назад  Вперед