Характеристика зв'язків і мова моделювання

магниевый скраб beletage

При побудові інфологічних моделей можна використовувати мову ER-діаграм (від англ. Entity-Relationship, тобто сутність-зв'я- зок). У них сутність зображена позначеними прямокутниками, асоціації — ромбами або шестикутниками, атрибути — поміченими овалами, а зв'язки між ними — ненаправленими ребрами, над якими може проставлятися ступінь зв'язку (1 або буква, що замінює слово «багато») і необхідне пояснення.

Між двома сутностями, наприклад, А і В можливі чотири види зв'язків.

Перший тип — зв'язок ОДИН-ДО-ОДНОГО (1:1): у кожен момент часу кожному представнику (зразку) сутності А відповідає 1 або 0 представників сутності В (рис.5.4.).

Студент може не «заробити» стипендію, одержати звичайну або одну з підвищених стипендій.

Другий тип — зв'язок ОДИН-ДО-БАГАТЬОХ (1: Б): одному представнику сутності А відповідають 0, 1 або кілька представників сутності В (рис. 5.5.).

Квартира може бути порожньою, в ній може мешкати одна або кілька осіб.

Оскільки між двома сутностями можливі зв'язки в обох напрямах, то існує ще два типи зв'язку БАГАТО-ДО-ОДНОГО (Б:1) і БАГАТО ДО-БАГАТЬОХ (М: N).

Приклад 1. Якщо зв'язок між сутностями ЧОЛОВІКИ і ЖІНКИ називається ШЛЮБ, то існує чотири можливих подання такого зв'язку (рис. 5.6.).

Характер зв' язків між сутностями не обмежується переліченими. Існують і складніші зв'язки (рис.5.7.):

Пацієнт, маючи одного лікаря, який його лікує, також може мати кількох лікарів-консультантів; лікар може лікувати одних пацієнтів, а також давати консультації кільком іншим (рис.5.8.).

Лікар може дати направлення кільком пацієнтам здавати кілька аналізів, аналіз може бути призначений кількома лікарями кільком пацієнтам і пацієнт може бути призначений на кілька аналізів кількома лікарями);

Зв'язки вищих порядків, семантика (значення) яких іноді дуже складна.

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

СУТЬ  (атрибут 1, атрибут 2,..., атрибут n)

АСОЦІАЦІЯ [СУТЬ S1, СУТЬ S2,...]

(атрибут 1, атрибут 2,..., атрибут n)

де S — ступінь зв'язку, а атрибути, що належать до ключа, повинні бути виділені підкресленням.

Так, розглянутий вище приклад з безліччю зв'язків між суттю, може бути описаний на МІМ таким чином:

Лікар  (Номер_лікаря, Прізвище, Ім'я, По батькові, Спеціальність)

Пацієнт        (Реєстраційний_номер, Номер ліжка, Прізвище,

Ім'я, По батькові, Адреса, Дата народження, Стать) Лікар, що лікує [Лікар 1, Пацієнт M]

(Номер_лікаря, Реєстраційний_номер) Консультант [Лікар M, Пацієнт W]

(Номер_лікаря, Реєстраційний номер).

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

а)

Приклад 2. Відділ записів актів громадянського стану (ЗАГС) займається реєстрацією шлюбу, народження або смерті. Тому в країнах, де допускаються лише традиційні шлюби, відділи ЗАГС можуть містити відомості про реєстрацію шлюбу в єдиній сутності:

ШЛЮБ (Номер свідоцтва, Прізвище чоловіка, Ім'я чоловіка, По батькові чоловіка, Дата народження чоловіка, Прізвище дружини, Дата реєстрації, Місце реєстрації,...),

ER-діаграма якої наведена на рис. 5.9 (б)

Приклад 3. Тепер розглянемо ситуацію, коли відділ ЗАГС знаходиться в країні, яка дозволяє багатоженство. Якщо для реєстрації шлюбів використовувати суть «Шлюб» прикладу 2., то дублюватимуться відомості про чоловіків, що мають кількох дружин (див. табл. 5.1).

Таблиця 5.1

Номер свідоцтва

Прізвище чоловіка

 

Прізвище дружини

 

Дата реєстрації

1-ЮБ 154745

Пєтухов

 

Курочкіна

 

06/03/1991

1-ЮБ 163489

Пєтухов

 

Пеструшкіна

 

11/08/1991

1-ЮБ 169887

Пєтухов

 

Рябова

 

12/12/1992

1-ЮБ 169878

Селезнєв

 

Уточкіна

 

12/12/1992

1-ЮБ 154746

Парасюк

 

Свинюшкіна

 

06/03/1991

1-ЮБ 169879

Парасюк

 

Хавронія

 

12/12/1992

 

 

 

 

 

 

Дублювання можна виключити створенням додаткової сутності «Чоловіки».

Чоловіки      (Код М, Прізвище, Ім'я, По батькові, Дата народження, Місце на

родження)

і заміною сутності «Шлюб» характеристикою (див. п.3) з посиланням на відповідний опис за суттю «Чоловіки».

ШЛЮБ (Номер свідоцтва,Код Ч,Прізвище дружини,..., Дата реєстрації,...){Чоловіки}.

ER-діаграма зв'язку цієї сутності показана на рис. 5.4. в, а приклад їх екземплярів в табл. 5.2 і 5.3.

Таблиця 5.2

Код Ч

Прізвище

Ім'я

По батькові

Рік/нар.

Місце народж.

111

Пєтухов

Альфред

Остапович

1971

м. Цапелька

112

Селезнєв

Вавила

Абрамович

1973

м. Гусєв

113

Парасюк

Горацій

Федулович

1972

м. Свиньїн

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

Співробітники (Табельний номер, Прізвище, Ім'я,...).

Використання, розглянутої в прикладі 2, сутності Шлюб» недоцільне: у сутності» Співробітники» вже є прізвища, імена, по батькові подружжя. Тому створимо асоціацію

ШЛЮБ [Співробітник 1, Співробітник 1 ]

(Табельний номер чоловіка, Табельний номер дружини,...),

з'єднуючи між собою певні зразки сутності «Співробітники» (рис. 5.9., г).

Таблиця 5.3

Номер свідоцтва

Код - Ч

Прізвище дружини

Ім'я дружини

Дата реєстрації

1-ЮБ 154745

111

Курочкіна

Августина

06/03/1991

1-ЮБ 163489

111

Пеструшкіна

Маріана

11/08/1991

1-ЮБ 169887

112

Рябова

Мілана

12/12/1992

1-ЮБ 169878

112

Уточкіна

Вероніка

12/12/1992..

1-ЮБ 154746

113

Свинюшкіна

Ельвіра

06/03/1991..

1-ЮБ 169879

113

Хавронія

Руфіна

12/12/1992..

Зазначимо, що ER-діаграма рис. 5.9., а описує структуру розміщення даних про шлюби у відділах ЗАГС країн, що допускають групові шлюби, а ER-діаграми прикладу 5.9., описи будь-яких видів шлюбів у організаціях, де є сутність «чоловіка» і «жінки», включаючи неодружених.

Що ж таке «зв'язок»? У ER-діаграмах це лінія, що з'єднує геометричні фігури, що відображають сутність, атрибути, асоціації та інші інформаційні об'єкти. У тексті ж цей термін використовується для вказівки на взаємозалежність сутності. Якщо ця взаємозалежність має атрибути, то вона називається асоціацією.

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

1. Лобіо по-грузинськи

Ламану очищену квасолю, нашаткований лук посолити, посипати перцем і припустити в маслі з невеликою кількістю бульйону; додати кинзу, зелень петрушки, рейган (базилік) і довести до готовності. Потім запекти в духовці. Квасоля стручкова (свіжа або консервована) 200, Цибуля зелена 40, Масло вершкове 30, Зелень 10. Вихід 210. Калорій 725.

Рис. 5.5.

Приклад кулінарного рецепту

За допомогою зазначених користувачів виділені такі об' єкти і характеристики бази, що проектується:

Страви, для опису яких потрібні дані, що входять до складу кулінарних рецептів: номер страви (наприклад, з книги кулінарних рецептів), назва та вид (закуска, суп, cмаженина т.ін.), рецепт (технологія приготування блюда), вихід (вага порції), назва, калорійність і вага кожного продукту, що є інгредієнтом страви.

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

Щоденне споживання страв (витрати): страва, кількість порцій, дата.

Аналіз об' єктів дозволяє виділити:

Основи: Страви, Продукти і Міста;

асоціації: Склад (пов'язує Страви з Продуктами) і Поставки (пов' язує Постачальників з Продуктами);

позначення Постачальники;

характеристики Рецепти і Витрати.

ER-діаграма моделі наведена на рис. 5.10. а модель на мові МІМ має наступний вигляд:

~0 8 З

S

І §

§

О

-с §

5

LO LO

Страви (СТ, Страва, Вид) Продукти (ПР, Продукт, Калорійність) Постачальники (ПОС, Місто, Постачальник) [Місто] Склад [Страви M, Продукти N] (Ст, ПР, Вага (г)) Поставки [Постачальники M, Продукти N] (ПОС, ПР, Дата П, Ціна, Вага (кг) Міста (Місто, Країна) Рецепти (Ст, Рецепт) {Страви} Витрати (СТ, Дата Р, Порцій) {Страви}

У цих моделях Страва, Продукт і Постачальник — найменування, а СТ., ПР і ПОС — цифрові коди блюд, продуктів і організацій, що постачають ці продукти.