Автор: Пользователь скрыл имя, 06 Марта 2013 в 20:12, реферат
Нормалізація схеми бази даних — покроковий процес розбиття одного відношення (на практиці: таблиці) відповідно до алгоритму нормалізації на декілька відношень на базіфункціональних залежностей.
Нормальна форма — властивість відношення в реляційної моделі даних, що характеризує його з точки зору надмірності, яка потенційно може призвести до логічно помилкових результатів вибірки або зміни даних. Нормальна форма визначається як сукупність вимог, яким має задовольняти відношення.
Таким чином, схема реляційної бази даних переходить у першу, другу, третю і так далі нормальні форми. Якщо відношення відповідає критеріям нормальної форми n, та всіх попередніх нормальних форм, тоді вважається, що це відношення знаходиться у нормальній формі рівня n.
Кожний кортеж відношення зв'язує деякий проект із співробітником, які беруть у цьому проекті, і з завданням, котре співробітник виконує в рамках даного проекту (припускаємо, що будь-який співробітник, який бере участь у проекті, виконує всі завдання, передбачені цим проектом). Через сформульовані вище умови єдиним можливим ключем відношення є складовий атрибут ПРОЕКТ НОМЕР, ПРОЕКТ СПІВРОБ, ПРОЕКТ ЗАВДАННЯ, і немає ніяких інших детермінантів. Отже, відношення ПРОЕКТИ знаходиться в БКНФ. Але при цьому воно має аномалії: якщо, наприклад, деякий співробітник приєднується до даного проекту, необхідно вставити у відношення ПРОЕКТИ стільки кортежів, скільки завдань у ньому передбачено.
У відношенні R (A, B, C) існує багатозначна залежність (multi-valued dependence - MVD) R. A R. B в тому і тільки в тому випадку, якщо множина значень B, що відповідає парі значень A і C, залежить тільки від A і не залежить від С.
У відношенні ПРОЕКТИ існують наступні дві багатозначні залежності:
ПРОЕКТ НОМЕР ПРОЕКТ СПІВРОБ
ПРОЕКТ НОМЕР ПРОЕКТУ ЗАВДАННЯ .
Неважко показати, що в загальному випадку у відношенні R (A, B, C) існує багатозначна залежність A B у тому і тільки в тому випадку, коли існує багатозначна залежність A C.
Відношення R знаходиться
в четвертій нормальній формі (4НФ)
у тому і тільки в тому випадку,
якщо у випадку існування
У нашому прикладі можна виконати декомпозицію відношення ПРОЕКТИ на два відношення
ПРОЕКТИ-СПІВРОБІТ і ПРОЕКТИ-
ПРОЕКТИ-СПІВРОБІТ ( ПРОЕКТ НОМЕР, ПРОЕКТ СПІВРОБІТ)
ПРОЕКТИ-ЗАВДАННЯ ( ПРОЕКТ НОМЕР, ПРОЕКТ ЗАВДАННЯ).
Обидва ці відношення знаходяться в 4НФ .
Розглянемо ще один приклад.
Нехай задано відношення
R (СТУДЕНТ, ТОВАРИСТВО, СУСПІЛЬНА РОБОТА, РІК).
Атрибут ТОВАРИСТВО визначає назву товариств, членом яких є студент; атрибути СУСПІЛЬНА РОБОТА І РІК - найменування суспільних доручень, виконуваних студентом, і рік їх призначення. Передбачається, що те саме суспільне навантаження не може бути призначена двічі протягом одного року тому самому студенту, але заміна одного навантаження на інше протягом року допускаються. У табл. 4.16 приведений фрагмент відношення .
Таблиця 4.16. Приклад відношення з нетривіальними залежностями
Виділимо нетривіальні багатозначні залежності:
СТУДЕНТ ТОВАРИСТВО,
СТУДЕНТ (СУСПІЛЬНА_РОБОТА, РІК) .
Вважаємо, що атрибут ТОВАРИСТВО не залежить від того, яку суспільну роботу веде студент. Атрибути СУСПІЛЬНА РОБОТА і РІК взаємозалежні.
Наявність подібних нетривіальних багатозначних залежностей у схемі одного відношення і незалежність їхніх правих частин в остаточному підсумку приводять до комбінації значень правих частин, що ілюструється в табл. 4.16. Відомості про те, що студент Іванов є старостою групи у 1999 р. повторюються двічі в силу того, що він є членом двох товариств (ВТВР, ДТСААФ). Для студента Петрова в зв'язку зі зміною суспільної роботи (1999 - 2000 р.) доводиться вводити додаткові кортежі, у яких буде повторюватися інформація про членство студента в товариствах ВТВР і ДТСААФ.
Незважаючи на виникаючу
при цьому надлишковість
Таблиця 4.17 Приклад відношення в четвертій нормальній формі
Таблиця 4.18.
Приклад відношення четвертій нормальній формі
В усіх розглянутих до цього часу нормалізаціях здійснювалась декомпозиція одного відношення на два. Іноді це зробити не вдається, але можлива декомпозиція в більше число відношень, кожне з який має кращі властивості.
Розглянемо, наприклад, відношення
СПІВРОБІТНИКИ-ВІДДІЛИ-ПРОЕКТИ(
ВІДДІЛУ НОМЕР, ПРОЕКТУ НОМЕР) .
Припустимо, що той самий співробітник може працювати в декількох відділах і в кожному відділі брати участь у декількох проектах. Первинним ключем цього відношення є повна сукупність його атрибутів. Відсутні функціональні і багатозначні залежності.
Тому відношення знаходиться в 4НФ. Однак у ньому можуть існувати аномалії, які можна усунути шляхом декомпозиції на три відношення.
Відношення R (X, Y, ... , Z) задовольняє залежності з'єднання * (X, Y, ... , Z) у тому і тільки в тому випадку, коли R відновлюється без втрат шляхом з'єднання своїх проекцій на X, Y, ... , Z.
Відношення R знаходиться в п'ятій нормальній формі у тому і тільки в тому випадку, коли будь-яка залежність з'єднання в R випливає з існування деякого можливого ключа в R.
Введемо наступні імена складових атрибутів:
З = {СПІВРОБ_НОМЕР, ВІДДІЛУ_НОМЕР}
СП = { СПІВРОБ _НОМЕР, ПРОЕКТУ_НОМЕР}
ВП = {ВІДДІЛУ_НОМЕР, ПРОЕКТУ_НОМЕР}.
Припустимо, що у відношенні
СПІВРОБІТНИКИ-ВІДДІЛИ-ПРОЕКТИ
На прикладах можна легко показати, що при вставках і видаленнях кортежів можуть виникнути проблема. Їх можна усунути шляхом декомпозиції вихідного відношення на три нових відношення:
СПІВРОБІТНИКИ-ВІДДІЛИ (СПІВРОБ_НОМЕР, ВІДДІЛУ_НОМЕР)
СОТРУДНИКИ-ПРОЕКТИ (СПІВРОБ_ НОМЕР, ПРОЕКТУ_НОМЕР)
ВІДДІЛИ-ПРОЕКТИ (ВІДДІЛУ НОМЕР, ПРОЕКТУ НОМЕР).
П'ята нормальна форма - це остання нормальна форма, яку можна одержати шляхом декомпозиції
На закінчення приведемо послідовність етапів нормалізації:
1. Перехід від структурної
моделі даних до плоских
2. Усунення всіх неповних
залежностей атрибутів, які не
є основними, від усіх
3. Усунення всіх транзитивних
залежностей атрибутів, які не
є основними, від усіх
4. Усунення всіх нетривіальних
багатозначних залежностей
Після того як визначені елементи даних і залежності між ними, ці етапи в принципі можуть бути виконані автоматично по приведеному алгоритмі.
Нормалізація схеми бази даних — покроковий процес розбиття одного відношення (на практиці: таблиці) відповідно до алгоритму нормалізації на декілька відношень на базіфункціональних залежностей.
Нормальна форма — властивість відношення в реляц
Таким чином, схема реляційної бази даних переходить у першу, другу, третю і так далі нормальні форми. Якщо відношення відповідає критеріям нормальної форми n, та всіх попередніх нормальних форм, тоді вважається, що це відношення знаходиться у нормальній формі рівня n.
Нормальні форми
Перша нормальна форма
Перша нормальна форма (1НФ, 1NF) утворює ґрунт для структурованої схеми баз даних:
Друга нормальна форма
Друга нормальна форма (2НФ, 2NF) вимагає, аби дані, що зберігаються в таблицях із композитним ключем не залежали лише від частини ключа:
Третя нормальна форма
Третя нормальна форма (3НФ, 3NF) вимагає, аби дані в таблиці залежали винятково від основного ключа:
Нормальна форма Бойса — Кодда
Відношення знаходиться в НФБК, тоді і лише тоді коли детермінант кожної функціональної залежності є потенційним ключем. Якщо це правило не виконується, тоді щоб привести вказане відношення до НФБК його слід розділити на два відношення шляхом двох операцій проекції на кожну функціональну залежність детермінант, якої не є потенційним ключем.[Джерело?]
Визначення НФБК не потребує жодних умов попередніх нормальних форм. Якщо проводити нормалізацію послідовно, то в переважній більшості випадків при досягненні 3НФ автоматично будуть задовольнятися вимоги НФБК. 3НФ не збігається з НФБК лише тоді, коли одночасно виконуються такі 3 умови:[Джерело?]
Четверта нормальна форма
Четверта нормальна форма (4НФ, 4NF) вимагає, аби в схемі баз даних не було нетривіальних багатозначних залежностей множин атрибутів від будь чого, окрім надмножини ключа-кандидата. Вважається, що таблиця знаходиться у 4НФ тоді, і тільки тоді, коли вона знаходиться в НФБК, та багатозначні залежності є функціональними залежностями. Четверта нормальна форма усуває небажані структури даних — багатозначні залежності.
П'ята нормальна форма
П'ята нормальна форма (5НФ, 5NF, PJ/NF) вимагає, аби не було не тривіальних залежностей об'єднання, котрі б не витікали із обмежень ключів. Вважається, що таблиця в п'ятій нормальній формі, тоді, і тільки тоді, коли вона знаходиться в 4НФ, та кожна залежність об'єднання зумовлена її ключами-кандидатами.
Нормальна форма домен/ключ
Ця нормальна форма вимагає, аби в схемі не було інших обмежень окрім ключів та доменів.
Шоста нормальна форма
Таблиця знаходиться у 6NF, якщо вона знаходиться у 5NF та задовольняє вимозі відсутності нетривіальних залежностей. Зазвичай 6NF ототожнюють з DKNF.