2.7. Моделирование ограничений

До сих пор мы рассматривали моделирование с помощью множеств сущностей, связей и атрибутов. Однако существуют аспекты, моделировать которые с помощью этих средств невозможно. Дополнительная информация об объектах реального мира может быть облечена в форму определенных ограничений (constraints), которые никак не связаны со структурными и «типовыми» ограничениями.

Классификация ограничений

Следующий перечень наиболее распространенных ограничений.

1.      Ключ (key) – атрибут или подмножество атрибутов уникальным образом определяющие конкретную сущность в составе множества. Никакие две сущности в пределах данного множества не могут иметь одинаковый ключ.

2.      Ограничение уникальности (single-value constraint) определенное значение в некотором контексте должно быть уникальным. Ключи это основной поставщик уникальности. Есть и другие источники уникальности – например связи «многие к одному»

3.      Ограничение ссылочной целостности (referential integrity constraint) – некоторое значение, на которое ссылается другой объект должно существовать в базе данных.

4.      Ограничение домена (domain constraint) – значение атрибута должно выбираться из некоторого конечного множества значений или принадлежать определенному диапазону значений.

5.      Ограничение общего вида (general constraint) произвольное требование которое должно быть зафиксировано в базе данных.

Ограничения играют важную роль в моделировании данных. Например ключи позволяют однозначно идентифицировать объекты реального мира.

Ключи и ER моделирование

Говоря строго ключ для множества сущностей E – это множество K состоящее из одного или нескольких атрибутов множества E, такое, что для любых двух различных сущностей e1 и e2 значения атрибутов, составляющие множество K различны.

Важные положения:

·         Каждое множество сущностей должно обладать ключом. Только в этом случае мы можем гарантировать достоверность информации.

·         Ключ может состоять более чем из одного атрибута

·         Для каждого множества сущностей допускается наличие нескольких ключей

·         Если множество сущностей вовлечено в иерархию связей isa, то корневое множество сущностей должно обладать всеми атрибутами необходимыми для формирования ключа.

В диаграммах ключевые атрибуты выделяют подчеркиванием.

Ограничение ссылочной целостности

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

Создание новых сущностей.

Удаление сущностей.

Принудительное удаление сущностей.

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

Рисунок 10 TR-диаграмма с обозначениями ограничений ссылочной целостности

 

 

 

 

Ограничения других видов

Для моделирования произвольных ограничений ER-диаграммы не предусматривают никаких специальных средств. Для того чтобы показать ограничение, нужно атрибут или связь сопроводить примечанием, описывающим ограничение.