Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lecture.doc
Скачиваний:
2
Добавлен:
26.08.2019
Размер:
2.61 Mб
Скачать

2.4.3. Підхід, використовуваний в case-засобі Vantage Team Builder

У CASE-засобі Vantage Team Builder (Westmount I-CASE) [14] використовується один з варіантів нотації П. Чена. На ER-діаграмах суть позначається прямокутником, що містить ім'я суті (малюнок 2.36), а зв'язок - ромбом, зв'язаним лінією з кожною з взаємодіючої суті. Числа над лініями означають ступінь зв'язку.

Мал. 2.36. Позначення суті і зв'язків

Зв'язки є багатонаправленими і можуть мати атрибути (за винятком ключових). Виділяють два види зв'язків:

· необов'язковий зв'язок (optional);

· слабкий зв'язок (weak).

У необов'язковому зв'язку (малюнок 2.37) можуть брати участь не всі екземпляри суті.

Мал. 2.37. Необов'язковий зв'язок

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

Обов'язковий (mandatory) зв'язок описує зв'язок між "незалежною" і "залежною" суттю. Всі екземпляри залежної ("обов'язковою") суті можуть існувати тільки за наявності екземплярів незалежної ("необов'язковою") суті, тобто екземпляр "обов'язкової" суті може існувати тільки за умови існування певного екземпляра "необов'язкової" суті.

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

Мал. 2.38. Обов'язковий зв'язок

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

Слабкий зв'язок завжди є бінарним і обов'язковий зв'язок для "слабкої" суті. Суть може бути "слабкою" в одному зв'язку і "сильною" в іншій, але не може бути "слабкою" більш, ніж в одному зв'язку. Слабкий зв'язок може не мати атрибутів.

Приклад на малюнку 2.39: ключа (номер) рядка в документі може не бути унікальним і повинен бути доповнений ключем документа.

Мал. 2.39. Слабкий зв'язок

Зв'язок "супертип-підтип" зображена на малюнку 2.40. Загальні характеристики (атрибути) типу визначаються в суті-супертипі, суть-підтип успадковує всі характеристики супертипу. Екземпляр підтипу існує тільки за умови існування певного екземпляра супертипу. Підтип не може мати ключа (він імпортує ключ з супертипу). Суть, що є супертипом в одному зв'язку, може бути підтипом в іншому зв'язку. Зв'язок супертипу не може мати атрибутів.

Мал. 2.40. Зв'язок "супертип-підтип"

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

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

Мал. 2.41. Асоціативний зв'язок

Первинний ключ кожного типу суті позначається зірочкою (*).

ER-діаграма повинна підкорятися наступним правилам:

кожна суть, кожен атрибут і кожен зв'язок повинні мати ім'я (зв'язок супертипа або асоціативний зв'язок може не мати імені);

ім'я суті повинне бути унікальне в рамках моделі даних;

ім'я атрибуту повинне бути унікальне в рамках суті;

ім'я зв'язку повинне бути унікальне, якщо для неї генерується таблиця БД;

кожен атрибут повинен мати визначення типу даних;

суть в необов'язковому зв'язку повинна мати ключовий атрибут. Те ж саме відноситься до сильної суті в слабкому зв'язку, супертипу в зв'язку "супертип-підтип" і необов'язковій суті в обов'язковому (повною) зв'язку;

підтип в зв'язку "супертип-підтип" не може мати ключового атрибуту;

у асоціативному або слабкому зв'язку може бути тільки одна асоціативна (слабка) суть;

зв'язок не може бути одночасний обов'язковою, "супертип-підтип" або асоціативною.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]