податрибуты исходного атрибута

Согласно требованиям  1NF отношение не должно иметь сложных неатомарных атрибутов. Если по условию задачи подразумевается атрибут неатомарным, то он заменяется на набор характеристик, т.е. на несколько атрибутов, связанных с исходным атрибутом.

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

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

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

Например, пусть дано отношение РезультатыСессии (ФИО, NЗачКнижки, Дисциплина, Группа, Оценка). Атрибуты первичного ключа подчеркнуты сплошной линией.

Ключевые атрибуты — NЗачКнижки, Дисциплина,

Существует неполная функциональная зависимость не ключевого атрибута Группа от ключевого атрибута   NЗачКнижки. То есть для некоторых множеств значений NЗачКнижки есть одно значение атрибута Группа.

Производим декомпозицию отношения на два связанные через атрибут NЗачКнижки.

ДанныеОСтудентах(ФИО,NЗачКнижки, Группа)

РезультатыСессии2(ФИО,NЗачКнижки, Дисциплина, Оценка).

При этом атрибут  в отношении РезультатыСессии2 выступает как в качестве первичного ключа, так и в качестве первичного, то есть по нему производится связь с отношением ДанныеОСтудентах.

3NF – подразумевает, чтобы отношение было нормализовано по 2NF и в отношении не существовало бы транзитивных зависимостей не ключевых атрибутов от каких либо ключевых атрибутов.

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

То есть атрибут b зависит от a по зависимости r1 (b=r1(a))  , а атрибут с зависит от b по зависимости r2 ( с=r2(b). Но нет примой зависимости атрибута с от а.

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

Например, пусть есть отношение ДаннАвто(РегНомерАвто, ВладелецАвто, МодельАвто, Цена). Атрибут Цена  транзитивно зависит от атрибута РегНомерАвто, через атрибут МодельАвто.

Производтм декомпозицию исходного отношения на два ДаннАвто(РегНомерАвто, ВладелецАвто, МодельАвто) и ДаннМодельАвто(МодельАвто, Цена).

Ссылка на основную публикацию
Adblock
detector