
Презентации БД (ВФ) / DB_lec4
.pdf
Проектирования реляционных баз данных
Вторая нормальная форма (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) |
|||
|
|
||
|
|
|