![]() КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Вторая нормальная формаВторая нормальная форма (2НФ): Отношение (таблица) находится во 2НФ, если оно находится в 1НФ, и каждый неключевой атрибут функционально полно зависит от всего ключа. Если какой-либо атрибут зависит от части составного первичного ключа, то необходимо: • создать новое отношение, атрибутами которого будут: • часть составного ключа (первичный ключ нового отношения) • атрибут, зависящий от нового ключа • из исходного отношения исключить атрибут, включенный в новое отношение То есть, если имеется отношение R(k1, k2, a1, a2), находящееся в 1НФ, где k1, k2 – составной первичный ключ, а a1 и a2 – неключевые атрибуты отношения R, и имеются функциональные зависимости:
Для приведения отношения R к 2НФ, это отношение декомпозируется на два отношения: R1(k1, a2) и R2(k1, k2, a1). Отношения R1 и R2 будут иметь связь один-ко-многим по атрибуту k1. Пример: Дано отношение Поставки(КодПоставщика, КодПродукта, ЕдиницаИзмерения). Поставщик может поставлять различные продукты, один и тот же продукт может поставляться разными поставщиками. Тогда первичным ключом отношения будут атрибуты КодПоставщика и КодПродукта. Значит, существует функциональная зависимость:
С другой стороны, какой бы поставщик не поставит продукт, единица измерения от этого не изменится (например, цельное молоко измеряется литрами независимо от поставщика, а соль – килограммами). Т.е. существует еще одна функциональная зависимость (неключевой атрибут зависит от части первичного ключа): КодПродукта ЕдиницаИзмерения После исключения неполной функциональной зависимости получим отношения: Поставки (КодПоставщика, КодПродукта) и Продукты(КодПродукта, ЕдиницаИзмерения)
При неполной функциональной зависимости возникают аномалии: • включения (пока поставщиком не будет поставлен продукт, нельзя указать единицу измерения) • удаления (исключение поставщика может привести к потере единицы измерения продукта) • обновления (при изменении единицы измерения продукта, приходится менять данные везде, где встречается данный продукт) Данные виды аномалий возникают при любой избыточной функциональной зависимости.
|