П’ята нормальна форма в MySQL

П’ята нормальна форма (5NF), також відома як нормальна форма Джонсона, є однією з форм нормалізації в реляційних базах даних, яка фокусується на усуненні аномалій оновлення, зберігання та видалення, які можуть виникнути в результаті зайвої інформації.

Основні принципи 5NF:

  1. Без надмірної інформації: Відносини не повинні містити жодних надмірних даних. Це означає, що таблиця не повинна містити атрибутів, які не є залежними від первинного ключа.

  2. Розбиття на менші таблиці: Якщо таблиця має складні множинні залежності (коли один атрибут залежить від інших комбінованих атрибутів), таблиця має бути розділена на менші таблиці таким чином, щоб ці залежності були відображені.

  3. Використання зовнішніх ключів: Зовнішні ключі повинні використовуватися для зв’язування таблиць. Це дозволяє підтримувати цілісність даних.

Пример 5NF:

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

| Студент_ID | Курс_ID | Викладач_ID |
|------------|---------|--------------|
| 1          | 101     | 1001         |
| 1          | 102     | 1001         |
| 1          | 101     | 1002         |
| 2          | 101     | 1001         |
| 2          | 102     | 1002         |

Ця таблиця може бути не в 5NF, оскільки залежності між деякими атрибутами є множинними. Щоб привести її до 5NF, потрібно розділити її, наприклад, на три таблиці:

  1. Таблиця студентів, курсів:
| Студент_ID | Курс_ID |
|------------|---------|
| 1          | 101     |
| 1          | 102     |
| 2          | 101     |
| 2          | 102     |
  1. Таблиця курсів і викладачів:
| Курс_ID | Викладач_ID |
|---------|--------------|
| 101     | 1001         |
| 101     | 1002         |
| 102     | 1001         |
| 102     | 1002         |
  1. Таблиця студентів і викладачів (якщо потрібно):
| Студент_ID | Викладач_ID |
|------------|--------------|
| 1          | 1001         |
| 1          | 1002         |
| 2          | 1001         |
| 2          | 1002         |

Висновок

Приведення бази даних до 5NF може вимагати значних змін у структурі таблиць, проте це призводить до збільшення цілісності даних і зменшення ризику помилок. В MySQL для впровадження нормалізації ви можете використовувати SQL-запити для створення та модифікації таблиць.

Залишити коментар