Базы данных

Типы связей и экземпляры связей


Связь между двумя объектами представляет некоторую ассоциацию между ними. В ER-модели связи характеризуются типом (или классом). Например, два человека могут быть связаны как родитель и ребенок (связь “родитель—ребенок”), или как муж и жена (связь “состоять в браке”). Связь возникает между двумя определенными объектами и является экземпляром некоторого типа связи между классами объектов.

Каждый объект играет определенную роль в связи. Если два человека состоят в браке, один из них является мужем, а другой — женой, т.е. имеется связь типа “состоять в браке”, а роли индивидуумов — “муж” и “жена”. Имя роли выражает функцию некоторой сущности в связи.

Тип связи представляет возможность того, что между двумя сущностями может существовать ассоциация. Экземпляр связи отражает факт существования такой ассоциации между двумя конкретными сущностями. Например, тип связи “состоит в браке” определен между двумя объектами класса сущностей Person. Однако этот тип связи вовсе не гарантирует, что любое лицо (экземпляр или сущность класса Person) состоит в браке с любым другим лицом или даже вообще состоит в браке.

Имя связи обычно представляет собой, глагол который можно использовать в предложениях. Например, можно сказать: “Jane Block rents Annie Half’ (Джейн Блок арендует фильм Annie Halt), чтобы представить экземпляр типа связи Rents. Аналогично, фраза: “A customer may rent videotape” (Клиент может арендовать видеокассету) выражает существование типа связи Rents. Также используются имена ролей сущностей в связи, например: Джейн Блок является женой Джо Блока или: Джо Блок является мужем Джейн Блок.

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

Часто связи имеют свои собственные атрибуты. Например, связь “состоит в браке” имеет атрибут даты бракосочетания. Связь Rents имеет атрибуты dateDue (дата возврата), dateRent (дата взятия напрокат), amountPaid (уплаченная сумма) и amountDue (задолженность).

Комментарии закрыты