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