Определения, и самое важное
Инструкция по нормализации базы данных
Первая нормальная форма (1НФ)
Определение: База данных находится в 1НФ, если все значения в столбцах атомарные (неделимые).
Пример:
Неправильно:
1
Анна
123-456, 789-012
Правильно:
1
Анна
123-456
1
Анна
789-012
Вторая нормальная форма (2НФ)
Определение: База данных находится в 2НФ, если она в 1НФ и все неключевые атрибуты зависят от всего первичного ключа.
Пример:
Неправильно:
1
Анна
Лондон
2
Макс
Лондон
Правильно (разделите на две таблицы):
Таблица 1:
1
Анна
2
Макс
Таблица 2:
1
Лондон
2
Лондон
Третья нормальная форма (3НФ)
Определение: База данных находится в 3НФ, если она в 2НФ и все неключевые атрибуты зависят только от первичного ключа.
Пример:
Неправильно:
1
Анна
Лондон
001
Правильно (разделите на три таблицы):
Таблица 1:
1
Анна
Таблица 2:
1
Лондон
Таблица 3:
Лондон
001
Бойс-Кодд нормальная форма (BCNF)
Определение: База данных находится в BCNF, если для каждой зависимости X → Y, X является суперключом.
Пример:
Неправильно:
1
Математика
Иванов
2
Физика
Петров
Правильно (если у каждого предмета только один преподаватель):
Таблица 1:
1
Математика
Иванов
Таблица 2:
1
Иванов
Четвертая нормальная форма (4НФ)
Определение: База данных находится в 4НФ, если она в BCNF и не содержит многозначных зависимостей.
Пример:
Неправильно:
1
Анна
Рисование
1
Анна
Музыка
Правильно (разделите на две таблицы):
Таблица 1:
1
Анна
Таблица 2:
1
Рисование
1
Музыка
Пятая нормальная форма (5НФ)
Определение: База данных находится в 5НФ, если она в 4НФ и каждая зависимость является следствием ключа.
Пример:
Неправильно:
1
Анна
Математика
Иванов
1
Анна
Физика
Петров
Правильно (разделите на три таблицы):
Таблица 1:
1
Анна
Таблица 2:
1
Математика
1
Физика
Таблица 3:
Математика
Иванов
Физика
Петров
Last updated