JavaRush /Курси /SQL SELF /Створення ERD (діаграми сутностей і зв'язків)

Створення ERD (діаграми сутностей і зв'язків)

SQL SELF
Рівень 26 , Лекція 1
Відкрита

ERD — це скорочення від Entity-Relationship Diagram (діаграма сутностей і зв'язків). Це візуальне представлення структури твоєї бази даних, яке показує, як сутності (таблиці) пов'язані між собою.

Уяви, що ERD — це карта метро для бази даних. Станції — це таблиці, а лінії між ними — це зв'язки. Така карта допомагає зрозуміти, як переміщатися між станціями (і як таблиці взаємодіють).

ERD складається з:

  • Сутностей: це об'єкти або таблиці, такі як "Студенти", "Курси", "Викладачі".
  • Атрибутів: це колонки в таблицях, такі як ID, Ім'я, Прізвище.
  • Зв'язків: це лінії між таблицями, що показують відносини, наприклад, один студент записаний на багато курсів.

З допомогою ERD ти можеш не тільки спланувати базу даних, а й показати колегам чи керівництву, як вона влаштована. Це потужний інструмент для будь-якого розробника!

Основні елементи ERD

  1. Сутності

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

  • Таблиця "Студенти".
  • Таблиця "Курси".
  • Таблиця "Видачі" (у бібліотечній системі).

Приклад:


+---------------+
| Студенти      |
+---------------+
| ID            |
| Ім'я          |
| Прізвище      |
| Дата народження|
+---------------+
  1. Атрибути Атрибути — це окремі властивості або характеристики сутності. Вони відображаються як колонки у таблиці бази даних. Наприклад:
  • Для таблиці "Студенти" це можуть бути ID, Ім'я, Прізвище.
  • Для таблиці "Курси" це ID Курсу, Назва курсу.

В ERD вони найчастіше записуються всередині прямокутника, що позначає сутність.

Зв'язки між сутностями

Зв'язок показує, як дві сутності взаємодіють між собою. Нагадаю основні типи зв'язків:

  • Один-до-одного (1:1): наприклад, кожен студент має одне унікальне посвідчення.
  • Один-до-багатьох (1:N): наприклад, один викладач може вести кілька курсів.
  • Багато-до-багатьох (M:N): наприклад, кілька студентів записані на кілька курсів.

Приклад зв'язку "Один-до-багатьох":

Студенти (1) <----- записаний -----> (N) Курси

Для реалізації зв'язків у базі даних ми зазвичай використовуємо зовнішні ключі.

Як побудувати ERD?

Давай розглянемо процес побудови ERD крок за кроком, а також приклад для бібліотеки.

Крок 1: Визнач сутності

Твоє завдання — розбити систему на основні об'єкти. Наприклад, для бібліотечної системи це:

  • "Книги".
  • "Читачі".
  • "Видачі".

Приклад:

+-------------+        +--------------+         +------------+
| Книги       |        | Читачі       |         | Видачі     |
+-------------+        +--------------+         +------------+
| ID          |        | ID           |         | ID         |
| Назва       |        | Ім'я         |         | Читач      |
| Автор       |        | Прізвище     |         | Книга      |
| ISBN        |        | Дата народження|       | Дата видачі|
+-------------+        +--------------+         +------------+

Крок 2: Додай атрибути

Кожна сутність повинна мати ключові атрибути. Наприклад:

  • Таблиця "Книги" повинна містити ID (первинний ключ), Назва, Автор, ISBN.
  • Таблиця "Читачі" — ID, Ім'я, Прізвище.

Крок 3: Встанови зв'язки

Тепер додай зв'язки між сутностями:

  • "Видачі" пов'язані з "Книгами" (одна книга може бути видана кілька разів).
  • "Видачі" пов'язані з "Читачами" (один читач може брати кілька книг).

Крок 4: Візуалізуй

Використовуй будь-який інструмент для створення діаграм, наприклад:

  • draw.io
  • dbdiagram.io
  • Lucidchart
  • Microsoft Visio

Діаграма буде виглядати так:

[Читачі] ----(1:N)---- [Видачі] ----(N:1)---- [Книги]

Для кожного зв'язку додай тип даних і пояснення, наприклад:

  • ID Читача у "Видачах" пов'язаний з первинним ключем таблиці "Читачі".

Приклад: ERD для інтернет-магазину

Для інтернет-магазину потрібна логічна структура, що включає:

  1. Користувачі (зареєстровані клієнти).
  2. Продукти (товари).
  3. Замовлення.

Крок 1: Сутності

  • Користувачі: ID Користувача, Ім'я, Email.
  • Продукти: ID Продукту, Назва, Ціна.
  • Замовлення: ID Замовлення, ID Користувача, Дата замовлення.

Крок 2: Встановлення зв'язків

  • Один користувач може зробити кілька замовлень (1:N).
  • Одне замовлення може містити кілька продуктів (M:N).

Повна діаграма ERD:

[Користувачі] ----(1:N)---- [Замовлення] ----(N:M)---- [Продукти]

Для реалізації зв'язку багато-до-багатьох додай проміжну таблицю:

  • Склад замовлень: ID Замовлення, ID Продукту, Кількість.

Поради зі створення ERD

  • Спочатку подумай, що ти хочеш бачити у своїй базі даних. Все починається з розуміння твоєї предметної області.

  • Включай тільки ті атрибути і сутності, які дійсно важливі. Зайва деталізація може заплутати.

  • Переконайся, що всі зв'язки логічно обґрунтовані. Якщо зв'язок здається дивною, переглянь її.

  • Використовуй інструменти, які допомагають візуалізувати діаграми. Це зекономить час і сили.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ