Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
42
Добавлен:
10.05.2014
Размер:
366.3 Кб
Скачать

Проектирования реляционных баз данных

Вторая нормальная форма (2NF)

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

Домен

НОМЕР

ИМЯ

ГОРОД

КОД

НОМЕР

НАЗВА

ДЕНЬ-

КОЛ-

 

Поста

 

 

 

Товара

-НИЕ

ГИ

ВО

 

вщика

 

 

 

 

 

 

 

Атрибут

Sid(PK)

SName

City

Cod

Pid(PK)

PName

Price

Qty

 

S1

Smith

London

20

P1

Nut

12

200

 

S1

Smith

London

20

P2

Bolt

17

100

 

S1

Smith

London

20

P3

Screw

17

100

 

S2

Jones

Paris

10

P1

Nut

12

150

 

S2

Jones

Paris

10

P2

Bolt

17

200

(Sid, Pid) QTY – функционально полная

(Sid, Pid) SName или (Sid, Pid) Price – не функционально полные

Проектирования реляционных баз данных

Вторая нормальная форма (2NF)

 

 

 

Поставщик в 2НФ

Sid(PK)

SName

City

Cod

S1

Smith

London

20

S1

Smith

London

20

S1

Smith

London

20

S2

Jones

Paris

10

S2

Jones

Paris

10

 

 

 

 

Поставляемый товар НЕ в 2НФ

Sid(PK)

Pid(PK)

PName

Price

Qty

S1

P1

Nut

12

200

S1

P2

Bolt

17

100

S1

P3

Screw

17

100

S2

P1

Nut

12

150

S2

P2

Bolt

17

200

 

 

 

 

 

Проектирования реляционных баз данных

Вторая нормальная форма (2NF)

Поставщик в 2НФ

 

Товар в 2НФ

Sid(PK) SName City

Cod

 

Pid(PK) PName Price

 

 

 

 

S1

Smith

London

20

S2

Jones

Paris

10

 

 

 

 

P1

Nut

12

P2

Bolt

17

P3

Screw

17

 

 

 

 

 

Поставка в 2НФ

Sid(PK)

Pid(PK)

Qty

S1

P1

200

S1

P2

100

S1

P3

100

S2

P1

150

S2

P2

200

 

 

 

Проектирования реляционных баз данных

Вторая нормальная форма (2NF) IDEF1X

Проблема вставки

Sid SName, Sid City, City Code

Проблема обновления

Проблема удаления

Транзитивная зависимость Sid Code

Проектирования реляционных баз данных

Третья нормальная форма (3NF)

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

Декомпозиция на основе City Code:

ПОСТАВЩИК ( Sid, SName, Code) ГОРОД (Code, City)

Проектирования реляционных баз данных

Нормальная форма Бойса-Кодда (НФБК)

Иэн Хит - 1971г

Для случаев когда:

Отношение имеет несколько потенциальных ключей

Потенциальные ключи являются составными

Потенциальные ключи имеют общие атрибуты

Нормализованное отношение находится в НФБК тогда и только тогда, когда каждый детерминант является потенциальным ключом

X Y; X-детерминант

Проектирования реляционных баз данных

Нормальная форма Бойса-Кодда (НФБК)

Отношение R находится в НФБК, если оно находится в третьей нормальной форме и все функционально определяющие совокупности атрибутов являются потенциальным ключом.

До определения НФБК, предполагалось, что в отношении один потенциальный ключ, который и является первичным. НФБК может нарушаться в случае, когда потенциальных ключей несколько.

Проектирования реляционных баз данных

Нормальная форма Бойса-Кодда (НФБК)

Каждый студент изучает некоторый предмет под руководством только одного преподавателя:(S, P) T

Каждый преподаватель проводит занятия только по одному предмету: T P

S (PK ?)

P(PK ?)

T (PK ?)

 

 

 

Иванов

Математика

Петров

 

 

 

Иванов

Физика

Михайлов

 

 

 

Сидоров

Математика

Ильин

 

 

 

Сидоров

Физика

Михайлов

 

 

 

Сергеев

Химия

Дымов

 

 

 

Функциональных зависимостей нарушающих 2НФ и 3НФ нет.

Ключи: (SP) или (ST)

Аномалии: удаляя Сергеева из изучения Химии теряем информацию о преподавателе Дымове.

Проектирования реляционных баз данных

Нормальная форма Бойса-Кодда (НФБК)

Пример в IDEF1X. Нарушение НФБК, ключ SP.

ПРЕДМЕТ

P

ПРЕДМЕТ СТУДЕНТА

ПРЕПОДАВАТЕЛЬ

S (AK1.1)

 

T

P (FK1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T (FK2) (AK1.2)

 

P (FK)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Проектирования реляционных баз данных

Нормальная форма Бойса-Кодда (НФБК)

Пример в IDEF1X. Нарушение НФБК, ключ ST.

ПРЕДМЕТ

P

ПРЕДМЕТ СТУДЕНТА

ПРЕПОДАВАТЕЛЬ

S(AK1.1)

T

T (FK1)

 

 

 

P (FK)

P (FK2) (AK1.2)

P (FK) (IE)

 

 

 

 

 

Соседние файлы в папке Презентации БД (ВФ)