Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


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




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

Если какой-либо атрибут зависит от части составного первичного ключа, то необходимо:

• создать новое отношение, атрибутами которого будут:

• часть составного ключа (первичный ключ нового отношения)

• атрибут, зависящий от нового ключа

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

То есть, если имеется отношение R(k1, k2, a1, a2), находящееся в 1НФ, где k1, k2 – составной первичный ключ, а a1 и a2 – неключевые атрибуты отношения R, и имеются функциональные зависимости:

k1, k2 a1 (атрибут a1 функционально полно зависит от первичного ключа k1, k2),

k1 a2 (атрибут a2 зависит от части первичного ключа k1, т.е. имеется неполная функциональная зависимость)

Для приведения отношения R к 2НФ, это отношение декомпозируется на два отношения: R1(k1, a2) и R2(k1, k2, a1). Отношения R1 и R2 будут иметь связь один-ко-многим по атрибуту k1.

Пример: Дано отношение Поставки(КодПоставщика, КодПродукта, ЕдиницаИзмерения). Поставщик может поставлять различные продукты, один и тот же продукт может поставляться разными поставщиками. Тогда первичным ключом отношения будут атрибуты КодПоставщика и КодПродукта. Значит, существует функциональная зависимость:

КодПоставщика, КодПродукта ЕдиницаИзмерения

С другой стороны, какой бы поставщик не поставит продукт, единица измерения от этого не изменится (например, цельное молоко измеряется литрами независимо от поставщика, а соль – килограммами). Т.е. существует еще одна функциональная зависимость (неключевой атрибут зависит от части первичного ключа):

КодПродукта ЕдиницаИзмерения

После исключения неполной функциональной зависимости получим отношения:

Поставки (КодПоставщика, КодПродукта) и Продукты(КодПродукта, ЕдиницаИзмерения)

 

При неполной функциональной зависимости возникают аномалии:

включения (пока поставщиком не будет поставлен продукт, нельзя указать единицу измерения)

удаления (исключение поставщика может привести к потере единицы измерения продукта)

обновления (при изменении единицы измерения продукта, приходится менять данные везде, где встречается данный продукт)

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

 


Поделиться:

Дата добавления: 2014-11-13; просмотров: 93; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты