3NF va BCNF o'rtasidagi farq

3NF va BCNF o'rtasidagi farq
3NF va BCNF o'rtasidagi farq

Video: 3NF va BCNF o'rtasidagi farq

Video: 3NF va BCNF o'rtasidagi farq
Video: L62: Comparison(Difference) between 3NF and BCNF with example | Database Management System(DBMS) 2024, Iyul
Anonim

3NF va BCNF

Normallashtirish - bu relyatsion ma'lumotlar bazalarida mavjud bo'lgan ortiqcha narsalarni minimallashtirish uchun amalga oshiriladigan jarayon. Bu jarayon asosan katta jadvallarni kamroq ortiqcha bilan kichikroq jadvallarga ajratadi. Bu kichikroq jadvallar yaxshi belgilangan munosabatlar orqali bir-biri bilan bog'langan bo'ladi. Yaxshi normallashtirilgan ma'lumotlar bazasida ma'lumotlardagi har qanday o'zgartirish yoki o'zgartirish faqat bitta jadvalni o'zgartirishni talab qiladi. Uchinchi normal shakl (3NF) 1971 yilda Edgar F. Codd tomonidan kiritilgan bo'lib, u ham relyatsion model va normalizatsiya kontseptsiyasining ixtirochisi hisoblanadi. Boyce-Codd normal shakli (BCNF) 1974 yilda Codd va Raymond F tomonidan kiritilgan. Boyce.

3NF nima?

3NF - relyatsion ma'lumotlar bazasini normallashtirishda foydalaniladigan uchinchi normal shakl. Codd ta'rifiga ko'ra, jadval 3NFda deyiladi, agar bu jadval ikkinchi normal shaklda (2NF) bo'lsa va jadvaldagi nomzod kalitga tegishli bo'lmagan har bir atribut to'g'ridan-to'g'ri bog'liq bo'lishi kerak. ushbu jadvalning har bir nomzod kaliti. 1982 yilda Karlo Zaniolo 3NF uchun boshqacha ifodalangan ta'rifni ishlab chiqdi. 3NF ga mos keladigan jadvallar odatda jadvalga yozuvlarni kiritish, oʻchirish yoki yangilashda yuzaga keladigan anomaliyalarni oʻz ichiga olmaydi.

BCNF nima?

BCNF (shuningdek, 3.5NF nomi bilan ham tanilgan) relyatsion ma'lumotlar bazasini normallashtirishda qo'llaniladigan yana bir oddiy shakldir. U 3NF tomonidan hal etilmagan ba'zi anomaliyalarni qo'lga kiritish uchun kiritilgan. Jadval BCNF da deyiladi, agar A → B ko'rinishidagi har bir ahamiyatsiz bo'lgan bog'liqliklar uchun A super kalit bo'lsa. BCNF normal shaklida bo'lmagan jadvalni parchalash BCNF shaklida jadvallarni ishlab chiqarishni kafolatlamaydi (asl jadvalda mavjud bo'lgan bog'liqliklar saqlanib qolgan holda).

3NF va BCNF o'rtasidagi farq nima?

3NF ham, BCNF ham oddiy shakllar boʻlib, ular jadvallardagi ortiqcha miqdorlarni kamaytirish uchun relyatsion maʼlumotlar bazalarida qoʻllaniladi. BCNF normal ko'rinishidagi jadvalda A → B ko'rinishidagi har bir noan'anaviy funktsional bog'liqlik uchun A super kalit bo'lsa, 3NF ga mos keladigan jadval 2NFda bo'lishi kerak va har bir asosiy bo'lmagan. atribut bevosita ushbu jadvalning har bir nomzod kalitiga bog'liq bo'lishi kerak. BCNF 3NF ga qaraganda kuchliroq normal shakl sifatida qabul qilinadi va u 3NF tomonidan ushlana olmaydigan ba'zi anomaliyalarni qo'lga kiritish uchun ishlab chiqilgan. BCNF shakliga mos keladigan jadvalni olish 3NFdagi jadvalni parchalashni talab qiladi. Ushbu parchalanish so'rovlarni bajarishda qo'shimcha birlashma operatsiyalariga (yoki Kartezian mahsulotlarga) olib keladi. Bu hisoblash vaqtini oshiradi. Boshqa tomondan, BCNF ga mos keladigan jadvallar faqat 3NF ga mos keladigan jadvallarga qaraganda kamroq ortiqcha bo'ladi. Bundan tashqari, ko'pincha, qaramlikni saqlash va yo'qotishsiz ulanishga to'sqinlik qilmasdan 3NF ga mos keladigan jadvalni olish mumkin. Lekin BCNF bilan bu har doim ham mumkin emas.

Tavsiya: