
- •Розділ 1. Системи баз даних
- •Тема 1.1. Основні поняття баз даних
- •Основні характеристики субд
- •Можливості субд
- •Основні компоненти середовища скбд
- •Тема 1.2. Архітектура баз даних
- •Тема 1.3. Функції систем керування базами даних
- •Розділ 2. Моделі даних
- •Тема 2.1. Поняття про моделювання даних
- •Тема 2.2. Ієрархічна модель даних
- •Тема 2.3. Мережна модель даних
- •Тема 2.4. Реляційна модель даних. Вимоги до реляційної моделі.
- •Розділ 3. Реляційні бази даних
- •Тема 3.1. Реляційна структура даних.
- •Типи зв’язків між таблицями
- •Тема 3.2. Реляційна алгебра
- •Тема 3.3. Нормалізація відносин
- •1. Перша нормальна форма
- •2. Друга нормальна форма
- •3. Третя нормальна форма
- •Тема 3.4. Цілісність даних
- •Розділ 4. Проектування баз даних
- •Тема 4.1. Методологія проектування бази даних
- •Тема 4.2. Етапи проектування бази даних
- •Тема 4.3. Er-моделювання предметної області
- •Тема 4.4. Проектування реляційної бази даних.
Тема 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 цієї властивості не має.
Нормальні форми реляційних відношень
Нормалізація даних в реляційній моделі
Нормалізацією називається формальна процедура, в ході якої тарибути даних групуются в таблиці, а таблиці групуються в бази даних. Задачами нормалізацї є:
вилучення з таблиць інформації, що повторюється;
створення структури, в якій передбачена можливість її майбутніх змін;
створення структури, в якій вплив структурних змін на додатки, що використовують дані цієї бази даних, зведено до мінімума.