Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Поняття нормальної форми. 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, разом з копією одного або декількох детермінантів.

 

27.Реляційна алгебра. Основні і додаткові операції реляційної алгебри.

Мови реляційних СУБД

У сучасних реляційних СУБД – дві групи мов:

– реляційна алгебра (операнди і результати – відношення);

– реляційне числення (декларативні мови – запити).

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

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

кількома недоліками:

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

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

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

Реляційне числення не має нічого спільного з диференціальним або інтегральним численням, а його назва походить від тієї частини символьної логіки, яка називається обчисленням предикатів. В контексті баз даних воно існує в двох формах: у формі запропонованого Коддом реляційного обчислення кортежів і в формі запропонованого Лакруа і Піро реляційного обчислення доменів. У логіці першого порядку (або теорії числення предикатів) під предикатом мається на увазі функція істиності з параметрами. Після підстановки значень замість параметрів функція стає виразом, яке називається судженням, яке може бути істинним або хибним. Наприклад, речення "Іван Сидор є співробітником цієї організації" і "Іван Сидор має більш високу зарплату, ніж Ганна Буценко" є судженнями, оскільки можна визначити їх істинність або хибність. У першому випадку функція “є співробітником цієї організації” має один параметр ("Іван Сидор"), а в другому випадку функція “має більш високу зарплату, ніж” має два параметри ("Іван Сидор" і "Ганна Буценко").

Якщо предикат містить змінну, наприклад у вигляді "х є співробітником цієї організації", то у цієї змінної повинна бути відповідна область визначення. При підстановці замість змінної  х одних значень з її області визначення дане судження може виявитися істинним, а при підстановці інших - хибним.

Наприклад, якщо областю визначення є всі люди і ми підставимо замість змінної х значення "Іван Сидор", то судження " Іван Сидор є співробітником цієї організації" буде істинним. Якщо ж замість змінної х підставити ім'я іншої людини, яка не є співробітником даної організації, то судження стане хибним.


Поделиться:



Последнее изменение этой страницы: 2019-04-19; Просмотров: 431; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.019 с.)
Главная | Случайная страница | Обратная связь