Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3_Лекция 1_Метод нормализации.docx
Скачиваний:
7
Добавлен:
19.11.2019
Размер:
593.3 Кб
Скачать

Приведение ненормализованной формы к 1nf

Существуют два способа исключения повторяющихся групп из ненормализованных таблиц.

1-й способ приведения ННФ к 1NF:

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

В примере повторяющаяся группа (сведения об объекте недвижимости) устраняется с помощью ввода в каждую строку с описанием объекта недвижимости соответствующих сведений о клиенте (первичного ключа и имени клиента: clientNo и cName).

Первая нормальная форма (1NF) отношения ClientRental

Вопрос: какие атрибуты можно выбрать в качестве первичного ключа?

В качестве первичного ключа этого отношения выберем группу (clientNo, propertyNo).

2-й способ приведения ННФ к 1NF:

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

В примере повторяющаяся группа (сведения об арендованных объектах недвижимости) удаляется из данного отношения, и помещается в другое отношение вместе с копией исходного ключевого атрибута (clientNo).

Первая нормальная форма (1NF) отношения PropertyRentalOwner (арендуемые объекты недвижимости и собственники)

В качестве первичного ключа этого отношения выбирается группа (clientNo, propertyNo).

Остаток исходного отношения (сведения о клиентах) представлен в следующей таблице.

Первая нормальная форма (1NF) отношения Client

Здесь в качестве первичного ключа выбирается атрибут clientNo.

Полученные отношения Client и PropertyRentalOwner связаны ограничением внешнего ключа. Атрибут PropertyRentalOwner(clientNo) играет роль внешнего ключа, содержит ссылку на атрибут первичного ключа Client(clientNo).

Вопрос: Каким будет результат операции

4. 2-я нормальная форма

Определение (полной функциональной зависимости). Пусть x и y – атрибуты отношения R. Функциональная зависимость xy называется полной, если атрибут y функционально не зависит от любого собственного подмножества атрибута x.

Например, функциональная зависимость staffNo, sName  branchNo не является полной, т.к. существует функциональная зависимость staffNo  branchNo

Отношение «СотрудникиОтделения»

Вопрос: какой атрибут функционально зависит от атрибутов salary, branchNo  ? и эта зависимость также не является полной, почему?

Функциональная зависимость salary, branchNo  bAddress не является полной, т.к. существует функциональная зависимость branchNo  bAddress.

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

Схема приведения отношения к 2NF

Пусть задано отношение R(x1, x2, y1, y2, y3) и x={x1, x2} – первичный ключ, т.е. существуют функциональные зависимости x  y1, x  y2, x  y3.

Пусть в отношении отсутствуют повторяющиеся группы атрибутов и, следовательно, отношение R находится в 1NF.

Пусть зависимости x  y1, x  y2 являются полными функциональными зависимостями. Кроме того, существует функциональная зависимость x2  y3 и, следовательно, зависимость x y3 не является полной.

Устраним из отношения R зависимость x2  y3, нарушающую требование 2NF, выполнив декомпозицию исходного отношения на следующие два отношения.

Пусть L1={x2, y3}, L2={x1, x2, y1, y2}