Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД / УМК СУБД.docx
Скачиваний:
572
Добавлен:
09.02.2016
Размер:
2.51 Mб
Скачать

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

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

Целостность данных- это система правил Microsoft Access, которая используется для проверки допустимости отношений между записями связанных таблиц и для того, чтобы не позволить случайно удалить или изменить связанные данные. Настроить проверку целостности данных можно при соблюдении всех указанных ниже условий.

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

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

В РМД существует два вида внутренних ограничений целостности.

  1. Целостность по существованию – потенциальный ключ отношения не может иметь пустого значения (NULL).

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

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

  4. Обе таблицы принадлежат к одной и той же базе данных Microsoft Access. Если таблицы связаны, то они должны иметь формат Microsoft Access, а для настройки целостности данных необходимо открыть ту базу данных, в которой они хранятся. Обеспечить целостность данных для таблиц, находящихся в базах данных другого формата, невозможно.

  5. Невозможно присвоить полю внешнего ключа связанной таблицы значение, отсутствующее в списке значений первичного ключа главной таблицы. При этом можно задать для внешнего ключа пустое значение (Null), указав, что записи не связаны. Например, нельзя создать заказ для несуществующего клиента, но можно создать заказ, не присвоенный ни одному из клиентов, задав для поля "Клиент" пустое значение. 6. Невозможно удалить запись из главной таблицы, если в связанной таблице есть соответствующие ей записи. Например, нельзя удалить запись сотрудника из таблицы "Сотрудники", если ему назначены заказы в таблице "Заказы". 7. Невозможно изменить значение первичного ключа в главной таблице, если с данной записью связаны другие записи. Например, нельзя изменить ИД сотрудника в таблице "Сотрудники", если ему назначены заказы в таблице "Заказы".

Соседние файлы в папке СУБД