Що таке ER Modeling? Навчайтеся на прикладі

Що таке ER Modeling?

Модель зв'язку сутності (ER Modeling) — це графічний підхід до проектування бази даних. Це високорівнева модель даних, яка визначає елементи даних та їхній зв’язок для певної програмної системи. Модель ER використовується для представлення об’єктів реального світу.

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

  • Сутність має набір властивостей.
  • Властивості сутності можуть мати значення.

Давайте знову розглянемо наш перший приклад. Співробітник організації - це суб'єкт. Якщо «Петро» — це програміст (ан співробітник) в Microsoft, він може мати Атрибути (властивості), як-от ім’я, вік, вага, зріст тощо. Очевидно, що вони містять значення, які мають відношення до нього.

Кожен атрибут може мати Цінності. У більшості випадків один атрибут має одне значення. Але це можливо для атрибутів мати кілька значень також. Наприклад, вік Петра має єдине значення. Але його властивість «телефонні номери» може мати кілька значень.

Суб'єкти можуть мати відносин один з одним. Розглянемо найпростіший приклад. Припустимо, що кожен Microsoft Програмісту надається комп'ютер. Зрозуміло, що Комп'ютер Петра також є сутністю. Пітер використовує цей комп’ютер, і той самий комп’ютер використовує Пітер. Іншими словами, між Пітером і його комп’ютером існує взаємозв’язок.

In Моделювання зв'язків сутностей, ми моделюємо сутності, їхні атрибути та зв’язки між сутностями.

Розширена модель взаємозв’язків сутностей (EER).

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

EER використовує нотацію UML. UML - це акронім для Уніфікована мова моделювання; це мова моделювання загального призначення, яка використовується при проектуванні об'єктно-орієнтованих систем. Сутності представлені у вигляді діаграм класів. Відносини представлені як асоціації між сутностями. Наведена нижче діаграма ілюструє діаграму ER з використанням Нотація UML.


Enhanced Entity Relationship (EER)

Навіщо використовувати модель ER?

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

Інструменти зв’язку, які розуміють усі зацікавлені сторони (технічні та нетехнічні користувачі), мають вирішальне значення для створення систем баз даних, які відповідають вимогам користувачів. Прикладами таких інструментів є моделі ER.

Діаграми ER також підвищують продуктивність користувачів, оскільки їх можна легко перевести в реляційні таблиці.

Приклад: ER діаграма для бібліотеки відео «MyFlix».

Давайте тепер попрацюємо з системою баз даних MyFlix Video Library, щоб допомогти зрозуміти концепцію діаграм ER. Ми будемо використовувати цю базу даних для всіх практичних занять у решті цього підручника

MyFlix — це суб’єкт господарювання, який здає фільми напрокат своїм членам. MyFlix зберігає свої записи вручну. Тепер керівництво хоче переїхати до а СУБД

Давайте розглянемо кроки для розробки діаграми EER для цієї бази даних -

  1. Визначте сутності та визначте зв’язки, які існують між ними.
  2. Кожна сутність, атрибут і зв’язок повинні мати відповідні назви, які також можуть бути зрозумілі нетехнічним людям.
  3. Відносини не повинні бути пов'язані безпосередньо один з одним. Відносини повинні з’єднувати сутності.
  4. Кожен атрибут у певній сутності повинен мати унікальне ім’я.

Сутності в бібліотеці «MyFlix».

Суб’єкти, які будуть включені до нашого ER діаграма є;

  • члени – ця організація зберігатиме інформацію про учасників.
  • кіно – ця організація зберігатиме інформацію про фільми
  • Категорії – ця сутність зберігатиме інформацію, яка класифікує фільми за різними категоріями, такими як «Драма», «Бойовик», «Епопея» тощо.
  • Прокат фільмів – ця організація зберігатиме інформацію про фільми, здані напрокат членам.
  • платежі – ця організація зберігатиме інформацію про платежі, здійснені членами.

Визначення зв'язків між сутностями

Учасники та фільми

Стосовно взаємодії між двома сутностями справедливо наступне.

  • Учасник може взяти напрокат більше одного фільму за певний період.
  • Фільм може бути взятий напрокат кількома учасниками за певний період.

З наведеного вище сценарію ми бачимо, що характер зв’язку – багато-до-багатьох. Реляційні бази даних не підтримують зв’язки «багато до багатьох». Нам потрібно ввести сутність переходу. Це роль, яку відіграє сутність MovieRentals. Він має зв’язок «один-до-багатьох» із таблицею «члени» та інший зв’язок «один-до-багатьох» із таблицею «кіно».

Фільми та категорії сутностей

Про фільми та категорії справедливо наступне.

  • Фільм може належати лише до однієї категорії, але категорія може мати більше одного фільму.

З цього ми можемо зробити висновок, що природа зв’язку між категоріями та таблицею фільмів є «один до багатьох».

Учасники та платіжні організації

Про учасників і платежі справедливо наступне

  • Учасник може мати лише один рахунок, але може здійснювати кілька платежів.

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

Тепер давайте створимо модель EER за допомогою MySQL Верстак

У MySQL верстак , Натисніть кнопку «+».

Визначення зв'язків між сутностями

Double натисніть кнопку «Додати діаграму», щоб відкрити робоче середовище для діаграм ER.

Визначення зв'язків між сутностями

З'явиться наступне вікно

Визначення зв'язків між сутностями

Давайте розглянемо два об'єкти, з якими ми будемо працювати.

  • Визначення зв'язків між сутностямиОб’єкт таблиці дозволяє нам створювати сутності та визначати атрибути, пов’язані з конкретною сутністю.
  • Визначення зв'язків між сутностямиКнопка розміщення зв’язків дозволяє нам визначати зв’язки між об’єктами.

Команда членів сутність матиме наступні атрибути

  • Членський номер
  • Повні імена
  • Стать
  • Дата народження
  • Фізична адреса
  • Поштова адреса

Давайте тепер створимо таблицю учасників

1. Перетягніть об’єкт таблиці з панелі інструментів

2. Опустіть його в робочу область. З’явиться сутність під назвою таблиця 1

3.Double натисніть на нього. З’явиться вікно властивостей, показане нижче

Визначення зв'язків між сутностями

далі,

  1. Змініть таблицю 1 на Члени
  2. Змініть idtable1 за замовчуванням на membership_number
  3. Клацніть на наступному рядку, щоб додати наступне поле
  4. Зробіть те саме для всіх атрибутів, визначених в сутності учасників.

Тепер ваше вікно властивостей має виглядати так.

Визначення зв'язків між сутностями

Повторіть описані вище дії для всіх ідентифікованих об’єктів.

Ваша робоча область діаграми тепер має виглядати так, як показано нижче.

Визначення зв'язків між сутностями

Давайте налагодимо відносини між Учасниками та Прокатом фільмів

  1. Виберіть зв’язок місця також за допомогою наявних стовпців
  2. Клацніть membership_number у таблиці Members
  3. Натисніть reference_number у таблиці MovieRentals

Визначення зв'язків між сутностями

Повторіть описані вище дії для інших зв’язків. Ваша діаграма ER тепер має виглядати так –

Підсумки

  • Повною формою ER є діаграми сутностей і зв’язків. Вони відіграють дуже важливу роль у проектування бази даних процес. Вони служать нетехнічним інструментом спілкування для технічних і нетехнічних людей.
  • Сутності представляють речі реального світу; вони можуть бути концептуальними, як замовлення на продаж, або фізичними, як клієнт.
  • Усі сутності мають мати унікальні імена.
  • Моделі ER також дозволяють розробникам баз даних ідентифікувати та визначати зв’язки, які існують між об’єктами.

Повна модель ER додається нижче. Ви можете просто імпортувати його MySQL Верстак

Натисніть тут, щоб завантажити модель швидкої допомоги