Неідентіфіцірующей зв'язку - студопедія

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

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

У IDEF1X, як показано на рис.7, в кінці лінії з боку дочірнього об'єкта ставиться крапка. В IE в кінці лінії з боку дочірнього об'єкта ставиться "куряча лапка".

Примітка: У стандарті IE немає закруглені кути на об'єктах. Це IDEF1X символ, доданий ERwin'ом в стандарт IE для сумісності.

Як ви могли помітити під час обговорення незалежних і залежних сутностей, правила, що позначають те, що зв'язок є ідентифікуючої, визначаються ідентифікацією дочірньої сутності за рахунок використання ідентифікатора батьківської сутності. У нашому прикладі ФІЛЬМІВ і КОПІЙ ФІЛЬМІВ для ідентифікації копії ми могли вибрати її власний унікальний номер. Однак, ми вирішили використовувати ідентифікатор ФІЛЬМУ і додати другу частину (номер копії) для того, щоб відрізнити одну копію від іншої.

Примітка: Як ви можете виявити, існує кілька переваг при передачі ключів дочірньої сутності за рахунок ідентифікації зв'язків, пов'язаних з тим, що при цьому спрощуються деякі запити до фізичної системі. Однак існують і деякі недоліки. З точки зору реляційної теорії передбачається, що передача ключів не повинна відбуватися таким чином. Замість цього, кожен сутність повинен бути ідентифікована як за допомогою свого первинного ключа, а й за допомогою логічного дескриптора (handle) або додаткового ключа, невидимого для користувача системи. У цій теорії існує переконливий доказ і зацікавлені можуть звернутися до роботи E.F.Codd і C.J.Date на цю тему.

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

Неідентіфіцірующей зв'язку відображаються пунктирною лінією між об'єктами. Якщо ви зв'яжіть об'єкти КОМАНДА і ГРАВЕЦЬ допомогою неидентифицирующей зв'язку, то модель буде виглядати як показано на рис. 9.

Так як передані ключі в неидентифицирующей зв'язку не є складовою частиною первинного ключа дочірньої сутність, то цей вид зв'язку не проявляється ні в одній ідентифікуючої залежності. В цьому випадку і КОМАНДА, і ГРАВЕЦЬ розглядаються як незалежні сутності.

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

Примітка: ідентифікують і неідентіфіцірующей зв'язку не є особливістю IE методу. Однак, ця інформації включена в вашу ERwin діаграму у вигляді суцільної лінії зв'язку або пунктирною лінії зв'язку для забезпечення сумісності між IE і IDEF1X методами.

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

10. Приклад імені Ролі

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

Примітка: Імена Ролей також використовуються для сумісності моделі з успадкованими моделями даних, де зовнішній і первинний ключі мали різні назви.

Ролі передаються за допомогою зв'язку, також, як і інші атрибути. Наприклад, припустимо, що ми розширили приклад для того, щоб показати які ГРАВЦІ забивали голи в різних матчах в сезоні. Ім'я ролі "Гравець-команда-id" передається в сутність результативна гра (разом з будь-яким іншим первинним ключем з батьківської сутності), як показано нижче.

Діаграма, що показує міграцію FK атрибута, що має рольове ім'я

Схожі статті