Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Управл_данными / 06-Норм_Формы

.pdf
Скачиваний:
16
Добавлен:
03.06.2015
Размер:
956.19 Кб
Скачать

Проектирование Баз Данных

Проектирование реляционных БД на основе принципов нормализации.

(часть 2)

Зудилин А.Э. 2013

Исходная ненормализованная таблица

 

 

 

Преподаватели

 

 

 

 

ФИО

Должн

Оклад

Стаж

Д_Стаж

Каф

Предм Группа

ВидЗан

Иванов И.И.

Преп

500

5

100

5

БД

1

Практ,

 

 

 

 

 

 

 

 

Лекц

Иванов И.И.

Преп

500

5

100

5

Инф

1

Практ

Петров П.П.

ст.преп

800

7

100

5

БД

2

Лекц

Петров П.П.

ст.преп

800

7

100

5

ГИС

2

Практ

Сидоров С.С.

Преп

500

10

150

5

Инф

1

Лекц

Сидоров С.С.

Преп

500

10

150

5

ГИС

2

Лекц

Егоров В.В.

Преп

500

5

100

4

Матем

1

Лекц

Составной ключ из трех полей: ФИО + Предм + Группа

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

2

Выявление зависимостей

ФИО --> Оклад

ФИО --> Должн

ФИО --> Д_Стаж

ФИО --> Каф

Стаж --> Д_Стаж

Должн --> Оклад

Оклад --> Должн

ФИО.Предм.Группа --> ВидЗан

Ключом для таблицы “Преподаватели” является сочетание трех атрибутов: ФИО, Предм и Группа, т.к. мы предполагаем, что каждый преподаватель в одной группе по одному предмету может либо читать лекции, либо проводить практические занятия.

3

Наряду с полной зависимостью от ключа (ФИО.Предм.Группа --> ВидЗан), существует несколько частичных зависимостей, в которых атрибуты Оклад, Должн, и др. находятся в функциональной связи с атрибутом ФИО, являющимся частью ключа.

Эта частичная зависимость от ключа приводит к избыточному дублированию , а значит и к аномалиям.

Кроме того, есть две транзитивные зависимости

ФИО --> Должн --> Оклад и ФИО --> Стаж --> Д_Стаж

Устранение избыточностей производится в несколько этапов путем последовательного перевода таблиц в нормальные формы более высокого порядка.

4

1НФ

первая нормальная форма

Отношение (таблица) находится в 1НФ если атрибуты имеют простые (атомарные) значения

Приводим в соответствие с этим правилом поле ВидЗан :

 

 

 

Преподаватели (1НФ)

 

 

 

ФИО

Должн

Оклад

Стаж

Д_Стаж

Каф

Предм Группа

ВидЗан

Иванов И.И.

Преп

500

5

100

5

БД

2

Практ

Иванов И.И.

Преп

500

5

100

5

БД

2

Лекц

Иванов И.И.

Преп

500

5

100

5

Инф

1

Практ

Петров П.П.

ст.преп

800

7

100

5

БД

2

Лекц

Петров П.П.

ст.преп

800

7

100

5

ГИС

2

Практ

Сидоров С.С.

Преп

500

10

150

5

Инф

1

Лекц

Сидоров С.С.

Преп

500

10

150

5

ГИС

2

Лекц

Егоров В.В.

Преп

500

5

100

4

Матем

3

Лекц

5

2НФ

– вторая нормальная форма

Отношение находится в 2НФ, если оно находится в 1НФ, и нет частичных зависимостей от ключа.

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

В нашем примере составной ключ (ФИО+Предм+Группа ) и присутствует несколько частичных зависимостей атрибутов от ключа.

Таблица Преподаватели не соответствует 2НФ !

6

Зависимости атрибутов

 

 

 

Преподаватели

 

 

 

 

ФИО

Должн

Оклад

Стаж

Д_Стаж

Каф

Предм Группа

ВидЗан

Иванов И.И.

Преп

500

5

100

5

БД

2

Практ

Виды зависимостей:

Полная зависимость:

Ключ->ВидЗан

Частичная зависимость:

Ключ->Каф , …

Транзитивная зависимость:

ФИО->Оклад, ФИО->Д_Стаж

7

Результат приведения к 2НФ

Разбиение на две связанные таблицы R1 и R2, каждая из которых в 2НФ :

 

R1

 

 

 

 

 

 

 

ФИО

 

Предм

Группа

ВидЗан

 

Иванов И.И.

БД

 

2

Практ

 

Иванов И.И.

БД

 

2

Лекц

 

Иванов И.И.

Инф

 

1

Практ

 

Петров П.П.

БД

 

2

Лекц

 

Петров П.П.

ГИС

 

2

Практ

 

Сидоров С.С.

Инф

 

1

Лекц

 

Сидоров С.С.

ГИС

 

2

Лекц

R2

Егоров В.В.

Матем

 

3

Лекц

 

 

 

 

 

 

 

ФИО

Должн

Оклад

Стаж

Д_Стаж Каф

 

 

Иванов И.И.

Преп

500

5

100

5

 

ФИО

 

 

Петров П.П.

ст.преп

800

7

100

5

 

 

Сидоров С.С.

Преп

500

10

150

5

 

 

Егоров В.В.

Преп

500

5

100

4

 

 

ФИО

 

 

 

 

 

Предм

 

ВидЗан

Группа

 

 

 

 

 

 

 

Оклад

Должн

Стаж

 

Д_Стаж

 

 

 

Каф

8

Исследование таблиц R1 и R2 показывает, что переход к 2НФ позволил исключить явную избыточность данных в таблице R2 – повторение строк со сведениями о преподавателях.

Однако в R2 по прежнему имеет место неявное дублирование данных Для дальнейшей оптимизации необходимо преобразовать R2 в 3НФ.

9

3НФ

– третья нормальная форма

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

Определение 2:

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

Транзитивные зависимости от ключа порождают избыточное дублирование.

Их необходимо устранять.

10

Соседние файлы в папке Управл_данными