Третя нормальна форма в MySQL

Третя нормальна форма (3НФ) — це одна з форм нормалізації реляційних баз даних, яка допомагає усунути надмірність даних та забезпечити їх цілісність. Щоб таблиця була в третій нормальній формі, вона повинна відповідати двом умовам:

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

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

Як досягти третьої нормальної форми

Щоб привести таблицю до 3НФ, виконайте наступні кроки:

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

  2. Перепланування зв’язків. Після створення нових таблиць встановіть між ними відношення (зазвичай це зв’язок “один до багатьох”) за допомогою зовнішніх ключів.

Приклад

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

Студенти
---------------
ID | Ім'я    | Прізвище | Група | Курс   | Викладач
1  | Олег    | Іванов  | 101   | 1      | Петренко
2  | Anna    | Коваленко| 101   | 1      | Петренко
3  | Сергій  | Петров   | 102   | 2      | Сидоренко

У цьому прикладі у нас є транзитивна залежність: Викладач залежить від Курс, а Курс залежить від ID (первинного ключа). Таким чином, ми можемо створити нову таблицю Курси:

Курси
---------------
КурсID | НазваКурсу | Викладач
1       | Програмування | Петренко
2       | Алгебра      | Сидоренко

А у таблиці Студенти залишимо тільки відповідні атрибути:

Студенти
---------------
ID | Ім'я    | Прізвище | Група | КурсID
1  | Олег    | Іванов  | 101   | 1
2  | Anna    | Коваленко| 101   | 1
3  | Сергій  | Петров   | 102   | 2

Тепер таблиці Студенти і Курси відповідають третій нормальній формі.

Висновок

Третя нормальна форма допомагає зменшити надмірність даних та покращити їх цілісність у базі даних. Це важливий крок для забезпечення ефективного управління даними в реляційних базах даних, таких як MySQL.

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