Що таке ER Modeling? Навчайтеся на прикладі
⚡ Розумний підсумок
Моделювання сутностей та зв'язків — це графічний підхід до проектування баз даних, який представляє реальні об'єкти як сутності, описує їх за допомогою атрибутів та фіксує, як вони пов'язані через зв'язки, створюючи чіткий план ще до створення будь-яких таблиць.

Що таке ER Modeling?
Модель зв'язку сутності (ER Modeling) — це графічний підхід до проектування бази даних. Це високорівнева модель даних, яка визначає елементи даних та їхній зв’язок для певної програмної системи. Модель ER використовується для представлення об’єктів реального світу.
Сутність – це річ або об'єкт у реальному світі, який можна відрізнити від навколишнього середовища. Наприклад, кожен співробітник організації є окремою сутністю. Нижче наведено деякі основні характеристики сутностей.
- Сутність має набір властивостей.
- Властивості сутності можуть мати значення.
Давайте знову розглянемо наш перший приклад. Працівник організації є суб'єктом господарювання. Якщо «Пітер» є програмістом (співробітником) у Microsoft, він може мати такі атрибути (властивості), як ім'я, вік, вага, зріст тощо. Очевидно, що вони містять значення, що стосуються його.
Кожен атрибут може мати значення. У більшості випадків один атрибут має одне значення. Але атрибути також можуть мати кілька значень. Наприклад, вік Петра має одне значення. Але його властивість «номери телефонів» може мати кілька значень.
Сутності можуть мати зв'язки одна з одною. Розглянемо найпростіший приклад. Припустимо, що кожна Microsoft Програмісту дають комп'ютер. Зрозуміло, що комп'ютер Петра також є окремою сутністю. Петро використовує цей комп'ютер, і той самий комп'ютер використовує Петро. Іншими словами, між Петром та його комп'ютером існує взаємний зв'язок.
У моделюванні сутностей-зв'язків ми моделюємо сутності, їхні атрибути та зв'язки між сутностями.
Навіщо використовувати ER-модель?
Тепер ви можете подумати, навіщо використовувати ER моделювання, коли ми можемо просто створити базу даних і всі його об’єкти без моделювання ER? Однією з проблем, з якою стикаються під час розробки бази даних, є той факт, що дизайнери, розробники та кінцеві користувачі, як правило, по-різному розглядають дані та їх використання. Якщо цю ситуацію залишити без контролю, ми можемо створити систему бази даних, яка не відповідає вимогам користувачів.
Інструменти комунікації, зрозумілі всім зацікавленим сторонам (як технічним, так і нетехнічним користувачам), є критично важливими для створення систем баз даних, які відповідають вимогам користувачів. ER-моделі є прикладами таких інструментів.
ER-діаграми також підвищують продуктивність користувачів, оскільки їх можна легко перевести в реляційні таблиці.
Розширена модель взаємозв’язків сутностей (EER).
Модель розширених зв'язків між сутностями (EER) – це високорівнева модель даних, яка надає розширення оригінальної моделі зв'язків між сутностями (ER). Моделі EER підтримують більш детальне проектування. Моделювання EER виникло як рішення для моделювання дуже складних баз даних.
EER використовує нотацію UML. UML – це абревіатура для Уніфікована мова моделювання; це мова моделювання загального призначення, яка використовується при проектуванні об'єктно-орієнтованих систем. Сутності представлені у вигляді діаграм класів. Відносини представлені як асоціації між сутностями. Наведена нижче діаграма ілюструє діаграму ER з використанням Нотація UML.
Тематичне дослідження: ER-діаграма для відеотеки «MyFlix»
Тепер давайте попрацюємо з базою даних MyFlix Video Library, щоб зрозуміти концепцію ER-діаграм. Ми використовуватимемо цю базу даних для всієї практичної роботи в цьому посібнику.
MyFlix — це суб’єкт господарювання, який здає фільми напрокат своїм членам. MyFlix зберігає свої записи вручну. Тепер керівництво хоче переїхати до а СУБД.
Давайте розглянемо кроки для розробки діаграми EER для цієї бази даних:
- Визначте сутності та визначте зв’язки, які існують між ними.
- Кожна сутність, атрибут і зв'язок повинні мати відповідні назви, які можуть бути легко зрозумілі навіть людям без технічних знань.
- Відносини не повинні бути пов'язані безпосередньо один з одним. Відносини повинні з’єднувати сутності.
- Кожен атрибут у певній сутності повинен мати унікальне ім’я.
Сутності в бібліотеці «MyFlix»
Суб’єкти, які будуть включені до нашого ER діаграма є:
- Учасники – ця організація зберігатиме інформацію про учасників.
- Фільми – цей об’єкт міститиме інформацію про фільми.
- Категорії – ця сутність міститиме інформацію, яка розподіляє фільми за різними категоріями, такими як «Драма», «Бойовик» та «Епічний» тощо.
- Прокат фільмів – ця організація зберігатиме інформацію про фільми, здані в оренду учасникам.
- Платежі – ця організація зберігатиме інформацію про платежі, здійснені учасниками.
Визначення зв'язків між сутностями
Учасники та фільми
Стосовно взаємодії між двома сутностями справедливо наступне.
- Учасник може взяти напрокат більше одного фільму за певний період.
- Фільм може бути взятий напрокат кількома учасниками за певний період.
З наведеного вище сценарію видно, що характер зв'язку – багато-до-багатьох. Реляційні бази даних не підтримують зв'язки «багато-до-багатьох». Нам потрібно ввести сутність-сполучник. Цю роль відіграє сутність MovieRentals. Вона має зв'язок «один-до-багатьох» з таблицею Members та ще один зв'язок «один-до-багатьох» з таблицею Movies.
Фільми та категорії сутностей
Про фільми та категорії справедливо наступне.
- Фільм може належати лише до однієї категорії, але категорія може містити більше одного фільму.
З цього можна зробити висновок, що характер зв'язку між категоріями та таблицями фільмів є один-до-багатьох.
Учасники та платіжні організації
Наступне стосується членів та платежів.
- Учасник може мати лише один рахунок, але може здійснювати кілька платежів.
З цього можна зробити висновок, що характер взаємовідносин між учасниками та платіжними суб'єктами є один-до-багатьох.
Створіть модель EER за допомогою MySQL Верстак
In MySQL Верстак, натисніть кнопку «+».
Double Натисніть кнопку «Додати діаграму», щоб відкрити робочу область для ER-діаграм.
З'явиться наступне вікно.
Давайте розглянемо два об'єкти, з якими ми будемо працювати.
- Об'єкт таблиці
дозволяє нам створювати сутності та визначати атрибути, пов'язані з певною сутністю.
- Зв'язок з місцем
Кнопка дозволяє нам визначити зв'язки між сутностями.
Сутність «Учасники» матиме такі атрибути
- Членський номер
- Повні імена
- Стать
- Дата народження
- Фізична адреса
- Поштова адреса
Тепер створимо таблицю "Учасники"
1. Перетягніть об’єкт таблиці з панелі інструментів.
2. Перетягніть його в робочу область. З’явиться сутність з назвою таблиця 1.
3. Double натисніть на нього. З’явиться вікно властивостей, показане нижче.
Далі,
- Змініть таблицю 1 на Учасники.
- Змініть значення idtable1 за замовчуванням на membership_number.
- Натисніть на наступний рядок, щоб додати наступне поле.
- Зробіть те саме для всіх атрибутів, визначених у сутності "Учасники".
Тепер ваше вікно властивостей має виглядати так.
Повторіть описані вище дії для всіх ідентифікованих об’єктів.
Ваша робоча область діаграми тепер має виглядати так, як показано нижче.
Давайте створимо зв'язок між учасниками та прокатом фільмів
- Виберіть зв'язок розташування за допомогою інструмента існуючих колонок.
- Клацніть на membership_number у таблиці «Учасники».
- Клацніть на reference_number у таблиці MovieRentals.
Повторіть вищезазначені кроки для інших зв'язків. Ваша ER-діаграма тепер має виглядати так:









