Нормалізація баз даних - це

Нормалізація баз даних

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

Походження та призначення нормальних форм

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

Типи нормальних форм

Нормалізація може застосовуватися до таблиці, яка представляє собою правильне ставлення.

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

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

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

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

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

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

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

Таким чином, ставлення знаходиться в 3NF тоді і тільки тоді, коли воно знаходиться у 2NF і відсутні транзитивні залежності неключових атрибутів від ключових. Транзитивної залежністю неключових атрибутів від ключових називається наступна: A → B і B → C, де A - набір ключових атрибутів (ключ), B і С - різні безлічі неключових атрибутів.

При вирішенні практичних завдань в більшості випадків третя нормальна форма є достатньою. Процес проектування реляційної бази даних, як правило, закінчується приведенням до 3NF.

Нормальна форма Бойса - Кодда (BCNF)

Це модифікація третьої нормальної форми (в деяких джерелах саме 3NF називається формою Бойса - Кодда).

Таблиця знаходиться в BCNF. якщо вона знаходиться в 3NF. і при цьому відсутні функціональні залежності атрибутів первинного ключа від неключових атрибутів. Таблиця може перебувати в 3NF, але не в BCNF. тільки в одному випадку: якщо вона має, крім первинного ключа, ще принаймні один можливий ключ. Всі залежні від первинного ключа атрибути повинні бути потенційними ключами відносини. Якщо ця умова не виконується, для них створюється окремий відношення. Щоб сутність відповідала BCNF. вона повинна знаходитися в третій нормальній формі. Будь-яка сутність з єдиним можливим ключем, що відповідає вимогам третьої нормальної форми, автоматично знаходиться в BCNF.

Четверта нормальна форма (4NF)

Таблиця знаходиться в 4NF. якщо вона знаходиться в BCNF і не містить нетривіальних багатозначних залежностей. Багатозначна залежність не є функціональною, вона існує в тому випадку, коли з факту, що в таблиці міститься деяка рядок X, слід, що в таблиці обов'язково існує деяка певна рядок Y. Тобто, таблиця знаходиться в 4NF. якщо все її багатозначні залежності є функціональними.

П'ята нормальна форма (5NF)

Таблиця знаходиться в 5NF. якщо вона знаходиться в 4NF і будь-яка багатозначна залежність з'єднання в ній є тривіальною. П'ята нормальна форма в більшій мірі є теоретичним дослідженням і практично не застосовується при реальному проектуванні баз даних. Це пов'язано зі складністю визначення самого наявності залежностей «проекції - з'єднання», оскільки твердження про наявність такої залежності має бути зроблено для всіх можливих станів БД.

Доменно-ключова нормальна форма (DKNF)

Шоста нормальна форма (6NF)

Таблиця знаходиться в 6NF. якщо вона знаходиться в 5NF і задовольняє вимогу відсутності нетривіальних залежностей. Найчастіше 6NF ототожнюють з DKNF.

Дивитися що таке "Нормалізація баз даних" в інших словниках:

Нормалізація (значення) - нормалізація (франц. Normalisation впорядкування, від normal правильний, покладений) Нормалізація приведення чогось в нормальний стан; Приведення речовини або матеріалу до однорідної консистенції шляхом обробки, наприклад, ... ... Вікіпедія

Реляційні бази даних - Реляційна база даних база даних, заснована на реляційної моделі даних. Слово «реляційний» походить від англ. relation (відношення [1]). Для роботи з реляційними БД застосовують реляційні СУБД. Використання реляційних баз даних було ... ... Вікіпедія

Реляційна база даних - реляційна база даних база даних, заснована на реляційної моделі даних. Слово «реляційний» походить від англ. relation (відношення [1]). Для роботи з реляційними БД застосовують реляційні СУБД. Використання реляційних баз ... ... Вікіпедія

Реляційні БД - Реляційна база даних база даних, заснована на реляційної моделі. Слово «реляційний» походить від англійського «relation» (відношення [1]). Для роботи з реляційними БД застосовують Реляційні СУБД. Використання реляційних баз даних було ... ... Вікіпедія

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

  • Цікаве програмування. Бази даних. Манга. Такахасі Мана. У принцеси Руруни і Кейна виникла проблема: в їх торгує фруктами імперії панує плутанина через суперечливих даних, і тому дині підміняються яблуками іклубнікой, що викликає ... Детальніше Купити за 725 руб
  • Цікаве програмування. Бази даних. Манга. Мана Такахасі. У принцеси Руруни і Кейна виникла проблема: в їх торгує фруктами імперії панує плутанина через суперечливих даних, і тому дині підміняються яблуками іклубнікой, що викликає ... Детальніше Купити за 653 грн (тільки Україна)
  • Цікаве програмування. Бази даних. Манга. Такахасі Мана. У принцеси Руруни і Кейна виникла проблема: в їх торгує фруктами імперії панує плутанина через суперечливих даних, і тому дині підміняються яблуками іклубнікой, що викликає ... Детальніше Купити за 528 руб
Інші книги по запросу «Нормалізація баз даних» >>

Схожі статті