Нормалізація Баз Даних

Нормалізація схеми бази даних — покроковий процес розбиття одного відношення (на практиці: таблиці) відповідно до алгоритму нормалізації на декілька відношень на базі функціональних залежностей.

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

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

Нормальні форми

Перша нормальна форма

Перша нормальна форма (1НФ, 1NF) утворює ґрунт для структурованої схеми бази даних:

  • Кожна таблиця повинна мати основний ключ: мінімальний набір колонок, які ідентифікують запис.
  • Уникнення повторень груп (категорії даних, що можуть зустрічатись різну кількість разів в різних записах) правильно визначаючи неключові атрибути.
  • Атомарність: кожен атрибут повинен мати лише одне значення, а не множину значень.

Друга нормальна форма

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

  • Схема бази даних повинна відповідати вимогам першої нормальної форми.
  • Дані, що повторно з'являються в декількох рядках, виносяться в окремі таблиці.

Третя нормальна форма

Третя нормальна форма (3НФ, 3NF) вимагає, аби дані в таблиці залежали винятково від основного ключа:

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

Нормальна форма Бойса — Кодда

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

  1. Проєкція без атрибутів залежної частини такої функціональної залежності;
  2. Проєкція на всі атрибути цієї функціональної залежності.

Визначення НФБК не потребує жодних умов попередніх нормальних форм. Якщо проводити нормалізацію послідовно, то в переважній більшості випадків при досягненні 3НФ автоматично будуть задовольнятися вимоги НФБК. 3НФ не збігається з НФБК лише тоді, коли одночасно виконуються такі 3 умови:[джерело?]

  1. Відношення має 2 або більше потенційних ключів.
  2. Ці потенційні ключі складені (містять більш ніж один атрибут)
  3. Ці потенційні ключі перекриваються, тобто мають щонайменше один спільний атрибут.

Четверта нормальна форма

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

П'ята нормальна форма

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

Нормальна форма домен/ключ

Ця нормальна форма вимагає, аби в схемі не було інших обмежень окрім ключів та доменів.

Шоста нормальна форма

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

Посилання


Tags:

Нормалізація Баз Даних Нормальні формиНормалізація Баз Даних ПосиланняНормалізація Баз ДанихФункціональна залежність

🔥 Trending searches on Wiki Українська:

Андрей (Шептицький)Шухевич Роман ОсиповичІнавгураціяGoogleГринцевич Назарій АндрійовичГлобальний саміт мируКревська уніяОльга (княгиня)АТБ-МаркетПивоваров Артем ВолодимировичБМ-21 «Град»MILF101-ша окрема бригада охорони ГШ (Україна)Втрати 3-ї окремої штурмової бригадиПерша світова війнаЕйфелева вежаПетлюра Симон ВасильовичСлобоженко Олександр ОлександровичЕмілі БлантГаличинаПогони родів військ ЗСУЛапін Олександр ПавловичПівнічний Льодовитий океанВійна в Афганістані (1979—1989)Чад ГерліДень працівників радіо, телебачення та зв'язкуВелике переселення народівУкраїнаБудинок із химерамиRobloxОб'єднана штурмова бригада Нацполіції «Лють»Микола ХвильовийПсихологічна операціяПісенний конкурс Євробачення 2018Адольф ГітлерХрущов Микита СергійовичСофійський собор (Київ)ҐПєлєшенко Олександр ЮрійовичЛисенко Микола ВіталійовичУрбанізаціяЕкономіка УкраїниКріпацтвоВолинська областьРей БредберіПрава людиниГлюкозаУкраїнські КарпатиРіч ПосполитаКривий РігФінляндіяФранко Іван ЯковичБудинок «Слово»Українська повстанська арміяАзербайджанАсканія-Нова (заповідник)Ернест ГемінґвейМастурбаціяВійна на сході УкраїниNemo (співак)ВінницяМіста України (за алфавітом)ЖитомирЧастка (мовознавство)Список слов'янських богівПрийменник в українській мовіІрландіяОщадбанкMIM-104 PatriotЮдаїзмКомп'ютерКиївДень батькаНестайко Всеволод ЗіновійовичСписок кодів країн дипломатичних номерних знаків УкраїниКоцюбинський Михайло МихайловичТайсон Ф'юріОднорідні члени реченняKraken (спецпідрозділ)🡆 More