Зв'язки

 

Між сутностями встановлюються зв'язки, які вказують яким чином сутності співвідносяться або взаємодіють між собою. Розрізняють такі зв'язки:

− між двома сутностями (бінарний зв'язок);

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

− між N сутностями (N-арний зв'язок);

− між однією сутністю (рекурсивний зв'язок).

Найбільш поширеними є бінарні зв'язки. Зв'язок показує яким чином екземпляри сутностей зв'язані між собою. Бінарні зв'язки бувають:

− 1:1 (один до одного);

− 1:M (один до багатьох);

− N:M (багато до багатьох).

На рис. 5.3, 5.4 показані відображення цих зв'язків у різних ER-моделях.

 

 

 

 

Атрибути

 

Атрибути являють собою властивості сутності. Значення кожного атрибута вибирають з відповідної множини значень, яка включає всі потенційні значення, які можуть бути присвоєні атрибуту. Ця множина значень називається доменом.

Приклад. Атрибут Оцінка може приймати чотири значення: 2, 3, 4, 5. Ці значення і складають домен цього атрибута.

Атрибути залежно від складності значень, які вони можуть приймати поділяються на певні категорії (табл. 5.1).

 

 

Потужність зв'язку (кардинальність) відображає певне число екземплярів сутностей, які зв'язані з одним екземпляром зв'язаної сутності. В моделі Чена потужність зв'язку відображається вказівкою відповідних чисел поруч з сутностями у форматі (x, y). Перше число визначає мінімальне значення потужності зв'язку, а друге − його максимальне значення. Потужність вказує на число екземплярів у зв'язаній сутності.

Відомості про максимальне і мінімальне значення потужності зв'язку може застосовуватися у прикладному програмному забезпеченні або за допомогою тригерів; на рівні таблиць СУБД не може оперувати з потужністю зв'язків.

 

Якщо сутність може існувати незалежно від інших сутностей, то вона є незалежною від існування. Якщо сутність залежить від існування інших сутностей, то вона є залежною від існування. Наприклад, сутності Студент і Група можуть існувати незалежно одна від одної, а сутність Нагорода студента є залежною від сутності Студент й існувати без неї не може.

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

Участь сутності у зв'язку може бути обов'язковою або необов'язковою. Якщо один екземпляр сутності не потребує наявності відповідного екземпляра сутності в окремому зв'язку, то участь сутності у зв'язку є необов'язковою. Наприклад, у

зв'язку сутностей Студент-Нагорода − не кожен студент має нагороди. Тобто не кожен екземпляр в таблиці Студент потребує обов'язкової наявності екземпляра сутності в таблиці Нагорода. Сутність Нагорода розглядається як необов'язкова по відношенню до сутності Студент. Необов'язкова сутність позначається невеликим колом з боку необов'язкової сутності. Існування необов'язковості вказує на те, що для необов'язкової сутності мінімальне значення потужності зв'язку дорівнює 0. Участь сутності у зв'язку буде обов'язковою, якщо кожен екземпляр сутності обов'язково потребує відповідного екземпляра сутності в окремому зв'язку. При обов'язковому зв'язку для обов'язкової сутності мінімальна потужність зв'язку дорівнює 1.

Слабкою сутністю називається сутність, яка задовольняє таким умовам:

− залежності від існування сутності з якою вона зв'язана;

− первинний ключ цієї сутності частково або повністю отриман з іншої сутності.

Слабка сутність на діаграмі Чена позначається подвійним прямокутником, а на діаграмі " пташина лапка" невеликими сегментами в кожному з кутів прямокутника.

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

Перевірка моделі на відповідність транзакціям користувачів виконується на основі таких підходів:

− перевірка того, чи представляє модель всю інформацію (сутності, атрибути, зв'язки), яка необхідна для кожної транзакції;

− перевірка по ER-діаграмі маршруту кожної транзакції.

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

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

Застосування ER-діаграм дозволяє забезпечити просте і наглядне уявлення про головні логічні об'єкти БД і про зв'язки, які між цими об'єктами існують. Також до переваг ER-діаграми слід віднести те, що вони добре інтегрують з реляційною

моделлю.

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