
- •§3. Проектування баз даних та інформаційних систем
- •3.1. Нормалізація та її необхідність
- •3.2. Перша нормальна форма
- •3.3. Друга нормальна форма
- •3.4. Третя нормальна форма
- •3.5. Нормальна форма Бойса-Кодда
- •3.6. Четверта нормальна форма
- •3.7. П’ята нормальна форма
- •3.8. Основні правила, які використовуються в процесі нормалізації
- •3.9. Процес проектування баз даних
- •3.10. Життєвий цикл інформаційної системи
3.7. П’ята нормальна форма
Для визначення 5НФ дамо визначення повної декомпозиції відношень.
Визначення. Повною декомпозицією (розбиттям) відношення називають таку сукупність довільного числа його проекцій, з’єднання яких повністю збігається із вмістом вихідного відношення.
Проекція – це копія відношення, яка не містить один або кілька атрибутів вихідного відношення. Кожна проекція складається з одного або кількох потенційних ключів і може містити додаткові атрибути.
Відношення в 5НФ гарантує, що воно не має аномалій, які можуть бути виключені розбиттям на проекції, загалом воно може містити аномалії.
Розглянемо відношення SPJ
Таблиця 4. SPJ
-
s
p
j
s1
s1
s1
s2
p1
p1
p2
p1
j1
j2
j1
j1
Відношення SPJ не знаходиться в 5НФ, оскільки воно може бути декомпоновано на 3 відношення.
Таблиця 4.1. SP Таблиця 4.2. PJ Таблиця 4.3. JS
s |
P |
|
p |
j |
|
j |
s |
s1 s1 s2 |
p1 p2 p1 |
|
p1 p2 p1 |
j2 j1 j1 |
|
j2 j1 j1 |
s1 s1 s2 |
Відношення SP, PJ, JS знаходяться в 5НФ, оскільки їх не можна декомпонувати.
Відношення в 5НФ можна декомпонувати, але кожна з проекцій у такому випадку буде містити один або кілька потенційних ключів.
3.8. Основні правила, які використовуються в процесі нормалізації
Відношення в 1НФ потрібно розбити на проекції для виключення всіх функціональних залежностей. У результаті одержується набір відношень у 2НФ.
Відношення у 2НФ розбивають на проекції для виключення будь-яких транзитивних функціональних залежностей. На цьому етапі одержується набір відношень у 3НФ.
Відношення в 3НФ треба розбити на проекції для виключення будь-яких функціональних залежностей, що залишилися, в яких детермінанта не є потенційними ключами. В результаті одержимо набір відношень у НФБК.
Відношення в НФБК необхідно розбити на проекції для виключення будь-яких багатозначних залежностей, які не є функціональними залежностями. В результаті буде одержаний набір відношень у 4НФ.
Відношення в 4НФ потрібно розбити на проекції для виключення будь-яких залежностей з’єднання, які не є потенційними ключами. Буде одержано набір відношень у 5НФ.
3.9. Процес проектування баз даних
1-ий етап. Обстеження предметної області. Це відбувається в результаті бесід із замовником. Потрібно вияснити:
Які межі предметної області? Можливості її зміни й розвитку.
Який список фрагментів предметної області?
Одержати дані про кожний фрагмент.
Які процеси передачі й обробки даних проходять у кожному фрагменті?
Яка існує технологія накопичення й обробки інформації в предметній області?
Як часто поступає і коректується інформація? Хто несе відповідальність за її достовірність?
2-ий етап.
Знайомство з усіма документами, які циркулюють у кожному фрагменті.
Визначення об’єктів та їх атрибутів.
Визначення ключів для об’єктів, кодування об’єктів.
Проектування і нормалізація відношень.
3-ій етап. Визначення запитів.
4-ий етап. Перевірка повноти й коректності проекту (це перевірка всіх запитів до БД)