Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка по информационным системам / ПЕРЕВОД_МЕТОДИЧКИ _полн.doc
Скачиваний:
114
Добавлен:
02.08.2013
Размер:
30.74 Mб
Скачать

3.6.3. Установка зв'язків між сутностями

Зв'язки є логічним співвідношенням між сутностями. Кожен зв'язок повинний іменуватися дієсловом або дієслівною фразою. Для створення зв'язку між сутностями випливає:

    1. Обрати кнопку з зображенням відповідного типу зв’язку в палітрі інструментів. Кнопка відповідає ідентифікуючому зв’язку «один до багатьох»,- зв’язку «багато-до-багатьох»,- відповідає не ідентифікуючому зв’язку «один до багатьох».

    2. Клацнути спочатку на батьківській, потім на дочірній сутності.

Форму лінії зв'язку можна змінювати, переміщаючи виділену лінію.

Ім'я зв'язку на діаграмі за замовчуванням не відображаються. Щоб уключити відображення імені зв'язку в контекстному меню (викликається на вільному місці діаграми) потрібно вибрати Relatіonshіp Dіsplay →Verb Phrase.

В ІDEF1X розрізняють залежні і незалежні сутності. Тип сутності визначається її зв'язком з іншими сутностями.

Ідентифікуючий зв'язок установлюється між незалежною (батьківський кінець зв'язку) і залежної (дочірній кінець) сутностями. ERwіn автоматично перетворить дочірню сутність у залежну. Екземпляр залежної сутності зображується у виді прямокутника з округленими кутами. Первинний ключ батьківської сутності переноситься до складу первинного ключа дочірньої сутності і позначається як FK - зовнішній ключ. Екземпляр залежної сутності визначається тільки через відношення до батьківської сутності. Так, для приклада, зображеного на рис. 3.11, інформація про замовлення не може бути внесена і не має змісту без інформації про клієнта, що його розміщає.

Рис. 3.11. Ідентифікуючий зв'язок між сутностями.

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

Редагування зв'язків здійснюється через контекстне меню (пункт Relatіonshіp Propertіes) або пункт меню Model→ Relatіonshіps. У закладці General діалогу, що з'явився, (рис. 3.12) можна задати потужність, ім'я і тип зв'язку.

Рис. 3.12. Діалог редактора зв'язків.

Потужність зв'язку (Cardіnalіty) - служить для позначення відносини числа екземплярів батьківської сутності до числа екземплярів дочірньої. У ERWіn розрізняють 4 типи потужності (ступеня зв'язку):

1. Загальний випадок: одному екземплярові батьківської сутності відповідає 0,1 або багато екземплярів дочірньої сутності (●-zero, one or more). У тому випадку зв'язок не позначається ніяким символом (рис. 3.11).

2. Одному екземплярові батьківської сутності відповідає 1 або багато екземплярів дочірньої сутності (●-one or more). Виключено нульове значення. Позначається символом Р (Рис. 3.13)

Рис. 3.13. Приклад зв'язку one or more.

3. Одному екземплярові батьківської сутності відповідає 0 або 1 екземпляр дочірньої сутності (●-zero or one). Виключено множинні значення. Позначається символом Z.

4. Точна відповідність: одному екземплярові батьківської сутності відповідає заздалегідь задана кількість екземплярів дочірньої сутності (●-Exactly (точно)). Позначається цифрою (рис. 3.14).

Рис. 3.14. Приклад зв’язку Exactly.

За умовчанням символ, що означає потужність зв’язку, не показується на діаграмі. Для його відображення в контекстному меню сліду обрати Relationship Display → Cardinality (рис. 3.15).

Рис. 3.15. Включення відображення імені і потужності зв’язку.

Ім'я зв'язку (Verb Phrase) - це фраза, що характеризує відношення між батьківською і дочірньою сутностями.

Для кожної (ідентифікуючої чи ні) зв'язку ступеня "один-до-багатьох" досить вказати ім'я, що характеризує відношення батьківської сутності до дочірнього (Parent-to-Chіld). А для зв'язку M:N потрібно вказати 2 найменування зв'язку c батьків0ської сторони (Parent-to-Chіld), і c дочірньої сторони (Chіld-to-Parent).

Тип зв'язку (ідентифікуюча/неідентифікуюча)

За допомогою панелі елементів між сутностями встановлюються зв'язки типу "багато-до-багатьох" або "один-до-багатьох".

Для зв'язків "один-до-багатьох" у зоні Relatіonshіp Type редактори зв'язків (рис. 3.12) можна змінити тип зв'язку, установивши один з наступних перемикачів:

· Іdentіfyіng;

· Non-іdentіfyіng.

Характеристикою неідентифікуючих зв'язків є обов'язковість (Nulls). У випадку обов'язкового зв'язку (No Nulls) при генерації схеми БД атрибут зовнішнього ключа одержить ознака Not Null, незважаючи на те, що зовнішній ключ не ввійде до складу первинного ключа дочірньої сутності. У випадку необов'язкового зв'язку (Nulls Allowed) зовнішній ключ може приймати значення Null.

Необов'язковий неідентифікуючий зв'язок позначається прозорим ромбом з боку батьківської сутності (рис. 3.16).

Приклади позначень зв'язку "1 до 0,1 і більш" у нотації ІDEF1X:

●-і- ідентифікуюча

●- - - ◊ неідентифікуюча, Nulls

●- - - - неідентифікуюча, No Nulls

Рис. 3.16. Неідентифікуючий зв'язок (Nulls) "1 до 1 і більш".