2.2. Ограничения целостности

В ER-модели предусмотрены следующие виды ограничений целостности.
A) Ограничения на значения атрибутов, которые являются элементом схемы (структуры) данных. Представляют собой явные указания множеств допустимых значений для некоторых или всех атрибутов, а также соотношения между значениями атрибутов, которые должны выполняться. Множество значений может быть задано несколькими способами, в том числе перечислением допустимых значений, указанием типа (int, float, string и т.д.) или указанием условия принадлежности. В описаниях функций принадлежности и при определении допустимых отношений можно применять операции сравнения, логические связки и другие средства используемого языка определений ограничений целостности. На ER-диаграмме ограничения этого типа показаны в овалах.
B) Ограничения по методу ключа. Ключом сущности или связи называют атрибут (в случае простого ключа) или группу атрибутов (в случае составного ключа), значение которого(ых) уникально в данном множестве сущностей или связей. Ключ однозначно идентифицирует сущность или связь в соответствующем множестве. На ER-диаграмме ключевые атрибуты (в случае простых ключей) целесообразно выделять жирными дугами.
C) Ограничения по типу связи. Можно указать кардинальные числа сущностей в каждой связи. Совокупность этих чисел называется типом данной связи. Модель допускает только связи с кардинальными числами «1» и «М» («N», бесконечность). Тип связи «М:№> практически указывает на отсутствие ограничений. Максимальные кардинальные числа (тип связи) проставляются на ER-диаграмме.
D) Ограничения по существованию. Иногда сам факт существования сущности зависит от существования какой-либо связи данной сущности с другой сущностью (в этом случае минимальное кардинальное число данной сущности равно 1, а не 0). Тогда соответствующее множество сущностей называется множеством слабых сущностей относительно данной связи. В противном случае, множества сущностей и связей называются множествами регулярных сущностей и связей. По умолчанию все множества являются регулярными. Множества слабых сущностей на ER-диаграмме обозначаются с помощью двойных линий.
Приведем пример (рис. 7).