Створення реляційної бази даних
Нормалізація
Нормалізація - це формальний метод аналізу відносин на основі їх первинного ключа та існуючих зв'язків. Її завдання - це заміна однієї схеми (або сукупності відносин) БД іншою схемою, в якій відносини мають більш просту і регулярну структуру.
Переваги нормалізації:
• Більша гнучкість
• Гарантує, що атрибути належать відповідним об'єктам
• Зменшує надмірність даних
• Збільшує ефективність програміста
• Знижує витрати на супровід додатків
• Максимально стабільність моделі даних
Нормалізація зменшує надмірність данних, полегшує їхню підтримку, роблячи їх більш точними і несуперечливими, а також зменшує кількість місця, необхідного для зберігання даних.
Існують 3 основних нормальній формі, а також нормальна форма Бойса-Кодда (НФБК), 4НФ і 5НФ. Однак найбільше значення має 1НФ, тому наступні НФ пов'язані з поняттями про складені ключі і складних залежностях від ключів, а на практиці зустрічаються зазвичай більш прості випадки.
В рамках реляційної моделі даних Е.Ф. Коддом були розроблені принципи нормалізації відносин і запропоновано механізм, що дозволяє будь-яке відношення перетворити до третьої нормальної форми.
Перша нормальна форма (1НФ) пов'язана з поняттями простого і складного атрибутів. Простий атрибут - це атрибут, значення якого атомарний (тобто неподільні). Складний атрибут може мати значення, що представляє собою об'єднання декількох значень одного або різних доменів. У першій нормальній формі усуваються повторювані атрибути або групи атрибутів, тобто виробляється виявлення неявних сутностей, "замаскованих" під атрибути.
Ставлення приведено до 1НФ, якщо всі його атрибути - прості, тобто значення атрибута не повинно бути безліччю чи повторюваної групою.
Для приведення таблиць до 1НФ необхідно розбити складні атрибути на прості, а багатозначні атрибути винести в окремі відносини.
При роботі з реляційною моделлю для створення відносин прийнятної якості достатньо виконання вимог першої нормальної форми.
Друга нормальна форма (2НФ) застосовується до відносин зі складовими ключами (що складаються з двох і більше атрибутів) і пов'язана з поняттями функціональної залежності.
Якщо в будь-який момент часу кожному значенню атрибута A відповідає єдине значення атрибуту B, то B функціонально залежить від A (AB). Атрибут (група атрибутів) A називається детерминантом.
У другій нормальній формі усуваються атрибути, які залежать тільки від частини унікального ключа. Ця частина унікального ключа визначає окрему сутність.
Відношення знаходиться в 2НФ, якщо воно приведено до 1НФ і кожен неключових атрибут функціонально повно залежить від складеного первинного ключа.
Третя нормальна форма (3НФ) пов'язана з поняттям транзитивної залежності. Нехай A, B, C - атрибути деякого відносини. При цьому AB і BC, але зворотне відповідність відсутня, тобто C не залежить від B або B не залежить від A. Тоді кажуть, що C транзитивній залежить від A (AC).
У третій нормальній формі усуваються атрибути, які залежать від атрибутів, що не входять в унікальний ключ. Ці атрибути є основою окремої сутності.
Відношення знаходиться в 3НФ, якщо воно знаходиться у 2НФ і не має атрибутів, що не входять в первинний ключ і знаходяться в транзитивній залежно від первинного ключа.
Моделювання структури бази даних за допомогою алгоритму нормалізації має серйозні недоліки:
1. Методика нормалізації передбачає початкове розміщення всіх атрибутів проектованої предметної області в одному відношенні, що є дуже неприродною операцією. Інтуїтивно розробник відразу проектує кілька відносин відповідно з виявленими сутностями. Навіть якщо зробити насильство над собою і створити одне або кілька відносин, включивши в них всі передбачувані атрибути, то зовсім неясний сенс отриманого відносини.
2. Неможливо відразу визначити повний список атрибутів. Користувачі мають звичку називати різними іменами одні й ті ж речі або навпаки, називати одними іменами різні речі.
3. Для проведення процедури нормалізації необхідно виділити залежно атрибутів, що теж дуже нелегко.
Дата добавления: 2016-04-02; просмотров: 949;