1NF vs 2NF vs 3NF

Normallashish - bu relyatsion ma'lumotlar bazasida mavjud bo'lgan ortiqcha zaxiralarni minimallashtirish uchun amalga oshiriladigan jarayon. Bu jarayon asosan katta jadvallarni kichikroq jadvallarga ajratish bilan kamroq bo'ladi. Ushbu kichik jadvallar aniq belgilangan munosabatlar orqali bir-biri bilan bog'liq bo'ladi. Yaxshi normallashtirilgan ma'lumotlar bazasida har qanday o'zgartirish yoki o'zgartirish faqat bitta jadvalni o'zgartirishni talab qiladi. Birinchi normal shakl (1NF), Ikkinchi normal shakl (2NF) va Uchinchi normal shakl (3NF) Edgar F. Codd tomonidan kiritilgan, u relatsion modelning ixtirochisi va normallashtirish kontseptsiyasidir.

1NF nima?

1NF - bu birinchi oddiy shakl bo'lib, u relyatsion ma'lumotlar bazasini normallashtirish uchun minimal talablar to'plamini ta'minlaydi. 1NF ga mos keladigan jadval, u aslida aloqani ifodalaydi (ya'ni takrorlanuvchi yozuvlar mavjud emas), lekin 1NF uchun umume'tirof etilgan ta'rif mavjud emas. Muhim xususiyatlardan biri shundaki, 1NF ga mos keladigan jadvalda nisbiy qiymatga ega bo'lgan atributlar bo'lmasligi mumkin (ya'ni, barcha atributlar atom qiymatlariga ega bo'lishi kerak).

2NF nima?

2NF - relyatsion ma'lumotlar bazalarida ishlatiladigan ikkinchi oddiy shakl. Jadval 2NF ga mos kelishi uchun u 1NF ga muvofiq bo'lishi kerak va biron bir nomzod kalitiga kirmaydigan har qanday atribut (ya'ni asosiy bo'lmagan atributlar) jadvaldagi istalgan nomzod kalitlariga to'liq bog'liq bo'lishi kerak.

3NF nima?

3NF - nisbiy ma'lumotlar bazasini normallashtirishda ishlatiladigan uchinchi normal shakl. Codd ta'rifiga ko'ra, jadval 3NF shaklida bo'ladi, agar va u jadval ikkinchi normal shaklda bo'lsa (2NF) va jadvaldagi nomzod kalitiga tegishli bo'lmagan har qanday atribut to'g'ridan-to'g'ri bog'liq bo'lishi kerak. stolning har bir nomzod kalitida. 1982 yilda Karlo Zaniolo 3NF uchun boshqacha ifoda etilgan ta'rifni ishlab chiqdi. 3NF-ga mos keladigan jadvallarda, odatda, jadvalga yozuvlarni kiritish, yo'q qilish yoki yangilash paytida yuzaga keladigan anomaliyalar mavjud emas.

1NF va 2NF va 3NF o'rtasidagi farq nima?

1NF, 2NF va 3NF - jadvallardagi ortiqcha ishlarni kamaytirish uchun relyatsion ma'lumotlar bazalarida foydalaniladigan oddiy shakllar. 3NF 2NF-ga qaraganda kuchliroq normal shakl sifatida qabul qilinadi va 1NF-ga qaraganda kuchliroq normal shakl sifatida qabul qilinadi. Shuning uchun, umuman, 3NF shakliga mos keladigan jadvalni olish uchun 2NF jadvalidagi jadvalni dekompozitsiya qilish kerak bo'ladi. Xuddi shunday, 2NF-ga mos keladigan jadvalni olish uchun 1NF-da joylashgan jadvalni dekompozitsiya qilish kerak bo'ladi. Ammo, agar 1NF-ga mos keladigan jadvalda faqat bitta atributdan (ya'ni nomzod bo'lmagan kompozitsion klavishlardan) iborat nomzod kalitlari mavjud bo'lsa, bunday jadval avtomatik ravishda 2NF-ga mos keladi. Jadvallarning dekompozitsiyasi so'rovlarni bajarishda qo'shimcha qo'shilish operatsiyalariga olib keladi (yoki Cartesian mahsulotlari). Bu hisoblash vaqtini ko'paytiradi. Boshqa tomondan, kuchliroq normal shakllarga mos keladigan jadvallar faqat zaif normal shakllarga mos keladigan jadvallarga qaraganda kamroq qisqartirishga ega bo'ladi.