logo search
rektorska_pi

26.Поняття нормальної форми. 1-а, 2-а, 3-я, 4-а нормальні форми. Нормальна форма Бойса-Кодда.

Нормалізація - метод створення набору відношень із заданими властивостями на основі вимог до даних, встановлених в деякій організації.Процес нормалізації був вперше запропонований Е.Ф. Коддом. Нормалізація часто виконується у вигляді послідовності тестів з метою перевірки відповідності (або невідповідності) деякого відношення вимогам заданої нормальної форми. Спочатку були запропоновані лише три види нормальних форм: перша (1НФ), друга (2НФ) і третя (ЗНФ). Потім Р. Бойсом і Е.Ф. Коддом було сформульовано більш суворе визначення третьої нормальної форми, яке отримало назву нормальної форми Бойса-Кодда (НФБК). Всі ці нормальні форми базуються на функціональних залежностях, що існують між атрибутами відношень. Нормальні форми більш високого порядку, які перевершують НФБК, були введені пізніше. До них відносяться четверта (4НФ) і п'ята (5НФ) нормальні форми. Але на практиці ці нормальні форми більш високих порядків використовуються вкрай рідко.

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

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

1. Повторювані групи усуваються шляхом введення відповідних даних у порожні стовпці рядків з повторюваними даними, тобто порожні місця заповнюються дублікатами неповторюваних даних (цей спосіб часто називають "вирівнюванням" таблиці). Отримана таблиця, тепер називається відношенням, яке містить елементарні (або єдині) значення на перетині кожного рядка з кожним стовпцем і тому перебуває в 1НФ. Проте, отримане відношення має певну надмірність даних, яке усувається в ході подальшої нормалізації.

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

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

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

Функціональна залежність А->B є повною функціональною залежністю, якщо видалення будь-якого атрибута з А призводить до втрати цієї залежності. Функціональна залежність А->В називається частковою, якщо в А є якийсь атрибут, при видаленні якого ця залежність зберігається.

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

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

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

Транзитивна залежність: якщо для атрибутів А, В і С деякого відношення існують залежності виду А->B і B->C, це означає, що атрибут C транзитивно залежить від атрибута А через атрибут B (за умови, що атрибут А функціонально не залежить ні від атрибута В, ні від атрибута С).Транзитивна залежність є одним з типів функціональної залежності.

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

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

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

Третя нормальна форма (3НФ) - відношення, яке перебуває в першій і другій нормальній формі, в якому жоден атрибут, відмінний від атрибута первинного ключа, не є транзитивно залежним від жодного потенційного ключа.

При використанні цих загальних визначень форм 2НФ і 3НФ необхідно переконатися у відсутності часткових і транзитивних залежностей від всіх потенційних ключів, а не тільки від первинного ключа. Така вимога може спричинити за собою ускладнення процесу нормалізації, але ці загальні визначення накладають додаткові обмеження на відношення і можуть дозволити виявити приховану надмірність у відношеннях, яка в іншому випадку могла залишитися непоміченою. Необхідно знайти компроміс між прагненням до максимального спрощення процесу нормалізації шляхом дослідження залежностей тільки від первинних ключів, що дозволяє виявити лише найбільш обтяжливу і очевидну надмірність у відношеннях, і тенденцію до використання загальних визначень для підвищення ймовірності виявлення прихованої надмірності. Але на практиці найчастіше результати декомпозиції є однаковими, незалежно від того, чи використовуються визначення форм 2НФ і 3НФ, засновані на первинних ключах, або загальні визначення. Нормальна форма Бойса-Кодда (НФБК)

Відношення бази даних проектуються таким чином, щоб можна було виключити в них присутність часткових або транзитивних залежностей, оскільки ці залежності приводять до появи аномалій оновлення. До сих пір використовували визначення другої і третьої нормальних форм, для отримання яких потрібно знайти і виключити часткові і транзитивні залежності від первинного ключа. Однак, в цих визначеннях не розглядаються такі ж залежності від потенційних ключів відношення, якщо такі є. Загальні визначення форм 2НФ і ЗНФ можуть дозволити виявити додаткову надмірність, викликану залежностями від усіх потенційних ключів. Але навіть після введення цих додаткових обмежень у відношеннях все ще можуть існувати залежності, які призводять до появи надмірності у відношеннях 3НФ. З врахуванням цього недоліку третьої нормальної форми була розроблена більш сувора нормальна форма, що отримала назву нормальної форми Бойса-Кодда (НФБК).

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

Для перевірки належності відношення до НФБК необхідно знайти всі його детермінанти і переконатися в тому, що вони є потенційними ключами. Детермінантою є один атрибут або група атрибутів, від якої повністю функціонально залежить інший атрибут.Різниця між 3НФ і НФБК полягає в тому, що функціональна залежність А->В допускається у відношенні 3НФ, якщо атрибут В є первинним ключем, а атрибут А не обов'язково є потенційним ключем. Тоді як у відношення НФБК ця залежність допускається тільки тоді, коли атрибут А є потенційним ключем.

Отже, нормальна форма Бойса-Кодда є більш суворою версією форми 3НФ, оскільки кожне відношення НФБК є також відношенням 3НФ, але не всяке відношення ЗНФ є відношенням НФБК.

Четверта нормальна форма (4НФ) - відношення в нормальній формі Бойса-Кодда,яке не містить нетривіальних багатозначних залежностей.Четверта нормальна форма (4НФ) є більш суворою різновидом нормальної форми Бойса-Кодда, оскільки у відношеннях 4НФ немає нетривіальних багатозначних залежностей і тому немає і надмірності даних. Нормалізація відношень НФБК з отриманням відношення 4НФ полягає в усуненні багатозначних залежностей з відношення НФБК шляхом виділення у нове відношення одного або декількох атрибутів, які беруть участь у MVD, разом з копією одного або декількох детермінантів.