:
 













³





ij




̲
'



'




˳

























㳿


Գ
Գ
Գ
Գ
ճ






Атрибути зв’язків

Буває зручно пов’язувати атрибут не з сутністю, а зі зв’язком. Для тернарного зв’язку (рис.2.6) спробуємо зафіксувати розмір винагороди актора, встановлений згідно контракту. Правильно було б пов’язати винагороду не з фільмом, актором або студією, а з кортежем

(star, movie, studio)

з множини даних зв’язку Contracts.

 

ис.2.8. Зв’язок з атрибутом

 

Якщо зв’язок має атрибути, він може бути замінений на з’єднуючу множину сутностей з тими ж атрибутами. В разі діаграми рис.2.8 ця сутність також може мати назву Contracts.

 

ис.2.9. ER-діаграма після передачі атрибутів від зв’язку до з’єднуючої множини сутностей

 

На практиці з’єднуюча сутність завжди має атрибути, як у наступному прикладі. В галузі інвестування житла в основі лежить тристоронній договір між інвестором (фізична або юридична особа), забудовником (будівельна фірма) і банком:

 

ис.2.10. Приклад ER-моделі тристороннього договору в галузі інвестування житла

Підкласи в ER-моделі

Незрідка буває, що деякі сутності множини сутностей, крім спільних властивостей, мають спеціальні властивості, не властиві іншим членам множини. В подібних випадках доцільно створювати спеціальні множини сутностей – підкласи (subclasses), кожна з яких має власний набір атрибутів та/або зв’язків. Для з’єднання „повної” множини сутностей – базового класу (superclass) з його підкласами використовуються зв’язки isa (від is a, можемо позначити є.)

 

Напр., твердження B є A виражає наявність зв’язку від множини сутностей (підкласу) B до множини сутностей A – базового класу.

 

На ER-діаграмі зв’язок isa позначаємо трикутником, спрямованим до базового класу. Кожний зв’язок isa належить до типу один до одного, але стрілки на лініях не проставляються.

 

Простий приклад зв’язків isa:

 

ис.2.11. Приклад зв’язків isa (є)

 

Сутність підкласу має всі атрибути базового класу + специфічні атрибути підкласу. Підклас бере участь у зв’язках базового класу + у специфічних зв’язках підкласу.

 

ис.2.12. Співвідношення між атрибутами та зв’язками базового класу та підкласу

Підкласи в об’єктно-орієнтованих системах

Існує значна подібність між зв’язком isa та відношенням підкласу до базового класу в об’єктно-орієнтованій мові. озбіжності: в ER-проектуванні об’єкт може належати до різних підкласів, в ООП це, як правило, неможливо. Приклад:

ис.2.13. Приклад можливої належності сутності до двох підкласів

 

У прикладі на рис.2.13 контрагент одночасно може бути і постачальником, і покупцем. В ООП для такого випадку доводиться створювати окремий підклас.

Приклад ER-діаграми генеалогічної БД

Нижче наведений приклад ER-діаграми генеалогічної БД, яка містить зв’язки материнства, батьківства, шлюбу.

Не розглядаються:

  • одностатеві шлюби;
  • гареми (полігамія);
  • проміскуітет;
  • шведська родина;
  • розірвані шлюби.

 

ис.2.14. ER-діаграма генеалогічної БД

 

Термін проміскуїтет був введений в XIX столітті для позначення стадії неврегульованих статевих стосунків у первісному людському суспільстві, що передували виникненню шлюбу і сім'ї. [http://ru.wikipedia.org/wiki/Промискуитет ]

 

Шведська сім'я — так в просторіччі називається форма поліаморії, при якій троє чоловік різної статі (один чоловік і дві жінки або двоє чоловіків і одна жінка) живуть разом, в одному приміщенні.

Принципи проектування ER-моделі

Найбільші вади у проект закладаються на перших етапах, зокрема, етапі проектування ER-моделі. Ці вади існують у проекті довгі роки, оскільки їх важко виправити. Тому до цього етапу треба підходити дуже обачно. Виділяємо наступні принципи ER-проектування:


:

  1. Діаграма сутностей і зв’язків




: 1694

<== | ==>
Багатосторонні зв’язки | Використання елементів адекватних типів

? google:

 

© studopedia.com.ua '.


: 0.004 .