BCNF против 4NF (4-я нормализация)
Нормализация базы данных - это метод, который имеет дело с системами управления реляционными базами данных. Ошибок данных можно избежать в хорошо нормализованной базе данных. Нормализация используется для уменьшения избыточности данных в базе данных. Это означает реализацию таблиц базы данных и их взаимосвязей, устранение избыточности и непоследовательной зависимости. Для нормализации установлены некоторые предопределенные правила. Эти правила называются нормальными формами.
- Первая нормальная форма (1NF)
- Вторая нормальная форма (2NF)
- Третья нормальная форма (3НФ)
- Нормальная форма Бойса-Кодда (BCNF или 3.5NF)
- Четвертая нормальная форма (4НФ)
Первая нормальная форма называется атомарностью таблицы. Атомарность таблицы может быть достигнута в два этапа.
- Удаление повторяющихся столбцов из одной таблицы.
- Создание отдельных таблиц для связанных дублирующихся столбцов. (должны быть первичные ключи для идентификации каждой строки этих таблиц)
Во второй нормальной форме делается попытка уменьшить избыточные данные в таблице, извлекая их и помещая в отдельную таблицу. Этого можно добиться, выполнив следующие шаги.
- Выберите набор данных, который применяется к нескольким строкам, и поместите их в отдельные таблицы.
- Создайте отношения между этими новыми таблицами и родительскими таблицами, используя внешние ключи.
Чтобы привести базу данных к Третьей нормальной форме, уже база данных должна быть достигнута в первой и второй нормальных формах. Когда база данных находится в 1NF и 2NF, нет повторяющихся столбцов и подмножеств данных, которые применяются к нескольким строкам. Третьей нормальной формы можно достичь, удалив столбцы таблиц, которые не полностью зависят от первичного ключа.
Нормальная форма Бойса-Кодда (BCNF или 3.5NF)
BCNF расшифровывается как «нормальная форма Бойса-Кодда». Эта нормальная форма также известна как 3.5 Нормальная форма нормализации базы данных. Для достижения BCNF база данных должна быть уже приведена к третьей нормальной форме. Затем необходимо выполнить следующие шаги для достижения BCNF.
- Определить все ключи-кандидаты в отношениях
- Определить все функциональные зависимости в отношениях.
- Если в отношении есть функциональные зависимости, детерминанты которых не являются ключами-кандидатами для отношения, удалите функциональные зависимости, поместив их в новое отношение вместе с копией их определителя.
Четвертая нормальная форма
База данных должна быть в третьей нормальной форме перед ее нормализацией в четвертую нормальную форму. Если база данных уже находится в третьей нормальной форме, следующим шагом должно быть удаление многозначных зависимостей. (Если одна или несколько строк подразумевают наличие одной или нескольких других строк в той же таблице, это называется многозначной зависимостью.)
В чем разница между BCNF и 4NF (четвертой нормальной формой)?
• База данных должна быть уже переведена в 3NF, чтобы перевести ее в BCNF, но база данных должна быть в 3NF и BCNF, чтобы достичь 4NF.
• В четвертой нормальной форме нет многозначных зависимостей таблиц, но в BCNF в таблицах могут быть многозначные данные зависимостей.