Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metodichka_po_teorii_EIS.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
751.62 Кб
Скачать
  1. Вторая и третья нормальные формы

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

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

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

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

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

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

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

Завод

Изделие

Цена

План

Луч

Ч-15

80

2000

Луч

Ч-17

75

1000

Чайка

Ч-15

80

3000

Чайка

Ч-20

70

1000

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

.

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

; (1)

; (2)

; (3)

; (4)

. (5)

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

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

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

и

.

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

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

Завод

Изделие

План

Луч

Ч-15

2000

Луч

Ч-17

1000

Чайка

Ч-15

3000

Чайка

Ч-20

1000

Изделие

Цена

Ч-15

80

Ч-17

75

Ч-20

70

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

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

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

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

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

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

ФИО

Группа

Факультет

Гришин Б.С.

844

ВТ

Милорадов В.Д.

844

ВТ

Князев Е.Е.

717

РТ

Рожкова А.Н.

717

РТ

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

.

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

; (6)

; (7)

; (8)

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

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

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

и

.

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

ФИО

Группа

Гришин Б.С.

844

Милорадов В.Д.

844

Князев Е.Е.

717

Рожкова А.Н.

717

Группа

Факультет

844

ВТ

717

РТ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

№ п/п

Наименование атрибута

Идентификатор

1

2

3

4

5

6

7

8

9

10

11

12

13

14

Название НИИ

Директор НИИ

Адрес НИИ

Код отдела

Число сотрудников в отделе

Код темы НИР

Дата начала темы

Дата окончания темы

Приоритет темы

Заказчик темы

Объем финансирования темы

Код работы в теме

Продолжительность работы

ФИО исполнителя работы

НИИ

ДИРЕКТОР

АДРЕС

ОТДЕЛ

КСОТР

ТЕМА

ДАТАНАЧ

ДАТАКОН

ПРИОР

ЗАКАЗ

ОБФИН

РАБОТА

ПРОД

ФИО

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

ОТДЕЛ → НИИ

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

ОТДЕЛ → КСОТР

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

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

ТЕМА → ПРИОР

ФИО → НИИ

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

ФИО → ОТДЕЛ

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

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

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

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

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

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

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]