Модель «сутність – зв’язок». Основні поняття моделі «сутність – зв’язок»: сутності, зв’язки, атрибути та їх класифікація.

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

Модель «сутність-зв'язок» (ER-модель) (англ. Entity-relationship model або entity-relationship diagram) — модель даних, яка дозволяє описувати концептуальні схеми за допомогою узагальнених конструкцій блоків. ER-модель — це мета-модель даних, тобто засіб опису моделей даних. Існує ряд моделей для представлення знань, але одним з найзручніших інструментів уніфікованого представлення даних, незалежного від програмного забезпечення що його реалізує, є модель «сутність-зв'язок». Важливим є той факт, що з моделі «сутність-зв'язок» можуть бути породжені всі існуючі моделі даних (ієрархічна, мережева, реляційна, об'єктна), тому вона є найзагальнішою.

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

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

Історія створення

Модель сутність-зв'язок була запропонована в 1976 Пітером Пін-Шен Ченом, американським професором комп'ютерних наук в університеті штату Луїзіана. Насправді, Чен не придумував цієї моделі самотужки, він взяв ідеї з попередніх робіт наприклад, А. Брауна та інших. Але Чен зробив дуже багато для формалізації та популярності ERM, а також для її проникнення в літературу.

  =Модель «сутність-зв'язок»=

Коли ми говоримо про сутність, ми зазвичай говоримо про деякий аспект реального світу, який можна виділити поміж інших аспектів. Сутність — це збірне поняття, деяка абстракція реально існуючого об'єкта, процесу, явища чи деякого уявлення про об'єкт. Хоча термін сутність найбільш вживаний, потрібно розрізняти поняття типу сутності та екземпляру сутності. Поняття тип сутності відноситься до набору однорідних особистостей, предметів, подій або ідей, виступаючих як ціле. Екземпляр сутності відноситься до конкретної речі в наборі. Наприклад, типом сутності може бути МІСТО, а екземпляром — Київ, Львів і т. д.

Сутність (entity)

Сутність (entity)— реальний або уявлюваний об’єкт, що має істотне значення для аналізованої предметної області, інформація про який підлягає збереженню. Кожна сутність має унікальний ідентифікатор. Кожний екземпляр сутності однозначно ідентифікується і відрізняється від усіх інших екземплярів даного типу сутності.

Властивості сутності Кожна сутність має унікальне ім’я, і до того самого імені повинна завжди застосовуватися та сама інтерпретація. Одна й та сама інтерпретація не може застосовуватися до різних імен, якщо тільки вони не є псевдонімами. Сутність має один або декілька атрибутів, що належать їй або успадковуються через зв’язок. Сутність має один або декілька атрибутів, що однозначно ідентифікують кожний її екземпляр. Кожна сутність може мати будь-яку кількість зв’язків з іншими сутностями моделі.

Виділяють три види сутностей: стрижнева, асоціативна (асоціація) і характеристична (характеристика):

Стрижнева (сильна) сутність — незалежна від інших сутність. Стрижнева сутність не може бути асоціацією, характеристикою чи позначенням.

Асоціативна сутність (або асоціація) виражає собою зв'язок «багато до багатьох» між двома сутностями. Є цілком самостійною сутністю. Наприклад, між сутностями ЧОЛОВІК і ЖІНКА існує асоціативний зв'язок, висловлюваний асоціативної сутністю ШЛЮБ.

Характеристичну сутність ще називають слабкою сутністю. Вона пов'язана з більш сильною сутністю зв'язками «один до багатьох» і «один до одного». Характеристична сутність описує або уточнює іншу сутність. Вона повністю залежить від неї і зникає зі зникненням останньої. Наприклад, сутність Зарплата є характеристикою конкретних працівників підприємства і не може в такому контексті існувати самостійно — при видаленні екземпляра сутності Працівника повинні бути видалені і екземпляри сутності Зарплата, пов'язані з видаленим працівником. Позначення це така сутність, з якої інші сутності пов'язані за принципом «багато до одного» або «один до одного». Позначення, на відміну характеристики є самостійною сутністю. Наприклад, сутність Факультет позначає приналежність студента до даного підрозділу інституту, але є цілком самостійною. При моделюванні прийнято виражати (іменувати) сутність іменником або іменником з прикметником, що характеризує його, а зв'язок дієсловом, що поєднує два чи більше іменників.

Зв’язок (relationship)

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

Класифікація зв’язків:

      — за множинністю;
      — за повнотою.

Типи зв’язків між сутностями за множинністю: Один — до одного 1 : 1 Одному екземпляру однієї сутності відповідає один екземпляр іншої сутності Кожний учитель (екземпляр сутності «Викладачі») працює в окремому кабінеті (екземпляр сутності «Кабінети»)

Один — до багатьох 1 : ∞ або 1 : М Одному екземпляру однієї сутності може відповідати кілька екземплярів іншої сутності Кожний учитель (екземпляр сутності «Викладачі») викладає в декількох класах (екземпляри сутності «Класи»)

Багато — до одного ∞ : 1 або М : 1 Багатьом екземплярам однієї сутності відповідає один екземпляр іншої сутності Декілька викладачів (екземпляри сутності «Викладачі») викладають один предмет (екземпляри сутності «Предмети»)

Багато — до багатьох ∞ : ∞ або М : М Багатьом екземплярам однієї сутності може відповідати кілька екземплярів іншої сутності Декілька викладачів (екземпляри сутності «Викладачі») викладають у декількох класах (екземпляри сутності «Класи»)

Типи зв’язків між сутностями за повнотою: Приклад Кожен екземпляр однієї сутності обов’язково пов’язаний з одним чи кількома екземплярами іншої сутності Зв’язок між сутностями «Викладачі» та «Предмети» передбачає, що викладач повинен викладати хоча б один предмет Кожний екземпляр однієї сутності не обов’язково пов’язаний з одним чи кількома екземплярами іншої сутності Зв’язок між сутностями «Викладачі» та «Класи» передбачає, що є клас, в якому не викладає жоден з викладачів Розглянуту модель предметної області називають моделлю «сутність-зв’язок», або ER-моделлю. Назва «реляційна» (relational) пов’язана з тим, що кожен запис у таблиці даних містить інформацію, яка стосується якогось конкретного об’єкта. Крім того, пов’язані між собою (тобто перебувають у певних відношеннях — relations) дані навіть різних типів у моделі можуть розглядатися як одне ціле.


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

Атрибут

Атрибут — будь-яка характеристика сутності, що є істотною для аналізованої предметної області та призначена для кваліфікації, ідентифікації, класифікації, кількісної характеристики або відображення стану сутності. Атрибут подає тип характеристик або властивостей, асоційованих із множиною реальних чи абстрактних об’єктів (людей, місць, подій, станів, ідей, пар предметів тощо). Екземпляр сутності повинен мати єдине визначене значення для асоційованого атрибута.

Кожна сутність (якщо це не слабка сутність) має мати мінімальний набір унікальних атрибутів, що зветься первинним ключем.

Нотації (Графічні діаграми)

Нотація Пітера Чена

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

Crow's Foot

Нотація «вороняча лапка» Дана нотація була запропонована Гордоном Еверестом (англ. Gordon Everest) під назвою Inverted Arrow («обернена стрілка»), однак частіше за все цю нотацію називають Crow's Foot («вороняча лапка»), або ж Fork («виделка»).

Згідно даної нотації, сутність подається у вигляді прямокутника, де сутність виражається іменником. Ім'я сутності має бути унікальним в рамках однієї моделі. Зв'язок зображується лінією, яка пов'язує дві сутності, що беруть участь у відношенні. Ступінь кінця зв'язку вказується графічно, множинність зв'язку зображується у вигляді «виделки» на кінці зв'язку. Модальність зв'язку так само зображується графічно — необов'язковість зв'язку позначається кружком на кінці зв'язку.

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

Література

[1]