Реляционные модели данных, страница 2

Исключение нормативов может привести к исключению информации о кодификаторе, кода материала и его наименования. Желательно иметь инструментарий для выявления типов плохих отношений.

Первоначально «отец» реляционных моделей данных Кодд Е. (1972) предложил три уровня нормализации отношений, назвав их соответственно первой нормальной формой (1НФ), второй нормальной формой (2НФ), третьей нормальной формой (3НФ). При этом справедливо следующее: каждый очередной класс нормальных форм является подклассом предыдущего (рис. 4.5)     

 


Рис. 4.5
1НФ : Отношение r находится в 1НФ тогда и только тогда, когда все входящие в него домены содержат только атомарные значения.

Например :

Группа

Задолжники

Дисциплина

ПО - 31

Петров

Иванов

Химия

Химия

ПО - 32

Сидоров

Сидоров

Физика

Математика

Приведенное отношение не принадлежит классу отношений в первой нормальной форме.

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

Если задано отношение r, то мы говорим, что атрибут Y этого отношения функционально зависит от атрибута (возможно составного) Х  каждое значение Х в каждый момент времени связано с одним значением Y.

При этом одно и то же значение Х может появиться в нескольких разных  картежах отношения r.

K

 

D

 
POST 1

D

O

K

R

 

R

 

O

 
                                                  

Если Y функционально зависит от Х, то по определению, каждый из этих картежей должен содержать одно и то же значение Y.

Выявление функциональных зависимостей является существенной частью понимания семантики данных. Например тот факт, что атрибут CITY функционально зависит от О, означает, что каждый поставщик расположен только в одном городе. Другими словами в реальном мире существуют некоторые ограничения, которые отражаются в базе данных.

Основные правила вывода для функциональных зависимостей (аксиомы) и следствия.

1.   Рефлективность.

Пусть задано Х и YX, тогда ХХ и ХY, то есть множество определяет функционально любое свое подмножество.

2.   Транзитивность.

Если ХY , YZ  XZ

3.   Дополнительность.

Если XY и XW WY

Полная функциональная зависимость. Атрибут Y находится в полной функциональной зависимости от атрибута Х, если он функционально зависит от Х и не зависит функционально  от любого соответственного подмножества Х.

Например R в ORG зависит от пары атрибутов Х =  ХR, Однако : ОR.

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


Рассмотрим функциональную зависимость следующего типа

АВ, ВА (т.е. В не ключ отношения) и ВС.

В соответствии с аксиомой вывода для функциональных зависимостей АС.

 


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

Отношение находится в 3НФ, если оно находится во 2НФ и в нем отсутствует транзитивные зависимости не первичных атрибутов от ключа типа : 

АВ,      ВА   и    ВС

Нормализация отношений достигается за счет разбиения одного отношения на несколько высоко нормализованных отношений.

ORG

 


ORG1                                                    CITY1

O

N

CITY

CITY

R