Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
теория БД 2013.doc
Скачиваний:
0
Добавлен:
03.01.2020
Размер:
1.09 Mб
Скачать

Тема 3.3. Нормалізація відносин

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

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

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

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

Основні поняття

Нехай задано відношення R, яке містить набори атрибутів А і В. У відношенні R набір атрибутів В функціонально залежить від А і А функціонально визначає В тоді й лише тоді, коли кожному значенню проекції R[A] у будь-який момент часу відповідає точно одне значення проекції R[B].

Означена вище функціональна залежність позначається як R.A -> R.B. Якщо належність А і В відношенню R відома апріорі, то пишеться А -> В. Формально функціональна залежність означується так:

Поняття функціональної залежності може бути звужене на той випадок, коли А і В є окремими атрибутами.

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

Набір К атрибутів відношення R називається можливим ключем, або квазіключем відношення R, якщо:

а) кожний атрибут відношення R функціонально залежить від К;

б) жоден атрибут з набору К не може бути видалений так, щоб не порушувалась властивість (а).

У формульному вигляді це означення записується так. Нехай М — повний на­бір атрибутів відношення R. Підмножина атрибутів К відношення R є можливим ключем, якщо:

Символ -** вказує на те, що функціональна залежність відсутня.

У будь-якому відношенні існує принаймні один можливий ключ, оскільки на­бір усіх атрибутів відношення задовольняє властивість (а), а потім цей набір можна «стиснути» так (відкидаючи надлишкові атрибути), щоб він задовольняв властивість (б).

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

Множина атрибутів, що містить можливий ключ, називається суперключем. Атрибути, які входять до складу можливого ключа відношення, називаються клю­човими; атрибути, які належать первинному ключу, — первинними, решта — непервинними, або вторинними.

Аксіоматика функціональних залежностей

Стосовно заданого реляційного відношення R ми можемо розглядати множину функціональних залежностей F, які визначені на ньому.

Як довів У. Армстронг, множина функціональних залежностей F має певні властивості, що перелічені в табл. 6.1. У лівому стовпці таблиці згадані властиво­сті записані в аналітичному вигляді, у правому — в графічному. Більшість тверд­жень тут наведено у формі «якщо ... , то ... », яку слід розуміти так: якщо деякі функціональні залежності належать множині F, то цій множині належать і ті за­лежності, що вказані після слова «то».

Не всі з наведених властивостей є незалежними, а саме властивості (4)-(8) виводяться з (1), (2), (3), які утворюють повну систему аксіом функціональних залежностей.

Логічне виведення функціональних залежностей

Нехай на відношенні R визначено множину функціональних залежностей і7 та за­лежність Л -» С, яка не належить F. Залежність А С логічно випливав з множини F, якщо вона може бути виведена з F за допомогою аксіом функціональних залежно­стей. Кажуть також, що залежність А -> С виводиться з F, або є логічним наслідком F.

Наприклад, якщо R = (А, В, С) і множина і7 складається з залежності А -> В, то з F логічно випливають такі залежності:

  • (А, С) В — за властивістю продовження;

  • (А, С) (В, С) — за властивістю поповнення.

Припустимо, що на відношенні і? задано множину функціональних залежно­стей F. Множина всіх функціональних залежностей, кожна з яких є логічним на­слідком F, називається логічним замиканням F, вона позначається як F+. Очевидно, що

Усі функціональні залежності, що належать замиканню, можуть бути отрима­ні з початкової множини F застосуванням властивостей (1), (2), (3), тому ці влас­тивості іноді називають правилами виведення.

Множина функціональних залежностей F є повною, якщо

Дві множини залежностей F і G називаються логічно еквівалентними, якщо

Нехай задано множину функціональних залежностей F. Множина функціо­нальних залежностей G є базисом, або мінімальним покриттям множини F, як­що G є такою підмножиною F, що G+= F+, а жодна підмножина G цієї властиво­сті не має.

Нормальні форми реляційних відношень

Нормалізація даних в реляційній моделі

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

  • вилучення з таблиць інформації, що повторюється;

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

  • створення структури, в якій вплив структурних змін на додатки, що використовують дані цієї бази даних, зведено до мінімума.