- •7. Ограничения уникальности
- •7. Ссылочная целостность и er-диаграммы
- •7. Ограничения ссылочной целостности
- •7. Ограничения других видов.
- •17. Минимальное покрытие множества функциональных зависимостей
- •27. Многозначные зависимости. Теорема Фейджина. Четвертая нормальная форма
- •27. Лемма Фейджина
- •27. Теорема Фейджина
- •37. Подзапросы
- •37. Коррелированные подзапросы
- •Простые объявления схем отношений
- •Модификация реляционных схем
- •Значения по умолчанию
- •Индексы
7. Ограничения уникальности
Важным свойством некоторого объекта базы данных зачастую является то, что он может описываться не более чем одним значением. Так, например, конкретной сущности "кинофильм" соответствуют строго определенные значения атрибутов "название", "год производства", "продолжительность" и "тип", а "владеет" кинофильмом только одна "киностудия".
Существует несколько ситуаций, в которых ограничения уникальности (single-value constraints) проявляют себя в рамках ER-модели,
1. Некоторый атрибут множества сущностей обладает единственным значением. Иногда допускается отсутствие значения атрибута для отдельных сущностей множества, и в подобных случаях приходится "изобретать" какое-то "нулевое" значение, используемое по умолчанию.
2. Связь R типа "многие к одному", соединяющая множества сущностей Е и F в направлении от Е к F, подразумевает наличие ограничения уникальности. Другими словами, для каждой сущности е множества Е имеется не более одной связанной с ней сущности / множества F. Или, в общем случае, если R представляет собой многостороннюю связь, тогда каждая из стрелок, "выходящая" из R, выражает ограничение уникальности. В частности, если существует стрелка, соединяющая связь R с множеством сущностей Е, в составе Е имеется не более одной сущности, ассоциированной с определенным набором сущностей из всех остальных множеств, охватываемых связью R.
7. Ссылочная целостность и er-диаграммы
Правила применения стрелок в ER-диаграммах могут быть расширены с целью обеспечения возможности отображения ограничений ссылочной целостности связей в одном или нескольких направлениях. Предположим, что R — это связь, соединяющая множества сущностей Е и F в направлении от Е к F. Тогда полукруглая стрелка, указывающая на F, не только свидетельствует о том, что связь, соединяющая множества Е и F, относится к типу "многие к одному" или "один к одному", но и отображает требование обязательного наличия в F сущности, на которую ссылается определенная сущность из Е. Те же соображения применимы и к случаю, когда R соединяет между собой более двух множеств сущностей.
7. Ограничения ссылочной целостности
Если ограничения уникальности (single-value constraints) декларируют возможность существования не более одного значения, выступающего в определенной роли, ограничения ссылочной целостности (referential integrity constraints) подразумевают наличие в точности одного такого значения. Требование о том, чтобы атрибут обладал единственным возможным значением, отличным от null, можно рассматривать как разновидность ограничений ссылочной целостности, но чаше последние используются для описания свойств связей между множествами сущностей.
7. Ограничения других видов.
Ограничения домена {domain constraints) предполагают, что значения атрибута должны выбираться из определенного конечного множества или принадлежать ограниченному диапазону изменения. Простой пример использования ограничений домена связан с объявлением типа атрибута. Более строгое ограничение предусматривает определение некоторого перечислимого типа атрибута либо диапазона значений. Так, например, значение атрибута length ("продолжительность") множества сущностей Movies было бы уместно задавать в виде целого числа, выраженного в минутах и принадлежащего интервалу от 0 до 240. ER-модель не содержит специальных выразительных средств, позволяющих описать ограничения домена, но не запрещает размещать на диаграмме вместе с атрибутом необходимые текстовые примечания.
Существуют и иные разновидности ограничений, которые нельзя отнести ни к одной из категорий, рассмотренных выше. Вполне вероятна, например, такая ситуация, когда следует ограничить количество возможных сочетаний сущностей множеств, охватываемых определенной связью (скажем, одна сущность "кинофильм" должна быть соединена не более чем с десятью сущностями "актер"). ER-модель позволяет включить в диаграмму соответствующее ограничивающее значение, поместив его в непосредственной близости от линии, соединяющей связь и множество сущностей.