Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Министерство образования и науки РФ.docx
Скачиваний:
6
Добавлен:
17.02.2016
Размер:
46.81 Кб
Скачать

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

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

Для приведения отношения в первую нормальную форму могут использоваться два подхода:

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

Например: Было:

Код Поставщика

Адрес

Дата поставки

№ поставки

1

ул. Солнечная 23

12.03.2007

13

12.06.2007

45

25.08.2007

127

Код Поставщика

Адрес

Дата поставки

№ поставки

1

ул. Солнечная 23

12.03.2007

13

1

ул. Солнечная 23

12.06.2007

45

1

ул. Солнечная 23

25.08.2007

127

Стало (1 подход):

2. Повторяющиеся группы изымаются и помещаются в отдельные

отношения с копией первичного ключа исходного отношения. Стало (2 подход):

Код Поставки

Дата поставки

№ поставки

Код поставщика

1

12.03.2007

13

1

2

12.06.2007

45

1

3

25.08.2007

127

1

Вторая нормальная форма

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

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

Например:

Существует отношение:

Сотрудник (Код отдела, Код сотрудника, ФИО сотрудника, Рейтинг сотрудника, Название отдела)

Первичный ключ: Код отдела, Код сотрудника

В этом отношении есть частичная зависимость:

Код отдела -> Название отдела.

Для приведения отношения ко второй нормальной форме мы должны создать два отношения:

1. Сотрудник (Код отдела, Код сотрудника, ФИО сотрудника, Рейтинг

сотрудника) Первичный ключ: Код отдела, Код сотрудника

2. Отдел (Код отдела, Название отдела) Первичный ключ: Код отдела

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

Чтобы отношение находилось в третьей нормальной форме, необходимо, чтобы неключевые атрибуты в нем не зависели от других неключевых атрибутов, а зависели только от первичного ключа [1]. То есть необходимо убрать все транзитивные зависимости.

C транзитивно зависит от А, если А->B и B->C [1].

Например:

В существующем отношении:

Товар (Код товара, Модель, Код поставщика, № магазина, Адрес магазина)

Первичный ключ:Код товара

Код товара-> Адрес магазина – это транзитивная зависимость. Так как существуют функциональные зависимости:

Код товара ->№ магазина

№ магазина->Адрес магазина.

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

Таким образом результатом нормализации отношения из примера будут два отношения:

1. Товар (Код товара, Модель, Код поставщика, № магазина) Первичный ключ: Код товара Внешний ключ: № магазина ссылается на Магазин (№ магазина)

2. Магазин (№ магазина, Адрес магазина) Первичный ключ: № магазина.