Нормальные формы. Таблица находится в первой нормальной форме (1НФ), если значения ее атрибутов атомарные (простые)

Таблица находится в первой нормальной форме (1НФ), если значения ее атрибутов атомарные (простые). Из приведенных в предыдущем вопросе таблиц, только первая не удовлетворяет этим требованиям. Таким образом, универсальное отношение «Питание» (Таблица 1.7) является отношением в первой нормальной форме.

Таблица находится во второй нормальной форме (2НФ), если она удовлетворяет определению 1НФ и все ее поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом.

Ко второй нормальной форме приведены почти все таблицы (Рис. 1.12), кроме таблицы Поставщики, в которой поле «Страна» зависит только от поля «Город», которое является частью первичного ключа (Поставщик: Город).

Последнее обстоятельство приводит к проблемам при:

- включении данных (пока не появится поставщик из Вильнюса, нельзя зафиксировать, что этот город Литвы),

- удалении данных (исключение поставщика может привести к потере информации о местонахождении города),

- обновлении данных (при изменении названия страны приходится просматривать множество строк, чтобы исключить получение противоречивого результата).

Что же касается таблиц Рис 1.13, то ввод в них отсутствующих в предметной области цифровых первичных и внешних ключей формально затрудняет процедуру выявления функциональных связей между этими ключами и остальными полями. Действительно, легко установить связь между атрибутом Блюдо и Вид (блюда): Харчо – Суп, Лобио – Закуска и т.п., но нет прямой зависимости между полями БЛ и Вид (блюда), если не помнить, что значение БЛ соответствует номеру блюда. Для упрощения нормализации подобных таблиц целесообразно использовать следующую рекомендацию:

При проведении нормализации таблиц, в которые введены цифровые (или другие) заменители составных или текстовых первичных и внешних ключей, следует хотя бы мысленно подменять их на исходные ключи, а после окончания нормализации снова восстанавливать.

Таблица находится в третьей нормальной форме (3НФ), если она удовлетворяет определению 2НФ и ни одно из ее неключевых полей не зависит функционально от любого другого неключевого поля.

После разделения таблицы Поставщики (Рис 1.12) на две части, все таблицы этого проекта удовлетворяют определению 2НФ, а так как в них нет неключевых полей, функционально зависящих друг от друга, то все они находятся в 3НФ.

Как ни странно, этого нельзя сказать об аналогичных таблицах Рис 1.13. Если забыть рекомендацию о подмене на время нормализации ключей БЛ, ПР и ПОС на Блюдо, Продукт и (Поставщик, Город), то среди этих таблиц появятся две, не удовлетворяющие определению 3НФ.

Действительно, так как после ввода первичных ключей БЛ и ПР поля Блюдо и Продукт стали неключевыми – появились несуществовавшие ранее функциональные зависимости между неключевыми полями:

Блюдо->Вид и Продукт->Калорийность.

Следовательно, для приведения таблиц Блюда и Продукты Рис. 1.13 к 3НФ их надо разбить на

Блюда: (БЛ, Блюдо),

Вид блюда: (БЛ, Вид);

Продукты: (ПР, Продукт);

Калорийность продукта (ПР,Калорийносить);

хотя интуиция подсказывает, что это лишнее разбиение, совсем не улучшающее проекта базы данных. Столкнувшись с подобными противоречиями, которые могут возникать не только из-за введения кодированных первичных ключей, теоретики реляционных систем Кодд и Бойс обосновали и предложили более строгое определение для 3НФ, которое учитывает, что в таблице может быть несколько возможных ключей.

Таблица находится в нормальной форме Бойса – Кодда (НФБК) только если любая функциональная зависимость между его полями сводится к полной функциональной зависимости от возможного ключа.

В соответствии с этой формулировкой таблицы Блюда и Продукты находятся в НФБК или 3НФ.

В следующих нормальных формах учитывается не только функциональные, но и многозначные зависимости между полями таблицы. Для их описания используют понятие декомпозиции таблиц.

Полной декомпозицией таблиц называют такую совокупность произвольного числа ее проекций, соединение которых полностью совпадает с содержимым таблицы.

Например, естественным соединением таблиц, представленных на Рис. 1.12, 1.13 можно образовать исходную таблицу «Питание».

Таблица находится в пятой нормальной форме (5НФ), тогда и только тогда, когда в каждой ее полной декомпозиции все проекции содержат возможный ключ. Таблица, не имеющая ни одной декомпозиции находится в 5НФ.

Четвертая нормальная форма (4НФ) является частным случаем 5НФ, когда полная декомпозиция должна быть соединением ровно двух проекций.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: