Для пользователей АИС важно, чтобы база данных отображала предметную область однозначно и непротиворечиво, т. е. чтобы она удовлетворяла условию целостности.
Выделяют два основных типа ограничений по условию целостности:
1. Каждая строка таблицы должна отличаться от остальных ее строк значением хотя бы одного столбца.
Пример 1.2. Сотрудники отдела могут оказаться полными тезками, родившимися в один и тот же день. Чтобы не нарушить условия целостности, добавляем в таблицу новый столбец — «№ пропуска», превращая ее в отношение (см. рис. 1.4). Таким образом, первое ограничение обеспечивается наличием в таблице — отношении первичного ключа.
2. Внешний ключ не может быть указателем на несуществующую строку той таблицы, на которую он ссылается. Это ограничение называется ограничением целостности по ссылкам.
Пример 1.3. В столбце Название отдела таблицы «СОТРУДНИК» (см. рис. 1.4) хранятся сведения о принадлежности сотрудников к отделу. Здесь Название отдела является внешним ключом для ссылки на таблицу «ОТДЕЛ». Для обеспечения ограничения целостности по ссылкам каждое Название отдела из таблицы «СОТРУДНИК» должно принадлежать конкретному отделу из таблицы «ОТДЕЛ».
В реальных базах данных названия не делают ключевыми из-за их длины (замедление процесса поиска), а также из-за того, что они могут изменяться (сложности с сопровождением системы).
|