Модели и проектирование баз данных

Свойства связей и сущностей


1.4.5.1 Арность. До сих пор в наших примерах фигурировали только связи между двумя сущностями – бинарные. Однако в реальном мире могут встречаться связи между тремя и более сущностями. Например, если нужно фиксировать факты поставок деталей, выполненных поставщиками для различных изделий, то в модели должны быть определены сущности ПОСТАВЩИК, ДЕТАЛЬ и ИЗДЕЛИЕ и тернарная связь, т.е. отношение, включающее возможные ключи этих трех сущностей. Возможны также унарные связи, т.е. связи между экземплярами одной и той же сущности.

 

Итак, связь характеризуется арностью (степенью) – числом вступающих в нее сущностей.

Замечание 5.

Существующая в реальном мире n-арная связь объектов ПО может быть представлена в концептуальной модели в виде n бинарных связей n + 1 сущностей. Для этого достаточно определить как сущность соответствующее связи отношение.

Эта сущность будет представлять в модели не объект ПО, а множество фактов связи. Например, вместо тернарной связи ПОСТАВЩИК–ДЕТАЛЬ–ИЗДЕЛИЕ можно рассматривать три бинарных связи ПОСТАВЩИК–ПОСТАВКА,  ДЕТАЛЬ–ПОСТАВКА  и ИЗДЕЛИЕ–ПОСТАВКА, где ПОСТАВКА – сущность-ассоциация, в состав атрибутов которой входят возможные ключи сущностей ПОСТАВЩИК, ДЕТАЛЬ и ИЗДЕЛИЕ. Именно такой подход используется в языке определения данных IDEF1X (см. гл. 4).

Имея в виду это замечание, далее обсудим характеристики унарных и бинарных связей.

1.4.5.2 Мощность. Пусть E1 и E2 – сущности, состоящие в бинарной связи. Если один экземпляр сущности E1

может вступить в 0, 1 или более экземпляров связи, но один экземпляр сущности E2 – не более чем в один, то говорят, что между E1 и E2 существует связь типа «один ко многим» или 1:M. Если же один экземпляр каждой сущности может образовать 0, 1 или более экземпляров связи, то говорят, что имеет место связь типа «многие ко многим» или  M:M.

         Число М

экземпляров связи, которые могут быть образованы одним экземпляром сущности, называется мощностью (кардинальностью) связи со стороны этой сущности.


Мощность связи определяется правилами, действующими в ПО (бизнес-правилами). Например, если наша фирма никогда не работает с двумя различными поставщиками одного и того же вида товара, но один поставщик может поставлять более чем один товар, то связь ПОСТАВЩИК–ТОВАР имеет тип 1:М (рис. 1.9, а). Если же ограничений на число поставщиков одного и того же вида товара нет, то имеет место связь типа М:М (рис. 1.9, б).



Рис. 1.9 Мощность связи:
а) связь 1:М; б) связь М:М
Значение мощности может быть неопределенным (0, 1,...), заданным числом (точно 5) или интервалом (от 3 до 8). Это также определяется бизнес-правилами. Например, мощность связи ПОСТАВЩИК–ТОВАР со стороны сущности ТОВАР на рис. 1.9, а равна 1, т.к. один вид товара всегда поставляется точно одним поставщиком. Мощность этой связи со стороны сущности ПОСТАВЩИК не определена, если количество видов товара, поставляемых одним и тем же поставщиком, не ограничено.

Содержание раздела