Вторая нормальная форма. Пусть Х - ключ отношения R, YÌ X, A - не первичный атрибут отношения R. Если Х ÞА и YÞА, то говорят, что в отношении R имеет место частичная зависимость (неполная функциональная зависимость). Если это условие не выполняется, то говорят ,что атрибут А функционально полно зависит от Х в отношении R .
Схема отношения находится во второй нормальной форме ( 2НФ), если она находится в 1НФ, и каждый ее не первичный атрибут функционально полно зависит от первичного ключа.
Пример:
Посмотрим на построенные выше отношения. Только в одном « Заказ» присутствует составной ключ < код клиента>, < код автомобиля>, < дата заказа>.
Проверим , является ли это отношение во 2НФ. Для этого выделим функциональные зависимости между не первичными атрибутами и ключами:
< код автомобиля> Þ код марки, дата изготовления.
Так как не ключевые атрибуты зависят не от всего ключа, а только от части, то отношение не во 2НФ. Необходимо провести его декомпозицию, построив по неполной функциональной зависимости новое отношение «автомобиль».
Заказ |
<дата заказа> |
сумма заказа |
<код клиента> |
<код автомобиля> |
автомобиль |
< код автомобиля> |
код марки |
дата изготовления |
Проверим отношение «Заказ» еще раз. Выясняется, что, так как в заказе может участвовать только 1 автомобиль, то « сумма заказа» не зависит от клиента, также не зависит и от даты, следовательно:
< код автомобиля> Þ сумма заказа.
Можно сделать вывод, что предыдущее отношение было разбито неправильно, так как данная зависимость содержит ключ < код автомобиля> уже являющегося ключом отношения « автомобиль». Новое отношение в этом случае не строится, а в существующие отношения « автомобиль» добавляется поле « цена автомобиля» ( это и есть сумма заказа).
заказ |
<дата заказа> |
<код клиента> |
<код автомобиля> |
автомобиль |
<код автомобиля> |
код марки |
дата изготовления |
цена автомобиля |
+ «клиент» и «марка автомобиля».
Третья нормальная форма. Схема отношения R находится в третьей нормальной форме ( 3НФ), если не существует ключа Х для R, множество атрибутов YÍR и не первичного атрибута А из R таких, что X ÞY справедливо в R; Y ÞА справедливо в R, но YÞX не имеет места.
Другими словами, отношение находится в 3НФ, если оно находится в 2НФ, и каждый не первичный атрибут нетранзитивно зависит от первичного ключа ( не идентифицируется с помощью неключевого поля).
Сведение отношения к 3НФ предполагает разделение его на 2 и более отношений путем выделения тех атрибутов, которые не зависят от ключевого.
Пример.
Рассмотрим схемы отношений из предыдущего примера. Отношения «Заказ», «Автомобиль», «Марка» удовлетворяют условиям 3НФ, но отношение клиент - нет, так как имеется связь: предприятие Þ руководитель, т. е. «руководитель» транзитивно зависит от < кода клиента> ( код клиента Þ предприятие). Выделим атрибут связи, не содержащей ключа, в отдельное отношение « предприятие»: предприятие Þ руководитель, клиент Þ предприятие, но предприятие Þ клиента нет.
предприятие |
<код предприятия> |
назв. предприятия |
руководитель |
клиент |
<код клиента> |
ФИО клиента |
адрес |
телефон |
код предприятия |
заказ |
<дата заказа> |
<код клиента> |
<код автомобиля> |
автомобиль |
<код автомобиля> |
код марки |
дата изготовления |
цена автомобиля |
марка автомобиля |
<код марки> |
марка |
изготовитель |
В случае отсутствия многозначных зависимостей и наличия только одного ключа, 3НФ избавляет от избыточности и аномалий и операций включения, удаления и модификации.
Для большинства проектируемых БД приведение к 3НФ является вполне достаточным. В тех случаях, когда в отношении имеется не один возможный ключ, то приведение к 3НФ не всегда позволяет избавиться от аномалий операций. В этом случае рассматривают «усиленную» 3НФ ( нормальная форма Бойса - Кодда).
Она формируется следующим образом: если схема отношения R находится в нормальной форме Бойса - Кодда, то всегда, когда имеет место зависимость ХÞА и АÏХ, Х включает некоторый ключ отношения R.
О нормальной форме Бойса - Кодда можно сказать, что отношение находится в ней, если любая функциональная зависимость между его атрибутами является полной функциональной зависимостью от возможного ключа.
Если в отношении присутствуют многозначные зависимости , то для исключения всех аномалий необходимо приводить схему отношения к четвертой нормальной форме (4НФ).
Рассмотрим понятие многозначной зависимости. Обозначаются X ->>Y(«X мультиопределяет Y» или « существует многозначная зависимость Y от X»).
Пусть задана схема отношения R, и Y и Х - подмножество множества R. Говорят, что Х->>Y, если при заданных значениях атрибутов из Х существует множество ассоциированных значений атрибутов из Y, и это множество Y-значений никак не связаны с остальными значениями атрибутов (R - X - Y).
Другими словами, атрибут Х многозначно определяет атрибут Y, если для каждого значения X существует хорошо определенное множество соответствующих значений Y.
Пример.
На кафедре читается курс информатики разными преподавателями, но по одинаковым учебникам, что отражено в следующем отношении:
дисциплина |
преподаватель |
учебник |
информатика |
Шипилов П. А. |
Форсайт Р. Паскаль для всех |
информатика |
Шипилов П. А. |
Уэйт М. и др. Язык Си |
информатика |
Петров А. Г. |
Форсайт Р. |
информатика |
Петров А. Г. |
Уэйт М. |
Многозначные зависимости : дисциплина Þ учебник (1 дисциплине соответствуют 2 учебника), дисциплина Þ преподаватель( 1 дисциплине соответствуют 2 преподавателя), а преподаватель и учебник не связаны функциональной зависимостью.
Наличие многозначных зависимостей приводит к сильным аномалиям: например, добавьте еще 1 учебник или еще 1 преподавателя.
При наличие многофункциональных зависимостей строя дополнительно 4НФ и 5НФ.
Назовем полной декомпозицией отношения такую совокупность ее разбиений на меньшие отношения, соединение которых полностью совпадает с прежним отношением . ( Следует учитывать, что при некоторых композициях некоторые функциональные зависимости могут быть потеряны).
Таблица находится в 5НФ, тогда и только тогда, когда в каждой ее полной декомпозиции все проекции содержат возможный ключ. Отношение, не имеющее ни одной полной декомпозиции, также находится в 5НФ.
4НФ является частным случаем 5НФ. Отношение находится в 4НФ, когда ее полная композиция является соединением равно двух проекций.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.