Какими должны быть сущности
- каждой сущности отдельную таблицу
- поля в таблицах сущностей могут быть ключевыми и не ключевыми.
- обычно достаточно простого ключа, но может быть и составной.
- информацию о сущностях следует представлять так, чтобы не ключевые поля в таблицах были взаимно независимыми и полностью зависели от ключа.
Организация связей сущностей
- Записи таблицы связей предназначены для отображения связей между сущностями, информация о которых находится в соответствующих таблицах.
- Одна таблица связей описывает связь между двумя сущностями.
- Более сложные связи необходимо сводить к бинарным.
- Транзитивных связей не должно быть.
Обеспечение целостности
Целостность - свойство базы данных, означающее, что она содержит полную, непротиворечивую, адекватно отражающую предметную область информацию.
Логическая целостность БД - это отсутствие нарушений структуры БД или ее объектов, при удалении или изменении связей между объектами.
|
|
Поддержание целостности - это проверка целостности и восстановление в случае нарушения.
Целостное состояние задается с помощью ограничений целостности в виде условий, которым должны удовлетворять хранимые данные.
Основные ограничения:
- Ограничения значений атрибутов отношений
- Структурные ограничения на кортежи отношений
- Целостность ссылок
Примером ограничений значений атрибутов отношений является требование недопустимости пустых или повторяющихся значений в атрибутах, а также контроль принадлежности атрибутов заданному диапазону.
Структурные ограничения определяют требования целостности сущностей и целостности ссылок. Целостность сущностей состоит в том, что любой кортеж отношения должен быть отличим от любого другого кортежа этого отношения.
Целостность ссылок связана с понятием внешнего ключа. Отношение, в котором определен внешний ключ, ссылается на отношение, в котором этот же атрибут является первичным ключом (дочернее отношение). Требование целостности состоит в том, что для каждого значения внешнего ключа родительской таблицы должна найтись строка в дочерней таблице с таким же значением первичного ключа.
Долж и Стаж – первичные ключи для R3, R2 и внешние ключи для таб R1.