Зв'язки. Основні характеристики та представлення зв'язків



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

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

Кількість сутностей, що приймає участь у зв’язку, задає його «арність». Між сутностями можуть мати місце бінарні зв'язки (між двома сутностями чи між сутністю і нею ж самою - рекурсивний зв'язок), тренарні зв'язки (між трьома сутностями), у загальному випадку - n-арні зв'язки. Більшість зв'язків відносяться до категорії бінарних і має місце між двома сутностями. У ER-діаграмах ця асоціація є пойменованою і зображеною графічно у вигляді лінії, що поєднує зв'язані сутності. В ER-діаграмах зв'язок позначається або спрямованими ребрами з відповідними написами (нотація IDEF0), або ромбом чи шестигранником, зв'язаним ребрами з кожною з сутностей (нотація Yourdona).

Приклади зв'язків:

· оскільки кожен співробітник працює в якому-небудь відділі, між сутностями СПІВРОБІТНИК і ВІДДІЛ існує зв'язок "працює у" чи ВІДДІЛ-ПРАЦІВНИК;

· тому що один із працівників відділу є його керівником, то між сутностями СПІВРОБІТНИК і ВІДДІЛ є зв'язок "керує" чи ВІДДІЛ-КЕРІВНИК;

· можуть існувати і зв'язки між сутностями одного типу, наприклад зв'язок БАТЬКО - НАЩАДОК між двома сутностями ЛЮДИНА;

(Слід зазначити, що в методиці проектування даних є неписане правило, відповідно до якого сутності позначаються за допомогою іменників, а зв'язки - дієслівними формами. Дане правило, однак, не є обов'язковим). На жаль, не існує загальних правил визначення, що вважати сутністю, а що зв'язком. У розглянутому вище прикладі ми поклали, що "керує" - це зв'язок. Однак, можна розглядати сутність "керівник", що має зв'язки "керує" із сутністю "відділ" і "є" із сутністю "співробітник".

Зв'язок також може мати атрибути. Наприклад, для зв'язку ВІДДІЛ-ПРАЦІВНИК можна задати атрибут СТАЖ_РОБОТИ_У_ВІДДІЛІ.

Роль сутності в зв'язку - функція, що виконує сутність у даному зв'язку. Наприклад, у зв'язку БАТЬКО-НАЩАДОК сутності ЛЮДИНА можуть мати ролі "батько" і "нащадок". Вказування ролей у моделі "сутність-зв'язок" не є обов'язковим і служить для уточнення семантики зв'язку.

Набір зв'язків (relationship set) - це відношення між n (причому n не менше 2) сутностями, кожна з який відноситься до деякого набору сутностей.

Приклад:

тоді [e1,e2,...,en] - набір зв'язків R

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

Зв'язки описують відношення між сутностями у предметній галузі. У випадку n=2, тобто коли зв'язок поєднує дві сутності, він називається бінарним. Доведено, що n -арний набір зв'язків (n>2) завжди можна замінити множиною бінарних, однак перші краще відображають семантику предметної області.

Основні характеристики зв'язків. До основних характеристик зв'язків належать:

· вид зв'язку (тип зв'язності, connectivity);

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

· обов'язковість зв'язку.

 

Види зв'язку. Серед бінарних зв'язків існують три фундаментальних види зв'язку (типи зв'язності, connectivity): один-до-одного (1:1), один-до-багатьох (1:N), багато-до-багатьох (N:M). Вид зв'язку показує, яка максимальна кількість екземплярів кожної з двох сутностей може бути пов'язана між собою.

Зв'язок один-до-одного (1:1) існує, коли один екземпляр однієї сутності зв'язаний виключно з одним єдиним екземпляром іншої сутності (приклад – директор керує підприємством).

Тип А Тип В

Зв'язок один-до-багатьох (1:N) має місце, коли один екземпляр однієї сутності зв'язаний з одним чи більше екземпляром іншої сутності, а кожен екземпляр другої сутності зв'язаний тільки з одним екземпляром першої сутності (приклад – режисер ставить спектакль).

Повним аналогом є зв'язок багато до одного, тому він як окремий тип не виділяється:

Приклад. Володіння собаками: кожен власник може мати одну чи кілька собак, але кожен собака належить тільки одному власнику.

Зв'язок багато-до-багатьох (М:N чи N:M) існує, коли один екземпляр однієї сутності може бути зв'язаний з одним чи більше екземпляром іншої сутності і кожен екземпляр другої сутності може бути зв'язаний з одним чи більше екземпляром першої сутності (приклад – актор грає у спектаклях).

Приклад. Домоволодіння: кожен власник може мати один чи кілька будинків, і кожен будинок є власністю одного чи кількох власників.

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

Потужність зв'язку. Окрім зв'язності, зв'язок характеризується кардинальністю (або степенем, чи потужністю зв'язку). Ту кількість сутностей, яка може бути асоційована через набір зв'язків з іншою сутністю, називають степенем, або потужністю зв'язку. Цей параметр визначає обов'язковість наявності хоча б одного екземпляру сутності, що приймає участь у зв'язку, а також чисельну кількість цих учасників. Кардинальність зв'язку визначається з боку кожної сутності: кардинальність з боку сутності А задається діапазоном дозволених кількостей екземплярів зв'язаної з нею сутності В, з якою може бути зв'язаний конкретний екземпляр даної сутності А.

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

Наприклад, у прикладі ШЛЮБ для традиційного шлюбу як з боку сутності ЧОЛОВІК, так і з боку сутності ЖІНКА кардинальності будуть 0,1: кожен чоловік може бути одружений на одній жінці чи неодружений взагалі, аналогічно – жінка. Для багатоженства з боку сутності ЧОЛОВІК кардинальність буде 0, п, а з боку жінки – 0,1. Тобто зв'язок ЧОЛОВІК-ЖІНКА матиме кардинальність 0, п: 0,1 (чоловік може мати одну чи багато жінок, чи бути неодружений взагалі, жінка може мати лише одного чоловіка чи бути незаміжньою). Якщо у предметній галузі враховуються лише одружені, то всі 0 поміняються на 1. Нулі (0) у кардинальностях відбивають ще одну важливу властивість зв'язку – його обов'язковість (умовність).

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

В умовних зв'язках, на відміну від безумовних, можуть існувати екземпляри сутності, які у зв'язку не приймають участі. Якщо зв'язок умовний по обидва боки, він називається біумовним. Існування необов'язковості (optionality) вказує на те, що для необов'язкової сутності мінімальне значення потужності зв'язку дорівнює 0. У діаграмах як Чена, так і «пташина лапка», необов'язковий зв'язок показується колом з боку необов'язкової сутності.

Загалом можна виділити 12 форм для зв'язків, що поєднують дві сутності:

· 3 безумовні форми (бере участь кожен екземпляр з кожного боку): 1:1 (1,1:1,1); 1:М (1,М: 1,1), М:N (1,N: 1,М);

· 6 умовних форм форми (з одного боку не всі екземпляри беруть участь у зв'язку) 1:1 (0,1:1,1) або (1,1:0,1); 1:М (0,М: 1,1) чи (1,М: 0,1), М:N (0,N: 1,М) чи (1,N: 0,М);

· 3 біумовні форми (беруть участь не всі екземпляри з обдвох боків): 1:1 (0,1:0,1); 1:М (0,М: 0,1); М:N (0,N: 0,М).

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

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

ЗВ'ЯЗОК [СУТНІСТЬ S1, СУТНІСТЬ S2,...] (атрибут 1,..., атрибут n),

де S - степінь зв'язку. ER-діаграми в цьому випадку використовуються для ілюстрації окремих фрагментів інфологічної моделі.

 


Дата добавления: 2016-01-03; просмотров: 15; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!