Друга нормальна форма в MySQL

Друга нормальна форма (2НФ) — це одна з форм нормалізації бази даних, яка покликана усунути функціональні залежності, що не є повними. Важливо розуміти, що перед тим як перейти до 2НФ, ваша таблиця повинна вже відповідати першій нормальній формі (1НФ), що означає, що всі значення в таблиці є атомарними (неділеними).

Ось основні вимоги до другої нормальної форми:

  1. Список значень повинен бути в 1НФ: Всі атрибути таблиці повинні містити атомарні значення.
  2. Всі неключові атрибути повинні бути повністю функціонально залежними від первинного ключа: Це означає, що якщо атрибут не є частиною первинного ключа, то він повинен бути залежним від всього первинного ключа, а не лише від його частини. Якщо використовується складений (композитний) ключ, то всі неключові атрибути повинні залежати від усіх атрибутів цього ключа.

Приклад

Припустимо, у нас є таблиця Замовлення, яка має такий вигляд:

ID_Замовлення Клієнт Товар Кількість Ціна
1 А Apple 10 1.00
2 Б Banana 5 0.50
3 А Cherry 20 1.50

У даній таблиці ми можемо помітити, що Ціна залежить не тільки від ID_Замовлення, але й від Товару. Це означає, що таблиця не відповідає 2НФ.

Приведення до 2НФ

Для того, щоб привести таблицю до другої нормальної форми, ми можемо розділити її на дві таблиці:

  1. Таблиця Замовлень:
ID_Замовлення Клієнт Товар Кількість
1 А Apple 10
2 Б Banana 5
3 А Cherry 20
  1. Таблиця Цін:
Товар Ціна
Apple 1.00
Banana 0.50
Cherry 1.50

Таким чином, ми виконали умови 2НФ, оскільки всі неключові атрибути (Клієнт, Кількість) тепер залежать від повного ключа (ID_Замовлення), а атрибут Ціна тепер розміщено в іншій таблиці, де він залежить від Товару.

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