Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
!!ЛЕКЦІЇ_від_23.04.2013.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
436.46 Кб
Скачать
    1. Мета і суть нормалізації.

Головний постулат БД: дані не повинні бути надлишковими. Тобто необхідно досягти мінімального повторення даних.

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

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

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

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

4. Четверта нормальна форма: таблиця задовольняє вимогам третьої нормальній формі і, крім того, забороняється зберігати незалежні елементи в одній і тій же таблиці, коли між цими елементами існує зв’язок (зв’язки) багато до багатьох.

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

Нормалізація збільшує число відношень в базах даних і тим самим час обробки. Але за рахунок коректності і усунення дублювання відбувається прискорення виконання доступу до даних.

Отже нормалізація – це процес скорочення повторень даних в БД. Ненормалізована БД – це база, яка не розділена на менші логічно-єдині і більш керовані таблиці. Розрізняють декілька рівнів процесу нормалізації в результаті виконання кожного з них створюється так звана нормальна форма БД (НФ). Говорять що НФ – це міра глибини, до якої виконано нормалізацію БД. Широко використовуються п'ять нормальних форм — з першої нормальної форми до п'ятої. Застосування перших трьох форм достатньо для структури більшості баз даних.

3. Функціональні залежності та їх визначення.

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

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

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

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

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

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

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

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

порядок рядків у таблиці не суттєвий.

Розглянемо приклад зведення відношення до 1НФ: МАТЕРІАЛ (код матеріалу, назва матеріалу, одиниця вимірювання, характеристика: тип. сорт, розмір).

У цьому відношенні атрибут «Характеристика» е неатомарним, тому потрібно позбутися складового атрибута й перетворити його в три атомар­них атрибути. В результаті зведення до 1 НФ відношення набере вигляду

МАТЕРІАЛ (код матеріалу, назва матеріалу, одиниця вимірювання, тип, сорт, розмір).

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

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

Графічно функціональна залежність відображується так:

А —>В. Цій залежності відповідає співвідношення 1:1 між атрибутами (наприклад, як між атрибутами код деталі —> наз­ва деталі, код верстата —> назва верстата).

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

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

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