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