Основные понятия реляционной модели данных. Потенциальные ключи отношений, страница 5

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

S#

STATUS

CITY

S1

20

London

S2

10

Paris

S3

10

Paris

S5

30

Athens

S#

P#

QTY

S1

P1

300

S1

P2

200

S1

P3

400

S2

P1

300

S2

P2

400

S3

P2

200

Таблица 1.                                               Таблица 2.

Для отношения находящегося во второй нормальной форме также характерны аномалии операции обновления. Аномалии:

·  Операция, для которой в таблице записывается новая запись INSERT. Аномалия – при вставке записи невозможно включение данных о некотором городе, обладающих некоторым STATUS.

·  DELETE. При удалении записи кортежа для некоторого города будет удалена информация о статусе, который имел этот город.

·  UPDATE. Значение статуса для города может повторяться несколько раз, что приводит к необходимости просматривать всю таблицу при изменении записи.

Для того, чтобы устранить эти аномалии, отношение необходимо привести к 3НФ.

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

Номер поставщика определяет город, а город определяет STATUS. Таблица 2 (смотри ранее) уже находится в 3НФ. Приведем таблицу 1 к 3НФ:

S#

CITY

CITY

STATUS

S1

London

London

20

S2

Paris

Paris

10

S3

Paris

Paris

10

S5

Athens

Athens

30

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

       Теорема Хита (Heath). Пусть R – это отношение с атрибутами А, В, С – R(A, B, C). Если R, удовлетворяет функциональной зависимости A→B, то R равно соединению его проекции по атрибутам (A,B) и (A,C).

Пример:

S#

STATUS

CITY

S3

30

Paris

S3

30

Athens

Без потерь

С потерями

S#

STATUS

P#

STATUS

S#

CITY

STATUS

CITY

НФ Бойса-Кодда

На практике отношения могут иметь следующие свойства, которые не учитывались при рассмотрении первых трех НФ:

1.  Отношение может иметь 2 и более потенциальных ключей.

2.  Они являются сложными.

3.  Два и более потенциальных ключа имеют по крайней мере один общий атрибут.

Пример:

Потенциальный ключ: S#, P#; SNAME, P#

S#

SNAME

P#

QTY

S1

Smith

P1

300

S1

Smith

P2

200

S1

Smith

P3

400

S1

Smith

P4

200

В отношении с такими свойствами могут также иметь место операции обновления. В рассмотренном примере при обновлении SNAME необходимо посмотреть все отношение. Это можно устранить, выполнив декомпозицию следующим образом:

(S#, SNAME) & (S#, P#, QTY)