Связь
. Говорят, что объекты ПО состоят в связи, если хотя бы одному экземпляру одного из них можно поставить в соответствие (по определенному правилу) один или более экземпляров другого. Связь сущностей в концептуальной модели отображает множество связей между экземплярами соответствующих объектов ПО (см. п. 1.1.4).
Говоря формально, связь
есть отношение[7], определенное на декартовом произведении сущностей.
На естественном языке связь выражается глагольным оборотом, связывающим имена сущностей.
На рис. 1.8, а показаны четыре экземпляра связи между экземплярами объектов ПО. Здесь Пi – конкретный поставщик, а Тj
– поставленный им товар. Это множество фактов поставок отображается в модели (рис. 1.8, б) четырехэлементным множеством пар (отношением), в которых Пi и Тj – соответствующие наборы значений атрибутов сущностей ПОСТАВЩИК
и ТОВАР.
ПОСТАВЩИК поставил ТОВАР | |||
| {(П1,Т1), (П1,Т5), (П2,Т2), (П4,Т1)} | ||
а) | б) |
Рис. 1.8 Связь:
а) связь объектов ПО; б) связь сущностей
Поскольку экземпляры сущностей полностью идентифицируются значениями возможных ключей (см. п. 1.4.3), связь можно понимать как отношение, определенное на декартовом произведении множеств допустимых значений возможных ключей связанных сущностей.
Однако связь может иметь и собственные атрибуты, которые нельзя отнести ни к одной из сущностей. Так, в нашем примере о факте поставки следует знать не только кто и что поставил, но также и сколько, и по какой цене. Соответствующие атрибуты количество и цена нельзя отнести к сущностям ПОСТАВЩИК
или ТОВАР. Это характеристики поставки, т.е. связи. Теперь можем дать окончательное определение понятия связи.
Связь
есть отношение, определенное на декартовом произведении множеств допустимых значений возможных ключей связанных сущностей и собственных атрибутов.
Замечание 4.
С формальной точки зрения сущность и связь как структуры данных неразличимы (см. замечание 1). Этот факт отражен в реляционной модели данных (см. гл. 2).