Представление связи
Каждый экземпляр связи должен быть однозначно идентифицирован, и для этого также используется первичный ключ связи. Так как связь идентифицируется вовлеченными в нее сущностями, первичный ключ связи может быть представлен первичными ключами вовлеченных в связь сущностей.
Пример. Рассмотрим множество сущностей СОТРУДНИК с первичным ключом Номер сотрудника и множество сущностей ПРОЕКТ с первичным ключом Номер проекта. Оба первичных ключа могут быть определены на одном и том же домене НОМЕР. Рассмотрим связь ИСПОЛНИТЕЛЬ ПРОЕКТА. Вовлеченные в эту связь сущности представляются своими первичными ключами:
Номер сотрудника, Номер проекта
Они и образуют первичный ключ связи ИСПОЛНИТЕЛЬ ПРОЕКТА. Важно отметить, что эти атрибуты – первичные ключи вовлеченных в связь сущностей, а не собственные атрибуты связи.
В табличном виде связи могут быть представлены следующим образом:
Первичный ключ связи | Атрибут связи | ||
Вовлеченные в связь множества сущностей | СОТРУДНИК | ПРОЕКТ | |
Роль | ИСПОЛНИТЕЛЬ | ПРОЕКТ | |
Атрибуты сущностей | Номер сотрудника | Номер проекта | Доля времени |
Множества значений | НОМЕР | НОМЕР | ПРОЦЕНТ |
Экземпляр связи 1 | |||
Экземпляр связи 2 | … | … | … |
В некоторых случаях сущности в множестве сущностей нельзя уникально идентифицировать значениями только собственных атрибутов; для уникальной идентификации необходимо использовать и связь.
|
|
Рассмотрим пример. В некоторой организации для выполнения определенных работ формируются специальные временные бригады, которые могут быть в дальнейшем расформированы и созданы заново. Бригада состоит из руководителя и членов бригады, и все они являются сотрудниками данной организации. Один и тот же сотрудник может быть членом нескольких бригад. Бригада идентифицируется руководителем бригады.
Соответственно, можно определить множества сущностей СОТРУДНИК и ЧЛЕН БРИГАДЫ и связь между этими сущностями НАЗНАЧЕНИЕ (сотрудник назначается членом бригады).
Для уникальной идентификации сотрудника в качестве первичного ключа можно использовать атрибут Номер сотрудника. Но этот атрибут не может идентифицировать данного сотрудника как члена некоторой конкретной бригады; необходимо еще указать, членом какой бригады является сотрудник (т.е. указать номер руководителя бригады). Следовательно, первичный ключ множества сущностей ЧЛЕН БРИГАДЫ включает номер сотрудника и номер руководителя бригады, т.е. учитывается связь НАЗНАЧЕНИЕ.
Таким образом, имеем два способа идентификации сущностей: только значениями собственных атрибутов или с учетом связей. В соответствии с этим определяются две формы отношения сущностей:
|
|
- регулярное отношение сущности, если для идентификации сущностей используются только собственные атрибуты;
- слабое отношение сущности, если для идентификации сущностей используются связи.
Соответственно, связи, в которые вовлечены слабые отношения сущностей, являются слабым отношением связи..