Друга нормальна форма (2НФ, 2NF) — (нормальна форма), що використовується для нормалізації баз даних. 2НФ первісно була визначена 1971 року Едгаром Коддом. Щоб перебувати в другій нормальній формі, таблиця, що перебуває в першій нормальній формі, має відповідати додатковим критеріям. А саме: 1НФ таблиця перебуватиме в 2НФ тоді й лише тоді, коли для будь-якого потенційного ключа K і будь-якого атрибута A, який не є частиною потенційного ключа, A залежить саме від цілого потенційного ключа, а не від його частини.
Тобто, 1НФ таблиця перебуває в 2НФ тоді й тільки тоді, коли всі її неключові атрибути функціонально залежні від потенційного ключа в цілому.
У разі, якщо 1НФ таблиця не має складних потенційних ключів (таких, що складаються більш ніж з одного атрибута), тоді вона автоматично перебуватиме в 2НФ.
Приклад
Розглянемо таблицю, що описує вміння працівників:
Працівник | Вміння | Поточне місце роботи |
---|---|---|
Палій | Друкування | Бузковий провулок, 7 |
Палій | Стенографія | Бузковий провулок, 7 |
Палій | Мосяжництво | Бузковий провулок, 7 |
Сірко | Гончарство | Проспект Троянд, 49 |
Мамай | Алхімія | Проспект Троянд, 49 |
Мамай | Пілотування | Проспект Троянд, 49 |
Богун | Гончарство | Проспект Троянд, 49 |
Ані {Працівник} ані {Вміння} не є потенційними ключами для таблиці. «Працівник» може мати декілька вмінь, а «Вміння» може з'являтись у більше ніж одного Працівника. Саме складний ключ {Працівник, Вміння} підходить як потенційний ключ для таблиці.
Інші атрибути, «Поточне місце роботи», залежні від частини потенційного ключа, від Працівника. Тобто таблиця не в 2НФ. Існує надлишковість у представленні атрибута «Поточне місце роботи»: тричі повторюється те, що Палій працює на Бузковому провулку, 7, і двічі, що Мамай працює на проспекті Троянд, 49. Ця надлишковість робить таблицю вразливою для аномалій оновлення: це, наприклад, можливість оновити місце роботи Палія на його записах про «Друкування» і «Стенографію» і не оновити запис про «Мосяжництво». Отримані дані будуть припускати суперечливі відповіді на питання «Де працює Палій?»
Варіант у 2НФ для цього набору даних буде містити дві таблиці: «Працівник» з потенційним ключем {Працівник}, «Вміння працівників» з потенційним ключем {Працівник, Вміння}:
Працівник | Поточне місце роботи |
---|---|
Палій | Бузковий провулок, 7 |
Сірко | Проспект Троянд, 49 |
Мамай | Проспект Троянд, 49 |
Богун | Проспект Троянд, 49 |
Працівник | Вміння |
---|---|
Палій | Друкування |
Палій | Стенографія |
Палій | Мосяжництво |
Сірко | Гончарство |
Мамай | Алхімія |
Мамай | Пілотування |
Богун | Гончарство |
Жодна з цих таблиць не постраждає від аномалій оновлення.
Однак, не всі таблиці в 2НФ унебезпечені від аномалій оновлення. Приклад таблиці в 2НФ, яка може постраждати від аномалій оновлення:
Змагання | Рік | Переможець | Дата народження переможця |
---|---|---|---|
Співуче поле | 1998 | Іван Швидкосвист | 14 березня 1977 |
Майстерня талантів | 1998 | Степан Гуцало | 21 липня 1975 |
Осінній лист | 1999 | Яромир Грабар | 28 вересня 1968 |
День вареників | 1999 | Степан Гуцало | 21 липня 1975 |
Вище неба | 1999 | Іван Швидкосвист | 14 березня 1977 |
Попри те, що «Переможець» і «Дата народження переможця» визначається через цілий ключ {Змагання / Рік} і не є його частиною, саме поєднання «Переможець» / «Дата народження переможця» створює надлишковість. Це призводить до аномалій оновлення: якщо оновлення не потурбувалось про цілісність, можемо отримати переможця з двома різними датами народження.
Проблема полягає в транзитивній залежності атрибута «Дата народження переможця». «Дата народження переможця» залежить від «Переможець», який в свою чергу залежить від ключа.
Проблема адресована до третьої нормальної форми (3НФ).
2НФ і потенційні ключі
Таблиці, в яких немає часткових функціональних залежностей від первинного ключа зазвичай, але не завжди, знаходяться в 2НФ. У додаток до первинного ключа, таблиця може містити інші потенційні ключі; необхідно встановити, що немає неключових атрибутів, які мають часткову залежність від будь-якого потенційного ключа.
Кілька потенційних ключів зустрічаються в наступній таблиці:
Виробник | Модель | Повна назва | Країна виробник |
---|---|---|---|
Forte | X-Prime | Forte X-Prime | Італія |
Forte | Ultraclean | Forte Ultraclean | Італія |
Dent-o-Fresh | EZbrush | Dent-o-Fresh EZBrush | США |
Kobayashi | ST-60 | Kobayashi ST-60 | Японія |
Hoch | Toothmaster | Hoch Toothmaster | Німеччина |
Hoch | X-Prime | Hoch X-Prime | Німеччина |
Навіть якщо проектувальник визначить первинний ключ як {Повна назва}, таблиця не в 2НФ. {Виробник, Модель} також потенційний ключ, і «Країна виробник» залежить від його підмножини «Виробник». Для переведення в 2НФ необхідно перейти до двох таблиць:
Виробник | Країна виробник |
---|---|
Forte | Італія |
Dent-o-Fresh | США |
Kobayashi | Японія |
Hoch | Німеччина |
Виробник | Модель | Повна назва |
---|---|---|
Forte | X-Prime | Forte X-Prime |
Forte | Ultraclean | Forte Ultraclean |
Dent-o-Fresh | EZbrush | Dent-o-Fresh EZBrush |
Kobayashi | ST-60 | Kobayashi ST-60 |
Hoch | Toothmaster | Hoch Toothmaster |
Hoch | X-Prime | Hoch X-Prime |
Примітки
- Codd, E.F. "Further Normalization of the Data Base Relational Model." (Presented at Courant Computer Science Symposia Series 6, "Data Base Systems," New York City, May 24th-25th, 1971.) IBM Research Report RJ909 (August 31st, 1971). Republished in Randall J. Rustin (ed.), Data Base Systems: Courant Computer Science Symposia Series 6. Prentice-Hall, 1972.
Посилання
- Базові знання з нормалізації баз даних [ 5 лютого 2007 у Wayback Machine.] Майк Чеппл (About.com). (англ.)
- Майк Хіллер. (англ.)
- ITS, University of Texas. (англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Druga normalna forma 2NF 2NF normalna forma sho vikoristovuyetsya dlya normalizaciyi baz danih 2NF pervisno bula viznachena 1971 roku Edgarom Koddom Shob perebuvati v drugij normalnij formi tablicya sho perebuvaye v pershij normalnij formi maye vidpovidati dodatkovim kriteriyam A same 1NF tablicya perebuvatime v 2NF todi j lishe todi koli dlya bud yakogo potencijnogo klyucha K i bud yakogo atributa A yakij ne ye chastinoyu potencijnogo klyucha A zalezhit same vid cilogo potencijnogo klyucha a ne vid jogo chastini Tobto 1NF tablicya perebuvaye v 2NF todi j tilki todi koli vsi yiyi neklyuchovi atributi funkcionalno zalezhni vid potencijnogo klyucha v cilomu U razi yaksho 1NF tablicya ne maye skladnih potencijnih klyuchiv takih sho skladayutsya bilsh nizh z odnogo atributa todi vona avtomatichno perebuvatime v 2NF PrikladRozglyanemo tablicyu sho opisuye vminnya pracivnikiv Vminnya pracivnikiv Pracivnik Vminnya Potochne misce robotiPalij Drukuvannya Buzkovij provulok 7Palij Stenografiya Buzkovij provulok 7Palij Mosyazhnictvo Buzkovij provulok 7Sirko Goncharstvo Prospekt Troyand 49Mamaj Alhimiya Prospekt Troyand 49Mamaj Pilotuvannya Prospekt Troyand 49Bogun Goncharstvo Prospekt Troyand 49 Ani Pracivnik ani Vminnya ne ye potencijnimi klyuchami dlya tablici Pracivnik mozhe mati dekilka vmin a Vminnya mozhe z yavlyatis u bilshe nizh odnogo Pracivnika Same skladnij klyuch Pracivnik Vminnya pidhodit yak potencijnij klyuch dlya tablici Inshi atributi Potochne misce roboti zalezhni vid chastini potencijnogo klyucha vid Pracivnika Tobto tablicya ne v 2NF Isnuye nadlishkovist u predstavlenni atributa Potochne misce roboti trichi povtoryuyetsya te sho Palij pracyuye na Buzkovomu provulku 7 i dvichi sho Mamaj pracyuye na prospekti Troyand 49 Cya nadlishkovist robit tablicyu vrazlivoyu dlya anomalij onovlennya ce napriklad mozhlivist onoviti misce roboti Paliya na jogo zapisah pro Drukuvannya i Stenografiyu i ne onoviti zapis pro Mosyazhnictvo Otrimani dani budut pripuskati superechlivi vidpovidi na pitannya De pracyuye Palij Variant u 2NF dlya cogo naboru danih bude mistiti dvi tablici Pracivnik z potencijnim klyuchem Pracivnik Vminnya pracivnikiv z potencijnim klyuchem Pracivnik Vminnya Pracivnik Pracivnik Potochne misce robotiPalij Buzkovij provulok 7Sirko Prospekt Troyand 49Mamaj Prospekt Troyand 49Bogun Prospekt Troyand 49Vminnya pracivnikiv Pracivnik VminnyaPalij DrukuvannyaPalij StenografiyaPalij MosyazhnictvoSirko GoncharstvoMamaj AlhimiyaMamaj PilotuvannyaBogun Goncharstvo Zhodna z cih tablic ne postrazhdaye vid anomalij onovlennya Odnak ne vsi tablici v 2NF unebezpecheni vid anomalij onovlennya Priklad tablici v 2NF yaka mozhe postrazhdati vid anomalij onovlennya Peremozhec zmagannya Zmagannya Rik Peremozhec Data narodzhennya peremozhcyaSpivuche pole 1998 Ivan Shvidkosvist 14 bereznya 1977Majsternya talantiv 1998 Stepan Gucalo 21 lipnya 1975Osinnij list 1999 Yaromir Grabar 28 veresnya 1968Den varenikiv 1999 Stepan Gucalo 21 lipnya 1975Vishe neba 1999 Ivan Shvidkosvist 14 bereznya 1977 Popri te sho Peremozhec i Data narodzhennya peremozhcya viznachayetsya cherez cilij klyuch Zmagannya Rik i ne ye jogo chastinoyu same poyednannya Peremozhec Data narodzhennya peremozhcya stvoryuye nadlishkovist Ce prizvodit do anomalij onovlennya yaksho onovlennya ne poturbuvalos pro cilisnist mozhemo otrimati peremozhcya z dvoma riznimi datami narodzhennya Problema polyagaye v tranzitivnij zalezhnosti atributa Data narodzhennya peremozhcya Data narodzhennya peremozhcya zalezhit vid Peremozhec yakij v svoyu chergu zalezhit vid klyucha Problema adresovana do tretoyi normalnoyi formi 3NF 2NF i potencijni klyuchiTablici v yakih nemaye chastkovih funkcionalnih zalezhnostej vid pervinnogo klyucha zazvichaj ale ne zavzhdi znahodyatsya v 2NF U dodatok do pervinnogo klyucha tablicya mozhe mistiti inshi potencijni klyuchi neobhidno vstanoviti sho nemaye neklyuchovih atributiv yaki mayut chastkovu zalezhnist vid bud yakogo potencijnogo klyucha Kilka potencijnih klyuchiv zustrichayutsya v nastupnij tablici Modeli elektrichnih zubnih shitok Virobnik Model Povna nazva Krayina virobnikForte X Prime Forte X Prime ItaliyaForte Ultraclean Forte Ultraclean ItaliyaDent o Fresh EZbrush Dent o Fresh EZBrush SShAKobayashi ST 60 Kobayashi ST 60 YaponiyaHoch Toothmaster Hoch Toothmaster NimechchinaHoch X Prime Hoch X Prime Nimechchina Navit yaksho proektuvalnik viznachit pervinnij klyuch yak Povna nazva tablicya ne v 2NF Virobnik Model takozh potencijnij klyuch i Krayina virobnik zalezhit vid jogo pidmnozhini Virobnik Dlya perevedennya v 2NF neobhidno perejti do dvoh tablic Virobniki elektrichnih zubnih shitok Virobnik Krayina virobnikForte ItaliyaDent o Fresh SShAKobayashi YaponiyaHoch NimechchinaModeli elektrichnih zubnih shitok Virobnik Model Povna nazvaForte X Prime Forte X PrimeForte Ultraclean Forte UltracleanDent o Fresh EZbrush Dent o Fresh EZBrushKobayashi ST 60 Kobayashi ST 60Hoch Toothmaster Hoch ToothmasterHoch X Prime Hoch X PrimePrimitkiCodd E F Further Normalization of the Data Base Relational Model Presented at Courant Computer Science Symposia Series 6 Data Base Systems New York City May 24th 25th 1971 IBM Research Report RJ909 August 31st 1971 Republished in Randall J Rustin ed Data Base Systems Courant Computer Science Symposia Series 6 Prentice Hall 1972 PosilannyaBazovi znannya z normalizaciyi baz danih 5 lyutogo 2007 u Wayback Machine Majk Cheppl About com angl Majk Hiller angl ITS University of Texas angl