Файл: Базы данных Учебное пособие.pdf

Добавлен: 28.11.2018

Просмотров: 7740

Скачиваний: 53

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

96 

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

Более  подробное  описание  видов  связей  и  их  обозначений  на  ER-

диаграммах приведено далее. 

4.3.2 Виды связей между сущностями 

Все  связи  между  сущностями  в  ER-модели  можно  классифицировать  по 

нескольким критериям: 

1)  количество участвующих в связи сущностей; 
2)  мощность; 
3)  обязательность; 
4)  зависимость. 
По  количеству  участвующих  в  связи  сущностей  все  связи  можно  разде-

лить  на  бинарные,  т. е.  связи  между  двумя  различными  сущностями,  и  рекур-
сивные
,  когда  сущность  связана  сама  с  собой. Все рассмотренные  выше  связи 
между сущностями являются бинарными. Тем не менее, в БД иногда встреча-
ются и рекурсивные связи, когда один из неключевых атрибутов сущности свя-
зан с первичным ключом этой же сущности. Пример рекурсивной связи приве-
дён на рисунке 4.10. 

 

Рис. 4.10 – Пример рекурсивной связи 

Для  хранения  сведений обо  всех сотрудниках организации  создана  сущ-

ность «Сотрудник». При этом у каждого сотрудника имеется начальник, кото-
рым очевидно является другой сотрудник организации. В подобных ситуациях 
и возникает рекурсивная связь, приведенная на рисунке. 

Также все связи можно разделить по критерию мощности

 

 

Сотрудник
Номер (ПК)
ФИО

Дата рождения

Телефон

Должность

Начальник (ВК)

Подчиняется


background image

97 

 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·   

Мощность связи – количество экземпляров дочерней сущно-

сти,  которое  может  существовать  для  каждого  экземпляра  ро-
дительской сущности. 
 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·   

Ранее  нами  уже  были  рассмотрены  такие  виды  связей  как  «один-к-

одному»,  «один-ко-многим»  и  «многие-ко-многим»,  которые  являются  наибо-
лее простыми и понятными для классификации связей. Однако в различных но-
тациях классификация связей по мощности производится на более детализиро-
ванном уровне. Например, в IDEF1X связи по мощности делятся на следующие: 

1)  каждый экземпляр родительской сущности может иметь 0, 1 или бо-

лее связанных с ним экземпляров дочерней сущности; 

2)  каждый  экземпляр  родительской  сущности  должен  иметь  не  менее 

одного связанного с ним экземпляра дочерней сущности; 

3)  каждый экземпляр родительской сущности должен иметь не более од-

ного связанного с ним экземпляра дочерней сущности; 

4)  каждый  экземпляр  родительской  сущности  связан  с  фиксированным 

числом экземпляров дочерней сущности [7]. 

В данном пособии подобная классификация приведена в качестве приме-

ра и использоваться на практике не будет. Для любой связи будет просто ука-
зываться 1 или М для каждой из участвующих в связи сущностей, как это пока-
зано на рисунке 4.9. 

По  признаку  обязательности  связь  может  быть  обязательной,  если  в 

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

По  признаку  зависимости  сущностей  связи  делятся  на  идентифицирую-

щие и неидентифицирующие. 

 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·   

Идентифицирующая  связь  устанавливается  между  незави-

симой (родительский конец связи) и зависимой (дочерний конец свя-
зи) сущностями. 
 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·   

Экземпляр  зависимой  (дочерней)  сущности  определяется  только  через 

отношение  к  родительской  сущности.  При  установлении  идентифицирующей 


background image

98 

связи первичный ключ родительской сущности мигрирует в состав первичного 
ключа  дочерней  сущности.  В этом  и  есть  смысл  термина  «зависимая  сущ-
ность» – поскольку внешний ключ становится частью первичного, то сущность 
просто не может существовать без указания значения внешнего ключа. 

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

сущностями «Заказ» и «Заказ Товаров», изображенная на рисунке 4.11, а также 
на рисунке 4.4, где связь и сущности уже реализованы в виде связанных реля-
ционных таблиц. В данном примере связывается информация о заказе клиента с 
информацией о том, какие товары и в каком количестве входят в этот заказ.  

 

Рис. 4.11 – Пример идентифицирующей связи 

Как видно из рисунка, идентифицирующая связь изображается сплошной 

линией. Сущность «Заказ Товаров» в данном примере является «зависимой», и 
во многих нотациях изображается прямоугольником со скругленными углами. 
Очевидно, что экземпляры зависимой сущности определяются только через от-
ношение  к  родительской  сущности,  т. е.  не  могут  существовать  сами  по  себе, 
если не существует связанных с ними экземпляров-родителей. В данном случае 
товары в заказ не могут быть добавлены, пока не существует самого заказа, т. е. 
первичный ключ дочерней сущности не может быть определён, поскольку в его 
состав входит внешний ключ. 

 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·   

При  установлении  неидентифицирующей  связи  дочерняя 

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

Неидентифицирующая связь изображается пунктирной линией и встреча-

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

Заказ
Номер (ПК)
ФИО Клиента

Телефон

Дата

Заказ Товаров
Номер (ПК, ВК)
Товар (ПК) 
Кол-во

Состоит

1

М


background image

99 

поскольку мигрировавшие атрибуты родительской сущности не входят в состав 
первичного ключа. 

На  рисунке  4.12  изображен  пример  неидентифицирующей  связи  между 

сущностями «Заказ» и «Клиент». Сущность «Заказ» является независимой, по-
скольку  атрибут  «КодКлиента»  является  простым  внешним  ключом,  который 
мигрировал из родительской сущности. 

 

Рис. 4.12 – Пример неидентифицирующей связи 

Кроме приведенных в классификации видов связи выделим ещё несколь-

ко важных терминов, которые в большей степени относятся к нотации IDEF1X, 
но могут встретиться в литературе в ситуациях проектирования предметной об-
ласти на основе ER-моделей. 

 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·   

Определенной связью называется отношение между сущно-

стями, в котором каждый экземпляр родительской сущности свя-
зан с 0, 1 или более экземплярами дочерней сущности и каждый эк-
земпляр  дочерней  сущности  связан  с  0  или  1  экземпляром 
родительской  сущности.  Другими  словами,  определенной  называ-
ется связь типа 1:1 или 1:М. 
 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·   

Определенные  связи  между  сущностями  реализуются  посредством  ми-

грации первичного ключа родительской сущности в дочернюю, т. е. в дочерней 
сущности  появляется  атрибут  –  внешний  ключ.  Пример  определенной  связи 
приведен на рисунке 4.12.  

 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·   

Неопределенной связью называется отношение между двумя 

сущностями,  при  котором  каждый  экземпляр  первой  сущности 
связан  с  0,  1  или  более  экземплярами  второй  сущности  и каждый 
экземпляр  второй  сущности  связан  с  0,  1  или  более  экземплярами 

Заказ
Номер (ПК)
Дата

Адрес доставки

КодКлиента (ВК)

Клиент
КодКлиента (ПК)
ФИО Клиента

Телефон

Делает

1

М


background image

100 

первой сущности. Другими словами, определенной называется связь 
типа М:М.  
 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·   

Неопределенные  связи  между  сущностями  реализуются  на  практике  с 

помощью добавления новой сущности и связывания двух имеющихся с новой с 
помощью  определенных  связей  (рис. 4.13).  Механизм  преобразования  неопре-
деленных связей в определенные заключается в следующем: 

1)  каждая неопределенная  связь преобразуется  в  одну  новую  сущность, 

которая является дочерней по отношению к связываемым сущностям; 

2)  новой сущности присваивается уникальное имя; 
3)  между  новой  сущностью  и  каждой  из  связываемых  сущностей  уста-

навливается идентифицирующая определенная связь; каждой из этих 
связей назначается имя; 

4)  первичные  ключи  обеих  родительских  сущностей  мигрируют  в  об-

ласть первичного ключа новой сущности. 

 

Рис. 4.13 – Реализация неопределенной связи  

между сущностями «Заказ» и «Товар» 

Связь  типа  «Категория»  встречается  в  реальном  мире,  когда  некоторые 

сущности являются определенными категориями других сущностей. Например, 
«Преподаватель» – это определенная категория сущности «Сотрудник». Такие 
сущности, которые называются сущностями подтипа, хорошо использовать для 
хранения информации, относящейся только к какому-то конкретному подтипу. 
Сущность, на основе которой строятся подтипы, называется супертипом и со-
держит в себе атрибуты общие для всех подтипов.  

Заказ
НомерЗаказа (ПК)
Клиент

Дата

Сумма

Товары Заказа
НомерЗаказа (ПК, ВК)
НомерТовара (ПК, ВК)
Цена

1

М

Товар
НомерТовара (ПК)
Наименование

Категория

Цена

Кол-во

М

1