Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основи нормал_зац_ї БД.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
258.61 Кб
Скачать

7. Третя нормальна форма. Приведення моделі бд до третьої нормальної форми

Визначення третьої нормальної форми можна дати або через поняття транзитивної залежності, або через поняття взаємно незалежних атрибутів. Нагадаємо визначеннятранзитивної функціональної залежності:

Визначення. Нехай X, Y, Z - три атрибути деякого відношення. При цьому X --> Y і Y --> Z, але зворотна відповідність відсутня, тобто Z -/-> Y і Y -/-> X. Тоді Z транзитивно залежить від X.

 Введемо визначення взаємної незалежності атрибутів:

ВизначенняАтрибути називаються взаємно незалежними, якщо жоден з них не є функціонально залежним від іншого.

Тоді  можна дати визначення третьої нормальної форми:

Визначення. Відношення R знаходиться в третій нормальній формі (3НФ) тоді і тільки тоді, коли відношення знаходиться в 2НФ і всі неключові атрибути взаємно незалежні.

або, через транзитивну залежність

Визначення (у припущенні існування одного ключа). Відношення знаходиться в 3NF у тім і тільки в тому випадку, якщо воно знаходиться в 2NF і кожен неключовий атрибутнетранзитивно залежить від первинного ключа.

Для виключення транзитивної залежності у відношенні «Діти» потрібно зробити декомпозицію відношення R4 у два відношення R5 і R6.

Відношення R5:

Таб_номер

ПІБ

Оклад

Офіс

211

Іванов І.І.

200

12

358

Петрук К.М.

300

12

360

Сидоров О.Б.

250

5

Відношення R6:

Офіс

Телефон

12

6-16

5

3-06

 

У результаті перетворень маємо три відношення в 3NF, вільні від відзначених аномалій:

Відношення R3 Первинний ключ: Таб_номер, Ім'я дитини

  Функціональні залежності: Таб_номер,

Ім'я_дитини ->Вік

Відношення R5 Первинний ключ: Таб_номер

  Функціональні залежності: Таб_номер -> ПІБ

Таб_номер -> Оклад

Таб_номер -> Офіс 

Відношення R6 Первинний ключ: Офіс

  Функціональні залежності: Офіс -> Телефон

 

Базовий приклад. Відношення СПІВРОБІТНИКИ_ВІДДІЛИ також не знаходиться в 3НФ, тому що є функціональна залежність неключових атрибутів (залежність номера телефону від номера відділу):

Н_ВІД -> ТЕЛ

Для того, щоб усунути залежність неключових атрибутів, потрібно зробити декомпозицію відношення на кілька відношень. При цьому ті неключові атрибути, що є залежними,виносяться в окреме відношення.

 

Відношення СПІВРОБІТНИКИ_ВІДДІЛИ декомпонуємо на два відношення - СПІВРОБІТНИКИВІДДІЛИ.

Відношення СПІВРОБІТНИКИ (Н_СПІВРОБПРІЗН_ВІД):

   Функціональні залежності:

   Залежність атрибутів, що характеризують співробітника від табельного номера співробітника:

Н_СПІВРОБ -> ПРІЗ

Н_СПІВРОБ -> Н_ВІД

Н_СПІВРОБ -> ТЕЛ

Н_СПІВРОБ

ПРІЗ

Н_ВІД

1

Іванов

1

2

Петров

1

3

Ситник

2

Таблиця 5 Відношення СПІВРОБІТНИКИ

 

Відношення ВІДДІЛИ (Н_ВІДТЕЛ):

Функціональні залежності:

Залежність номера телефону від номера відділу:

Н_ВІД -> ТЕЛ

Н_ВІД

ТЕЛ

1

11-22-33

2

33-22-11

Таблиця 6. Відношення ВІДДІЛИ

Звернемо увагу на те, що атрибут Н_ВІД, який не був ключовим у відношенні СПІВРОБІТНИКИ_ВІДДІЛИстає потенційним ключем у відношенні ВІДДІЛИ. Саме за рахунок цього усувається надмірність, зв'язана з багаторазовим збереженням тих самих номерів телефонів.

Висновок. Таким чином, усі виявлені аномалії оновлення усунуті. Реляционная модель, що складається з чотирьох відношень СПІВРОБІТНИКИВІДДІЛИПРОЕКТИЗАВДАННЯ, що знаходяться в третій нормальній формі, є адекватною описаній моделі предметної області, і вимагає наявності тільки тих тригерів, що підтримують посилальну цілісність. Такітригери є стандартними і не вимагають великих зусиль у розробці.