Типи зв'язків між сутностями

Класифікація сутностей в IDEF1X. Залежні і незалежні сутності.

При розробці моделі, найчастіше, доводиться стикатися з сутностями, унікальність яких залежить від значень атрибута зовнішнього ключа. Для цих сутностей (для унікального определ ?? ення кожної сутності) зовнішній ключ повинен бути частиною первинного ключа дочірнього об'єкта.

Дочірня сутність, унікальність якої залежить від атрибута зовнішнього ключа, прийнято називати залежною сутністю. У прикладі на рис.1 сутність СПІВРОБІТНИК є залежною сутністю тому, що його ідентифікація залежить від сутності ВІДДІЛ. У позначеннях IDEF1X залежні сутності представлені у вигляді закруглених прямокутників.

Зовсім суті далі класифікуються на сутності, які не можуть існувати без батьківської сутності і сутності, які не бувають ідентифіковані без використання ключа батька (сутності, що залежать від ідентифікації). Сутність СПІВРОБІТНИК належить до другого типу залежних сутностей, так як співробітники можуть існувати і без відділу.

Навпаки, існують ситуації в яких сутність залежить від існування іншої сутності. Розглянемо дві сутності: ЗАПИТ, який використовується для відстеження запитів купівельн ?? їй, і ПОЗИЦІЯ ЗАПРОСА, який відстежує окремі елементи в запиті. Зв'язок між цими двома сутностями повинна бути виражена у вигляді ЗАПИТ <содержит> один або кілька ПОЗИЦІЙ ЗАПРОСА. В цьому випадку, ПОЗИЦІЯ ЗАПРОСА залежить від існування ЗАМОВЛЕННЯ.

Суті, незалежні при ідентифікації від інших об'єктів в моделі, називаються незалежними сутностями. У вищеописаному прикладі сутність ВІДДІЛ можна вважати незалежною. У IDEF1X незалежні сутності представлені у вигляді прямокутників.

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

Ідентифікують взаємозв'язку позначаються суцільною лінією між сутностями.

Неідентіфіцірующей зв'язку. є унікальними для IDEF1X, також пов'язують батьківську сутність з дочірньою. Неідентіфіцірующей зв'язку використовуються для відображення іншого типу передачі атрибутів зовнішніх ключів - передача в область даних дочірньої сутності (під лінією).

Неідентіфіцірующей зв'язку відображаються пунктирною лінією між об'єктами. Так як передані ключі в неидентифицирующей зв'язку не є складовою частиною первинного ключа дочірньої сутності, то даний вид зв'язку не проявляється ні в одній ідентифікуючої залежності. В цьому випадку і ВІДДІЛ, і СПІВРОБІТНИК розглядаються як незалежні сутності.

Проте, взаємозв'язок може відображати залежність існування, в разі якщо бізнес правило для взаємозв'язку визначає те, що зовнішній ключ не може приймати значення NULL. У разі якщо зовнішній ключ повинен існувати, то це означає, що запис в дочірньої сутності може існувати тільки при наявності асоційованої з ним батьківської записи.

Схожі статті