Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3blok_BD.doc
Скачиваний:
45
Добавлен:
14.02.2016
Размер:
116.22 Кб
Скачать

8. Теорія нормалізації відношень

Нормалізація відношень — це ітераційний зворотний процес декомпозиції початкового відношення на кілька простіших відношень меншої розмірності.

Отриманий в результаті нормалізації склад атрибутів відношень БД повинен відповідати таким вимогам: між атрибутами не має бути небажаних функціональних залежностей, групування атрибутів має забезпечувати мінімальне дублювання даних, їх обробку й поновлення без ускладнень і аномалій.

Апарат нормалізації розробив Е. Ф. Кодд. Кожна нормальна форма обмежує тип допустимих залежностей між атрибутами. Кодд виділив три нормальні форми (скорочена назва — 1НФ, 2НФ і ЗНФ). Найбільш до­сконала з них — ЗНФ. Зараз вже відомі й визначені 4НФ, 5НФ.

Нормалізацію відношень виконують за кілька кроків. Перша ітерація(перший крок) — зведення відношень до першої нормальної форми (1НФ).

Відношення в 1НФ повинні відповідати таким вимогам:

  • усі атрибути відношення мають бути унікальними, тобто не допускається їх дублювання, а також атомарними, тобто неподільними;

  • усі рядки таблиці повинні мати однакову структуру, тобто одну й ту са­му кількість атрибутів з іменами, що збігаються;

імена стовпців мають бути різними, а значення однорідними (однакового формату); порядок рядків у таблиці не суттєвий.

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

О

рис.1.

значення 1.Атрибут В залежить від А у відношенні R тоді, коли в кожний момент часу одному й тому самому значенню А відповідає не більше як одне значення В.

Графічно функціональна залежність відображується так: А —>В. Цій залежності відповідає співвідношення 1:1 між атрибутами

Якщо маємо відношення R(A*, В*, С, D), ключ якого складається з двох атрибутів А і В, тобто є складовим (знаком (*) позначено ключові атрибути), то функціональні залежності в такому відношенні можуть мати такий вигляд:(рис 1.)

Тут атрибут С перебуває в повній функціональній залежності, тобто залежить від всього складового ключа, а атрибут D — в неповній, оскільки залежить лише від його складової частини атрибута В.

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

Виконавши декомпозицію попереднього відношення R, отримаємо замість одного два відношення, які будуть перебувати в 2НФ:

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

Третій крок нормалізації — вилучення транзитивних залежностей. Відношення в 2НФ потрібно аналізувати на присутність транзитивних за­лежностей. Нехай є відношення R(A*, С, D), у якому атрибут D безпосередньо не залежить від ключового атрибута А, а залежить від неключового атрибута С, який залежить від А. Тоді атрибут D транзитивно залежить від А.

На четвертому кроці нормалізації проводиться аналіз на присутність багатозначних залежностей у відношенні. Якщо вони є, виконують декомпозицію відношення. Багатозначна залежність є різновидом функціональної залежності, їй відповідає співвідношення 1:Б між атри­бутами. Атрибут А багатозначно визначає атрибут В у відношенні R. (А, В, С), якщо В залежить лише від А при будь-яких його комбінаціях з іншими атрибутами відношення R. Графічно це позначають так: А —» В.

Якщо залежність А —» В єдина у відношенні R, то відношення пере­буває в ЗНФ.

Якщо у відношенні присутні А —» В і А —» С, то відношення потріб­но розкласти на два інших відношення: R(A, В) і R(A, C).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]