Обов'язкові і необов'язкові зв'язки
Участь сутності у зв'язку може бути обов'язковою або необов'язковою. Якщо один екземпляр сутності не потребує наявності відповідного екземпляра сутності в окремому зв'язку, то участь сутності у зв'язку є необов'язковою. Наприклад, у зв'язку сутностей Студент-Нагорода − не кожен студент має нагороди. Тобто не кожен екземпляр в таблиці Студент потребує обов'язкової наявності екземпляра сутності в таблиці Нагорода.Сутність Нагорода розглядається як необов'язковапо відношенню до сутності Студент. Необов'язкова сутність позначається невеликим колом з боку необов'язкової сутності. Існування необов'язковості вказує на те, що для необов'язкової сутності мінімальне значення потужності зв'язку дорівнює 0.
Участь сутності у зв'язку буде обов'язковою, якщо кожен екземпляр сутності обов'язково потребує відповідного екземпляра сутності в окремому зв'язку. При обов'язковому зв'язку для обов'язкової сутності мінімальна потужність зв'язку дорівнює 1.
Приклад.Зв'язок між сутностями Студент і Нагорода є необов'язковим (рис. 5.9). Необов'язково кожен студент має нагороду, але якщо є нагорода, то вона обов'язково зв'язана з певним студентом.
Рис. 5.9. Необов'язкова сутність Нагорода в ER-діаграмах П. Чена і "пташина лапка"
Слабкі сутності
Слабкою сутністю називається сутність,яка задовольняєтаким умовам:
· залежності від існування сутності з якою вона зв'язана;
· первинний ключ цієї сутності частково або повністю отриман з іншої сутності.
Слабка сутність на діаграмі Чена позначається подвійним прямокутником, а на діаграмі "пташина лапка" невеликими сегментами в кожному з кутів прямокутника.
Приклад.Сутність Нагорода є слабкою по відношенню досутності Студент: вона залежить від існування цієї сутності і в її первинний ключ входить первинний ключ сутності Студент
(рис. 5.10).
M | |||
СТУДЕНТ | має | НАГОРОДА | |
(0,N) | (1,1) | ||
СТУДЕНТ | має | НАГОРОДА | |
Рис. 5.10 Слабка сутність на діаграмах П. Чена і "пташина лапка"
Складні зв'язки
Використання зв'язків більш високого порядку дає можливість у багатьох випадках краще відобразити семантику проблемної області.
Приклад.Сутності Викладач, Дисципліна і Екзамен утворюють тернарний зв'язок (рис. 5.11).
Табельний | Прізвище | Код | Назва | |
номер | ||||
Адреса | ВИКЛА- | вик- | ДИСЦИП- | Лекцій | |
ДАЧ | ладає | ЛІНА | |||
Посада | Лаб. занять | Практ. | |||
ЕКЗА- | занять | ||||
Дата | |||||
МЕН | |||||
Аудиторія |
Рис. 5.11. Тернарний зв'язок між трьома сутностями на діаграмі П. Чена
Рекурсивні зв'язки
Рекурсивний зв'язок має місце, коли є зв'язок між екземплярами одного і того ж набору сутностей.
Приклад.Розглянемо можливі варіанти рекурсивнихзв'язків (рис. 5.12).
Рис. 5.12.РисРис. 5.12. Представлення рекурсивних зв'язків на діаграмі П. Чена і моделі "пташина лапка"
Зв'язок 1:1 представляє висловлювання: "викладач може бути одружений тільки з одним співробітником". Зв'язок 1:M представляє таке висловлювання: "викладач, якщо він є завідуючим кафедрою, керує декількома викладачами, а викладачі мають тільки одного керівника − завідуючого кафедрою". Зв'язок M:N представляє висловлювання: "адміністратор має декілька підлеглих-адміністраторів, і в свою чергу адміністратор має декілька керівників-адміністраторів".
Між двома сутностями може бути декілька зв'язків з різними змістовними навантаженнями.
Приклад.Між сутностями Викладач і Студент можнавстановити такі змістовні зв'язки: Викладає і Керівництво дипломним проектуванням.Викладач викладає для багатьох студентів, для кожного студента викладає багато викладачів. Кожен студент обов'язково повинен мати одного керівника дипломного проекту, але необов'язково кожен викладач керує дипломниками (рис. 5.13).
Викладає | |||
ВИКЛАДАЧ | СТУДЕНТ | ||
Таб_номер | Зал_книжка | ||
Прізвище | Прізвище | ||
Посада | Керівництво | Група | |
Кафедра | Факультет | ||
дипломним | |||
проектом |
Рис. 5.13. Різні зв'язки між двома сутностями
3. Розширена модель "сутність – зв'язок"
Для задоволення нових потреб, що висуваються більш складними застосуваннями, в семантичне моделювання були введені додаткові концепції, що розширюють його можливості. Така модель має назву розширеної ER-моделі (Enhanced Entity Relationship, EER-модель). Вона включає всі концепції ER-
моделі плюс концепції уточнення, узагальнення, агрегування і композиції.Додаткові концепції базуються на таких поняттях,як суперклас і підклас. Суперклас може мати декілька підкласів. Наприклад підкласи Викладач, Керівник, Лаборант є членами суперкласу Співробітник. Це означає, що кожен екземпляр підкласу є в той же час і екземпляром суперкласу. Зв'язок між суперкласом і підкласом відноситься до типу 1:1.
Використання понять суперклас і підклас дозволяє визначити для підкласів власні атрибути і атрибути, що наслідуються від суперкласу. Так, наприклад, підклас Викладач повинен мати ті ж атрибути, що і всі Співробітники. Однак він має і свої власні атрибути, які не визначені для інших категорій працівників університету. До цих атрибутів можна віднести вчене звання, номер диплому про вчене звання, кількість навчально-методичних праць тощо.При відсутності підкласівдля об'єкту Співробітник слід було б вводити атрибути, які б мали невизначене значення для інших співробітників (наприклад для лаборантів). Підклас може мати свої власні зв'язки, які не підходять для всіх екземплярів суперкласу. Наприклад, Викладач може мати підкласи Професор, Доцент, Асистент.Підклас наслідує не тільки атрибути,але і всізв'язки суперкласу.
Уточнення це процес збільшення різниці між окремимиекземплярами об'єкта за рахунок визначення їхніх відмінних характеристик. Цей процес є низхідним. Наприклад, перехід від об'єкта Співробітник до об'єктів Викладач і Керівник.
Узагальнення це процес зведення відмінностей міжоб'єктами до мінімуму шляхом виділення їх спільних характеристик. Цей процес є висхідним. Наприклад, перехід від об'єктів Викладач і Керівник до об'єкта Співробітник.
У процесі проведення уточнення або узагальнення можуть застосовуватися обмеження:
· ступеня участі;
· неперетинання.
Підкласи набора сутностей можуть перетинатися і не перетинатися. Якщо підкласи суперкласу не перетинаються, то це означає, що кожен екземпляр сутності може бути елементом тільки одного з підкласів (позначається Or). Зв'язки, які не перетинаються позначаються символом "G". Наприклад, співробітник може працювати або на посаді доцента, або на посаді професора, і не може бути одночасно і професором, і доцентом.
Якщо підкласи суперкласу перетинаються, то це означає, що будь-який екземпляр сутності може бути елементом декількох з підкласів (позначається And). Зв’язки які перетинаються позначаються символом "Gs". Наприклад, завідуючий кафедрою проводить заняття, і одночасно виконує обов'язки викладача і керівника. На рис. 5.14 показана ієрархія сутностей з підкласами, що перетинаються і не перетинаються.
Приклад.Відношення суперклас–підклас.
СПІВРОБІТНИК
СУПЕРКЛАС
Gs | G | ||||||
СУПЕРКЛАС/ | ВИКЛАДАЧ | КЕРІВНИК | ЛАБОРАНТ | ||||
ПІДКЛАС | |||||||
ПІДКЛАС | G | G | Gs | ||||
ПРОФЕСОР | ДОЦЕНТ | АСИСТЕНТ | ЗАВ. | ДЕКАН | |||
КАФЕДРОЮ | |||||||
Рис. 5.14. Діаграма з використанням понять суперклас і підклас
Не кожен елемент суперкласу повинен бути елементом одного з підкласів.
Зв'язок суперкласу з підкласом з обов'язковою участю, вказує на те, що кожен елемент суперкласу повинен бути також елементом підкласу (Mandatory).
Приклад.Студент обов'язково займається або на денній,або на заочній, або на вечірній формі навчання, або екстернатом (рис. 5.15).
СТУДЕНТ
Gs Gs Gs
Заочна | Вечірня | ||||
форма | Екстернат | ||||
Денна | |||||
форма | форма | ||||
навчання | |||||
навчання | навчання | ||||
Рис. 5.15. Діаграма зв'язку суперкласу з підкласом з обов'язковою участю
Зв'язок суперкласу з підкласом з необов'язковою участю, вказує на те, що деякі елементи суперкласу можуть не належати жодному з підкласів (Optional). Наприклад, можуть бути викладачі, які не займають посади професора, доцента або асистента (наприклад старший викладач).
Введення понять суперкласів і підкласів дозволяє уникнути опису різних екземплярів сутності, які можуть мати різні атрибути. Це може привести до появи великої кількості незаповнених атрибутів. До того ж індивідуальні атрибути можуть показати зв'язки, які притаманні тільки для конкретних екземплярів, а не всім екземплярам сутностей.
Приклад.Екземпляри сутності Викладач,які належать довикладачів на посаді професора, у порівнянні з викладачами на посаді асистента, мають такі додаткові атрибути: вчене звання, вчений ступінь і т.ін. Крім того, вони можуть бути зв'язані індивідуальними атрибутами із сутністю Аспірант.
Один підклас може бути зв'язаний з декількома суперкласами, які в свою чергу є підкласами одного спільного для них суперкласу.
Приклад.Підкласи Викладач і Керівник наслідуютьсуперклас Співробітник. Підклас Завідуючий кафедрою є одночасно екземпляром суперкласу Викладач і суперкласу Керівник (рис. 5.16).
СПІВРОБІТНИК
Gs
ВИКЛАДАЧ КЕРІВНИК
ЗАВ. КАФЕДРОЮ
Рис. 5.16. Діаграма з підкласом, що сумісно використовується
Підклас є категорією, якщо він зв'язаний одразу з декількома суперкласами різних типів. Категорія може бути з повною участю і з частковою участю екземплярів. Повна участь передбачає, що кожен екземпляр всіх суперкласів повинен бути представлений у даній категорії. При частковій участі присутність в категорії всіх екземплярів всіх суперкласів необов'язкова.
Введення понять суперкласів і підкласів дозволяє ввести в проект більший обсяг семантичної інформації. Наприклад, твердження "Асистент є викладачем" дозволяє встановити певні ієрархічні відношення між об'єктами Асистент і Викладач. EER-діаграми повинні використовуватися,якщоструктура даних є занадто складною, для того щоби її можна було легко представити з використанням ER-діаграм.
Для моделювання інших видів зв'язків вводиться поняття агрегування і композиції.
Агрегування являє собою зв'язок типу"входить в склад"або "включає" між двома сутностями, одна з яких представляє "ціле", а інша − "частину".
Композиція −це особлива форма агрегування,якапредставляє залежність між сутностями, що характеризуються повною приналежністю і співпаданням термінів існування між "цілим" і "частиною".
4. Проблеми побудови моделей "сутність – зв'язок"
При недостатньому розумінні суті встановлених зв'язків може бути створена модель, яка не буде повною мірою відображати зв'язки між реальними об'єктами. Визначають дефекти з'єднання,які виникають при невірній інтерпретаціїзмісту деяких зв'язків: дефекти розгалуження і дефекти розриву.
Дефекти розгалуження мають місце,коли модель вірновідображає зв'язки між сутностями, але шлях між окремими сутностями визначений неоднозначно. Цей дефект виникає в тому випадку, коли два або більше зв'язків типу 1:M виходять з однієї сутності.
Приклад.Розглянемо такі зв'язки:на факультетізаймається багато студентів, у склад факультету входить багато груп (рис. 5.17). Ці зв'язки вірно відображають зміст предметної області, але при спробі з'ясувати, в яких групах займаються конкретні студенти, виникають проблеми. Із сутності Факультет виходять два зв'язки 1:M.
Усунути цю проблему можна шляхом перебудови моделі для представлення вірної взаємодії цих сутностей (рис. 5.18).
СТУДЕНТ | займає | ФАКУЛЬТЕТ | має | ГРУПА | |
ться | |||||
Рис. 5.17. Приклад дефекту розгалуження в ER-моделі
ФАКУЛЬТЕТ | має | ГРУПА | займає | СТУДЕНТ | |
ться | |||||
Рис. 5.18. Усунення дефекту розгалуження в прикладі ER-моделі
Отже, тепер відповідь на попереднє питання не є проблемою.
Дефекти розриву виникають у тому випадку,коли вмоделі передбачається наявність зв'язку між декількома сутностями. Цей дефект виникає у разі, коли існує один або декілька зв'язків з мінімальною потужністю рівною 0, яка визначає необов'язкову участь, і ці зв'язки складають частину шляху між взаємозв'язаними сутностями.
Приклад.Розглянемо такі зв'язки:в склад факультетувходить багато кафедр, кожна кафедра може відповідати за декілька комп'ютерних класів (від 0 до M) (рис. 5.19). Тобто деякі кафедри можуть не бути відповідальними за комп'ютерний клас. У свою чергу комп'ютерний клас може підпорядковуватися певній кафедрі, а може підпорядкову-ватися безпосередньо факультету (факультетський комп'ютер-ний клас). Ці зв'язки вірно відображають зміст предметної області, але при спробі з'ясувати, які комп'ютерні класи підпорядковані певному факультету, виникають проблеми.
Зв'язок між сутностями Кафедра і Комп'ютерний клас передбачає необов'язкову участь сутностей, і він є частиною шляху між сутностями Факультет і Кафедра.
Усунути цю проблему можна шляхом введення додаткового зв'язку між сутностями Факультет і Комп'ютерний клас (рис. 5.20).
(2,N) | (1,1) | (0,M) | (0,1) | |||||||||||||
ФАКУЛЬТЕТ | нале | КАФЕДРА | відпо | КОМП'ЮТЕР- | ||||||||||||
жить | відає | НИЙ КЛАС | ||||||||||||||
Рис. 5.19. Приклад дефекту розриву в ER-моделі
(2,N) | (1,1) | (0,M) | (0,1) | |||||||||||||||
ФАКУЛЬТЕТ | нале | КАФЕДРА | відпо | КОМП'ЮТЕР- | ||||||||||||||
жить | відає | НИЙ КЛАС | ||||||||||||||||
(1,N) | нале | (1,1) | ||||||||||||||||
жить |
Рис. 5.20. Усунення дефекту розриву в прикладі ER-моделі
5. Приклад побудови моделі "сутність – зв'язок"
Процес концептуального проектування БД є ітеративний й заснований на операціях і процедурах, що повторюються. Спочатку створюється базова ER-модель певної предметної області. При дослідженні цієї моделі як правило з'являться додаткові сутності, атрибути і зв'язки. Після цього ER-модель буде змінюватися. Процес змін повторюється до тих пір, поки концептуальна модель не буде відображати предметну область.
Розробники БД на основі опитування фахівців визначають сутності, атрибути, зв'язки у предметній області, що розглядається, дослідженні документів, які застосовуються в роботі на підприємстві.
Розглянемо приклад створення ER-моделі предметної області ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД (ВНЗ).
Дата добавления: 2016-03-22; просмотров: 2364;