Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОБЩИЙ_файл_ПОСОБИЕ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
22.69 Mб
Скачать

Перша нормальна форма (1нф)

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

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

усі рядки таблиці повинні мати однакову структуру;

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

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

Таким чином, будь-яка нормалізована таблиця знаходиться в 1НФ.

Розглянемо приклад зведення відношення до 1НФ:

ВИКЛАДАЧ (Таб_номер, Прізвище, Характеристика: зарплата, кафедра)

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

ВИКЛАДАЧ (Таб_номер, Прізвище, Зарплата, №_кафедри)

Друга нормальна форма (2нф)

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

Розглянемо приклад зведення відношення до 2НФ.

Маємо відношення R(A, В, С, D), ключ якого складається з двох атрибутів А і В, тобто є складним (ключеві атрибути виділені).

Функціональні залежності у відношенні R показані на рис. 10.9.

Рис. 10.9 Функціональні залежності відношення R (A, В, С, D)

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

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

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

Третя нормальна форма (3нф)

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

Розглянемо приклад зведення відношення до 3НФ:

ВИКЛАДАЧ (Таб_номер, Прізвище, Зарплата, Код_кафедри, Телефон_кафедри) перебуває в 2НФ, але вміщує транзитивну залежність: атрибут Телефон_кафедри залежить від атрибуту Код_кафедри, який у свою чергу залежить від первинного ключа Таб_номер.

У результаті зведення до ЗНФ одержуємо два відношення:

ВИКЛАДАЧ (Таб_номер, Прізвище, Зарплата, Код_кафедри)

КАФЕДРА (Код_кафедри, Телефон_ кафедри).

Висновок: відношення знаходиться в ЗНФ, якщо зміна значення будь-якого його атрибута (крім тих, що входять у первинний ключ) не приведе до необхідності зміни значень інших полів.

Нормальна форма Бойса – Кодда (нфбк)

Нормальна форма Бойса-Кодда – це підсилена ЗНФ, в якій вивчаються залежності ключових атрибутів від не ключових.

Відношення перебуває в НФБК, якщо воно перебуває в ЗНФ і в ньому відсутні залежності ключових атрибутів від не ключових атрибутів. Таким чином, перехід до НФБК може призвести до втрати важливих для початкового відношення залежностей, а об'єднання отриманих відношень не дасть початкового відношення. Тому при зведенні до НФБК необхідно ретельно вивчати всі залежності і виконувати його лише тоді, коли виконується вимога – «об'єднання без втрат».

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