Вторая и третья нормальные формы




 

Отношение имеет вторую нормальную форму (2НФ), если оно соответствует 1НФ и не содержит неполных ФЗ.

Неполная ФЗ – это две зависимости:

- вероятный ключ отношения функционально определяет некоторый неключевой атрибут;

- часть вероятного ключа функционально определяет этот же неключевой атрибут.

Отношение, не соответствующее 2НФ, характеризуется избыточностью хранимых данных, которая может быть устранена разбиением исходного отношения на несколько новых.

База данных находится в 2НФ, если все ее отношения находятся в 2НФ.

 

Пусть дано отношение :

 

Завод Изделие Цена План
Луч Ч-15    
Луч Ч-17    
Чайка Ч-15    
Чайка Ч-20    

 

Вероятный ключ отношения является двухатрибутным:

.

В этом отношении имеются следующие функциональные зависимости:

; (1)

; (2)

; (3)

; (4)

. (5)

В отношении имеет место избыточность информации, т.к. цена указана столько раз, сколько заводов производят некоторое изделие.

Функциональные зависимости вида (3) и (2) образуют неполную функциональную зависимость.

Для приведения отношения к 2НФ необходимо разбить его на два новых отношения:

и

.

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

Ниже приведены отношения и :

 

Завод Изделие План
Луч Ч-15  
Луч Ч-17  
Чайка Ч-15  
Чайка Ч-20  

 

Изделие Цена
Ч-15  
Ч-17  
Ч-20  

 

Отношение соответствует третьей нормальной форме, если оно имеет 2НФ и среди его атрибутов отсутствуют транзитивные ФЗ.

Транзитивная ФЗ – это две зависимости:

- вероятный ключ отношения функционально определяет неключевой атрибут;

- этот неключевой атрибут функционально определяет другой неключевой атрибут.

База данных находится в 3НФ, если все ее отношения находятся в 3НФ.

 

Пусть дано отношение :

 

ФИО Группа Факультет
Гришин Б.С.   ВТ
Милорадов В.Д.   ВТ
Князев Е.Е.   РТ
Рожкова А.Н.   РТ

Вероятным ключом отношения является атрибут ФИО.

.

В этом отношении имеются следующие функциональные зависимости:

; (6)

; (7)

; (8)

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

Функциональные зависимости вида (6) и (7) образуют транзитивную функциональную зависимость.

Для приведения отношения к 3НФ необходимо разбить его на два новых отношения:

и

.

 

Ниже приведены отношения и :

 

ФИО Группа
Гришин Б.С.  
Милорадов В.Д.  
Князев Е.Е.  
Рожкова А.Н.  

 

Группа Факультет
  ВТ
  РТ

 

Отношения и соответствуют 3НФ, т.к. отношения, в которых имеется либо одна функциональная зависимость, либо ни одной, соответствуют 3НФ, т.к. неполная ФЗ и транзитивная ФЗ предполагают существование двух функциональных зависимостей.

Алгоритм приведения БД к 3НФ сохраняет первоначальные ФЗ, обеспечивает соединение без потерь, а результат декомпозиции в 3НФ обычно содержит меньше значений атрибутов, чем исходное отношение.

Алгоритм приведения БД к 3НФ содержит следующие действия.

1. Получить исходное множество ФЗ для атрибутов рассматриваемой БД.

Для определения ФЗ можно использовать перечисление и отбраковку допустимых вариантов ФЗ. При этом рассматриваются сочетания:

по два атрибута;

по три атрибута, где первые два функционально определяют третий;

по четыре атрибута, где первые три функционально определяют четвертый, и т.д.

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

Если в исходных отношениях имеется различных атрибутов и первичный ключ содержит атрибутов, то требуется проверок зависимостей, где – число сочетаний из по .

2. Получить минимальное покрытие множества ФЗ, в котором должны отсутствовать ФЗ, являющиеся следствием оставшихся ФЗ. ФЗ с одинаковой левой частью должны быть объединены в одну ФЗ.

Обозначим минимальное покрытие ФЗ через .

3. Для каждой ФЗ , полученной на шаге 2, создать проекцию исходного отношения , где – объединение атрибутов из левой и правой частей .

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

Для взаимно однозначных соответствий принято выделение старшего атрибута, который затем представляет все атрибуты взаимно однозначного соответствия.

В качестве примера рассмотрим отношение со сведениями о научно-исследовательских работах. Список атрибутов отношения приведен в таблице.

Для атрибутов НИИ, ДИРЕКТОР, АДРЕС существует взаимно однозначное соответствие.

В качестве атрибута-представителя выберем НИИ.

 

Таблица. Список атрибутов

№ п/п Наименование атрибута Идентификатор
  Название НИИ Директор НИИ Адрес НИИ Код отдела Число сотрудников в отделе Код темы НИР Дата начала темы Дата окончания темы Приоритет темы Заказчик темы Объем финансирования темы Код работы в теме Продолжительность работы ФИО исполнителя работы НИИ ДИРЕКТОР АДРЕС ОТДЕЛ КСОТР ТЕМА ДАТАНАЧ ДАТАКОН ПРИОР ЗАКАЗ ОБФИН РАБОТА ПРОД ФИО

 

Список ФЗ имеет вид:

ОТДЕЛ → НИИ

ОТДЕЛ → ДИРЕКТОР

ОТДЕЛ → КСОТР

ТЕМА → ДАТАНАЧ

ТЕМА → ДАТАКОН

ТЕМА → ПРИОР

ФИО → НИИ

ФИО → ДИРЕКТОР

ФИО → ОТДЕЛ

ТЕМА, ЗАКАЗ → ОБФИН

ТЕМА, РАБОТА, ФИО → ПРОД

Структура реляционной БД имеет вид:

R1(НИИ, ДИРЕКТОР, АДРЕС)

R2(НИИ, ОТДЕЛ, КСОТР)

R3(ТЕМА, ДАТАНАЧ,ДАТАКОН, ПРИОР)

R4(ФИО, ОТДЕЛ)

R5(ТЕМА, ЗАКАЗ, ОБФИН)

R6 (ТЕМА, РАБОТА, ФИО, ПРОД)

R7(ТЕМА, ЗАКАЗ, РАБОТА, ФИО)

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

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-12-29 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: