Лекция №7 - Алгоритм (продолжение)

 

Алгоритм синтеза "хорошей" БД

Пример

7) редуцирование атрибутов справа ФЗ, расположенной по иерархии выше

вычёркиваем в графе A

8)

нет ФЗ с пустой правой частью, потому шаг пропускаем.

9)

ρ =(AB, BCD)=(R 1, R 2)

10)

проверяем

· соединение без потерь

F =(AB, BA, ACD, BCD)

Значит, ρ обладает сохранением без потерь.

· сохранение ФЗ

1-4)

H =∅, УНП=(AB, BA, ACBD, BCAD)

H =(ACBD, BCA)

5)

H ≠∅

6)

выполняется ли ACBD ∈(AB, BA, BCD)+?

(AC)+= ACBD, BD ⊂(AC)+

выполняется ли BCA ∈(AB, BA, BCD)+?

(BC)+= BCAD, A ⊂(BC)+

значит, ρ обладает сохранением ФЗ.

На практике, частно пренебрегают свойством сохранения ФЗ, если в БД вводятся правильные данные - не надо проверять, противоречат ли эти данные исходной ФЗ.

Таким образом, ρ обладает:

  • обладает соединением без потерь;
  • обладает сохранением ФЗ;
  • точно находится в 3НФ.

Но мы всё равно проверим, находятся ли R 1 и R 2 в 3НФ Бойса-Кодда:

R 1= AB:

AB, BA

здесь A - ключ и B - ключ.

значит, находится в НФ.

R 2= BCD:

BCD

BC - ключ.

значит, находится в НФ.

Преимущество и недостатки алгоритма

Преимущество

Алгоритм определяет стандартную (математическую) процедуру построения схемы БД.

Недостатки

  • очень трудно определить всё множество ФЗ, а алгоритм критичен к набору этих ФЗ. В приципе, надо строить абстрактный экземпляр отношений (семинар №2), но надо знать и предметную область;
  • при увеличении числа ФЗ возможно увеличение сложности вычисления алгоритма.

Эти недостатки сдерживают применение алгоритма на практике.

Практические приёмы нормализации

Кроме алгоритма есть практические приёмы нормализации схемы отношений.

Нормальные формы

НФ

Отношение находится в 1НФ, если все его атрибуты атомарны, то есть ни один из его атрибутов нельзя разделить на более простые атрибуты, которые соответствуют каким-то другим свойствам описываемой сущности.

Также схема отношений находится в 1НФ, если не содержит таблицу или вектор в явном виде. Поэтому, если таблица скрыта в объекте, то схема будет в 1НФ.

Ясно, что отношение, находящееся в 1НФ, также может обладать избыточностью. Для её устранения предназначена вторая нормальная форма.

НФ

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

Схема отношений находится в 2НФ, если не существует ключа X, подмножества атрибутов YX и непервичного атрибута H, для которых выполняются условия:

  • XY;
  • YH;
  • YX.

A 1→ Ai... Aj

X = A 1 A 2, Y = A 1⊂ X, H ∈(Ai... Aj):

1) XY, так как A 1 A 2→ A 1

2) YH, так как A 1→ Ai... Aj

3) YX, так как A +1= A 1 Ai... Aj, XY +

НФ

Подробнее на лекции №5.

A 2→ Ai... Aj

X = A 1, Y = A 2, H ∈(Ai... Aj):

1) XY, так как A 1→ A 2

2) YH, так как A 2→ Ai... Aj

3) YX, так как A +2= A 2 Ai... Aj, X = A 1∉ Y +

Пример 1

R - схема отношения "Сотрудники".

ФЗ:

A 1 A 5→ A 2 A 3 A 4

A 1→ A 2 A 3 A 4

A 3→ A 4

Покажем, что эта схема не находится в 2НФ:

Можно найти ключ X = A 1 A 5, Y = A 1⊂ X, HY, H ∈(A 2, A 3, A 4):

1) XY

2) YH

3) YX

R 1 тоже не находится во 2НФ, потому что X = A 1, Y = A 3, H = A 4:

1) XY

2) YH

3) YX

Предположим, вдруг оказалось, что сотрудник может занимать несколько должностей, и ещё теперь в таблице надо хранить сведения о заказе. В этом случае схема преобразуется к следующему виду:

Но анализ показывает, что в этом случае таблицы R 1 и R 2 не находятся в 2НФ:

R 1:

A 1→ A 2, X = A 1 A 3, Y = A 1⊂ X, H = A 2

1) XY, так как A 1 A 3→ A 1

2) YH, так как A 1→ A 2

3) YX, так как Y += A 1 A 2, XY +

R 2:

A 5→ A 6, X = A 1 A 3 A 5, Y = A 5⊂ X, H = A 6

1) XY, так как A 1 A 3 A 5→ A 5

2) YH, так как A 5→ A 6

3) YX, так как Y += A 5 A 6, X = A 1 A 3 A 5⊈ Y +


 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: