На этом этапе мы должны составить
проекты таблиц, которые будут в дальнейшем реализовываться в конкретной
СУБД. На этапе физического проектирования мы должны задуматься о такой
серьезной проблеме, как обеспечение безошибочности и точности информации,
хранящейся в БД. Это называется обеспечением целостности базы данных.
Обеспечением целостности
базы данных называется система мер, направленных на поддержание
правильности данных в базе в любой момент времени.
В СУБД целостность данных
обеспечивается набором специальных предложений, называемых ограничениями
целостности.
Ограничения целостности
- это набор определенных правил, которые устанавливают допустимость данных
и связей между ними.
Ограничения целостности
в большинстве случаев определяются особенностями предметной области.
Ограничения целостности
могут относиться к разным объектам БД: атрибутам (полям), записям, отношениям,
связям между ними и т. п.
Для полей могут использоваться
следующие виды ограничений:
-
Тип и формат поля автоматически допускают ввод только данных определенного
типа. Выбор типа поля Date в формате ДД.ММ.ГГ позволит пользователю ввести
только шесть чисел. При этом первая пара цифр не сможет превысить в лучшем
случае значения 31, а вторая - 12.
-
Задание диапазона значений, как правило, используется для числовых полей.
Диапазон допустимых значений может быть ограничен с двух сторон (закрытый
диапазон), а может с какой-то одной: верхней или нижней (открытый диапазон).
-
Недопустимость пустого поля позволяет избежать появления в БД «ничейных»
записей, в которых пропущены какие-либо обязательные атрибуты.
-
Задание списка значений позволяет избежать излишнего разнообразия данных,
если его можно ограничить.
-
Проверка на уникальность значения какого-то поля позволяет избежать записей-дубликатов.
Вряд ли будет удобно в справочнике клиентов иметь несколько записей для
одного и того же лица.
Для реализации ограничений целостности,
имеющих отношение к записям таблицам или связям между ними, в СУБД используются
триггеры.