Четверта нормальна форма (4НФ) — нормальна форма застосовна в нормалізації баз даних. Введена в 1977. 4НФ — наступний рівень нормалізації після нормальної форми Бойса — Кодда. Тоді як друга, третя, і нормальна форма Бойса — Кодда опікуються функціональною залежністю, 4НФ опікується загальнішим типом залежності, відомим як багатозначна залежність. Таблиця перебуває в 4НФ тоді й лише тоді, коли для кожної її багатозначної залежності X →→ Y, X — суперключ, тобто X або потенційний ключ, або його надмножина.
Приклад
Розглянемо такий приклад:
Корчма | Тип вареників | Район доставки |
---|---|---|
Тарас Бульба | Із сиром | Молдаванка |
Тарас Бульба | Із сиром | Таїрово |
Тарас Бульба | Із сиром | Центр |
Тарас Бульба | З вишнями | Молдаванка |
Тарас Бульба | З вишнями | Таїрово |
Тарас Бульба | З вишнями | Центр |
За рогом | З грибами | Центр |
За рогом | З вишнями | Центр |
Тяжкі пропойці | Із сиром | Молдаванка |
Тяжкі пропойці | Із сиром | Таїрово |
Тяжкі пропойці | З грибами | Молдаванка |
Тяжкі пропойці | З грибами | Таїрово |
Кожний рядок показує куди корчма може доставити певний тип вареників.
В таблиці відсутні неключові атрибути, бо єдиний ключ це {Корчма, Тип вареників, Район доставки}. Тож таблиця знаходиться в усіх нормальних формах до НФБК. Однак, якщо ми припустимо, що типи вареників пропоновані рестораном не залежать від району доставки, тоді таблиця не знаходиться в 4НФ. Проблема в тому, що таблиця має дві нетривіальні багатозначні залежності від атрибута «Корчма» (який не є суперключем). Залежності такі:
- {Корчма} →→ {Тип вареників}
- {Корчма} →→ {Район доставки}
Ці нетривіальні багатозначні залежності на неключовому атрибуті відображають факт незалежності типів вареників, що пропонує корчма від районів в яких здійснюється доставка цією корчмою. Це призводить до надлишковості в таблиці: наприклад, ми тричі кажемо, що корчма «Тарас Бульба» пропонує варениками з вишнями, і якщо корчма «Тарас Бульба» почне пропонувати вареники з квасолею тоді нам буде необхідно додати декілька рядків, по одному для кожного району доставки. Навіть більше, нічого не заважає нам зробити це невірно: ми можемо додати рядки вареників з квасолею для всіх районів крім одного, звідси помилка багатозначної залежності {Корчма} →→ {Тип вареників}.
Для унеможливлення цих аномалій, ми маємо розмістити дані про типи пропонованих вареників в різні таблиці із даними про райони доставки, створивши дві таблиці, обидві в 4НФ:
Корчма | Тип вареників |
---|---|
Тарас Бульба | Із сиром |
Тарас Бульба | З вишнями |
За рогом | З грибами |
За рогом | З вишнями |
Тяжкі пропойці | Із сиром |
Тяжкі пропойці | З грибами |
Корчма | Район доставки |
---|---|
Тарас Бульба | Молдаванка |
Тарас Бульба | Таїрово |
Тарас Бульба | Центр |
За рогом | Центр |
Тяжкі пропойці | Молдаванка |
Тяжкі пропойці | Таїрово |
На відміну від випадку, коли типи вареників пропоновані рестораном змінюються залежно від районів доставки, вихідна таблиця буде задовольняти умовам 4НФ.
Рональд Фейджин показав, що досягти виконання 4НФ можливо завжди. (про незалежність проєкцій) теж застосовна до багатозначних залежностей.
4НФ в практиці
Стаття Маргарет Ву 1992 зауважує, що навчання з нормалізації баз даних зазвичай завершують безпосередньо перед 4НФ, можливо, через віру в те, що таблиці не в 4НФ (але такі, що знаходяться в попередніх) рідко зустрічаються в бізнес застосунках. А втім, ця віра може бути не точною. Ву звітує, що при вивченні сорока баз даних організацій, понад 20% містили одну або більше таблиць, що порушували 4НФ і при цьому відповідали умовам усіх нижніх форм.
Примітки
- "A relation schema R* is in fourth normal form (4NF) if, whenever a nontrivial multivalued dependency X →→ Y holds for R*, then so does the functional dependency X → A for every column name A of R*. Intuitively all dependencies are the result of keys." Fagin, Ronald (September 1977). (PDF). ACM Transactions on Database Systems. 2 (1): 267. doi:10.1145/320557.320571. Архів оригіналу (PDF) за 29 листопада 2007. Процитовано 1 квітня 2011.
- Fagin, p. 268
- Wu, Margaret S. (March 1992). The Practical Need for Fourth Normal Form. ACM SIGCSE Bulletin. 24 (1): 19—23. doi:10.1145/135250.134515.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Chetverta normalna forma 4NF normalna forma zastosovna v normalizaciyi baz danih Vvedena v 1977 4NF nastupnij riven normalizaciyi pislya normalnoyi formi Bojsa Kodda Todi yak druga tretya i normalna forma Bojsa Kodda opikuyutsya funkcionalnoyu zalezhnistyu 4NF opikuyetsya zagalnishim tipom zalezhnosti vidomim yak bagatoznachna zalezhnist Tablicya perebuvaye v 4NF todi j lishe todi koli dlya kozhnoyi yiyi bagatoznachnoyi zalezhnosti X Y X superklyuch tobto X abo potencijnij klyuch abo jogo nadmnozhina PrikladRozglyanemo takij priklad Rajoni dostavki varenikiv Korchma Tip varenikiv Rajon dostavki Taras Bulba Iz sirom Moldavanka Taras Bulba Iz sirom Tayirovo Taras Bulba Iz sirom Centr Taras Bulba Z vishnyami Moldavanka Taras Bulba Z vishnyami Tayirovo Taras Bulba Z vishnyami Centr Za rogom Z gribami Centr Za rogom Z vishnyami Centr Tyazhki propojci Iz sirom Moldavanka Tyazhki propojci Iz sirom Tayirovo Tyazhki propojci Z gribami Moldavanka Tyazhki propojci Z gribami Tayirovo Kozhnij ryadok pokazuye kudi korchma mozhe dostaviti pevnij tip varenikiv V tablici vidsutni neklyuchovi atributi bo yedinij klyuch ce Korchma Tip varenikiv Rajon dostavki Tozh tablicya znahoditsya v usih normalnih formah do NFBK Odnak yaksho mi pripustimo sho tipi varenikiv proponovani restoranom ne zalezhat vid rajonu dostavki todi tablicya ne znahoditsya v 4NF Problema v tomu sho tablicya maye dvi netrivialni bagatoznachni zalezhnosti vid atributa Korchma yakij ne ye superklyuchem Zalezhnosti taki Korchma Tip varenikiv Korchma Rajon dostavki Ci netrivialni bagatoznachni zalezhnosti na neklyuchovomu atributi vidobrazhayut fakt nezalezhnosti tipiv varenikiv sho proponuye korchma vid rajoniv v yakih zdijsnyuyetsya dostavka ciyeyu korchmoyu Ce prizvodit do nadlishkovosti v tablici napriklad mi trichi kazhemo sho korchma Taras Bulba proponuye varenikami z vishnyami i yaksho korchma Taras Bulba pochne proponuvati vareniki z kvasoleyu todi nam bude neobhidno dodati dekilka ryadkiv po odnomu dlya kozhnogo rajonu dostavki Navit bilshe nichogo ne zavazhaye nam zrobiti ce nevirno mi mozhemo dodati ryadki varenikiv z kvasoleyu dlya vsih rajoniv krim odnogo zvidsi pomilka bagatoznachnoyi zalezhnosti Korchma Tip varenikiv Dlya unemozhlivlennya cih anomalij mi mayemo rozmistiti dani pro tipi proponovanih varenikiv v rizni tablici iz danimi pro rajoni dostavki stvorivshi dvi tablici obidvi v 4NF Riznovidi v restoranah Korchma Tip varenikiv Taras Bulba Iz sirom Taras Bulba Z vishnyami Za rogom Z gribami Za rogom Z vishnyami Tyazhki propojci Iz sirom Tyazhki propojci Z gribami Rajoni dostavki restoraniv Korchma Rajon dostavki Taras Bulba Moldavanka Taras Bulba Tayirovo Taras Bulba Centr Za rogom Centr Tyazhki propojci Moldavanka Tyazhki propojci Tayirovo Na vidminu vid vipadku koli tipi varenikiv proponovani restoranom zminyuyutsya zalezhno vid rajoniv dostavki vihidna tablicya bude zadovolnyati umovam 4NF Ronald Fejdzhin pokazav sho dosyagti vikonannya 4NF mozhlivo zavzhdi pro nezalezhnist proyekcij tezh zastosovna do bagatoznachnih zalezhnostej 4NF v prakticiStattya Margaret Vu 1992 zauvazhuye sho navchannya z normalizaciyi baz danih zazvichaj zavershuyut bezposeredno pered 4NF mozhlivo cherez viru v te sho tablici ne v 4NF ale taki sho znahodyatsya v poperednih ridko zustrichayutsya v biznes zastosunkah A vtim cya vira mozhe buti ne tochnoyu Vu zvituye sho pri vivchenni soroka baz danih organizacij ponad 20 mistili odnu abo bilshe tablic sho porushuvali 4NF i pri comu vidpovidali umovam usih nizhnih form Primitki A relation schema R is in fourth normal form 4NF if whenever a nontrivial multivalued dependency X Y holds for R then so does the functional dependency X A for every column name A of R Intuitively all dependencies are the result of keys Fagin Ronald September 1977 PDF ACM Transactions on Database Systems 2 1 267 doi 10 1145 320557 320571 Arhiv originalu PDF za 29 listopada 2007 Procitovano 1 kvitnya 2011 Fagin p 268 Wu Margaret S March 1992 The Practical Need for Fourth Normal Form ACM SIGCSE Bulletin 24 1 19 23 doi 10 1145 135250 134515