3NF крш BCNF
Нормалдаштыруу - бул реляциялык маалымат базаларындагы маалыматтарда болгон ашыкчаларды азайтуу үчүн жүргүзүлүүчү процесс. Бул процесс негизинен чоң үстөлдөрдү азыраак ашыкчалары менен кичинекей таблицаларга бөлөт. Бул кичинекей столдор жакшы аныкталган мамилелер аркылуу бири-бири менен байланыштуу болот. Жакшы нормалдаштырылган маалымат базасында маалыматтардагы кандайдыр бир өзгөртүү же өзгөртүү бир гана таблицаны өзгөртүүнү талап кылат. Үчүнчү нормалдуу форма (3NF) 1971-жылы Эдгар Ф. Кодд тарабынан киргизилген, ал дагы реляциялык моделдин жана нормалдаштыруу концепциясын ойлоп табуучу. Бойс-Кодд нормалдуу формасы (BCNF) 1974-жылы Кодд жана Раймонд Ф. Бойс.
3NF деген эмне?
3NF - реляциялык маалымат базасын нормалдаштырууда колдонулган Үчүнчү нормалдуу форма. Кодддун аныктамасына ылайык, таблица 3NFде деп айтылат, эгерде ал таблица экинчи нормалдуу формада (2NF) болсо жана таблицадагы талапкер ачкычка кирбеген ар бир атрибут түздөн-түз көз каранды болушу керек. ошол столдун ар бир талапкер ачкычы. 1982-жылы Карло Заниоло 3NF үчүн башкача айтылган аныктама чыгарган. 3NFге ылайык келген таблицаларда таблицага жазууларды киргизүүдө, жок кылууда же жаңыртууда пайда болгон аномалиялар көбүнчө камтылбайт.
BCNF деген эмне?
BCNF (ошондой эле 3.5NF катары белгилүү) реляциялык маалымат базасын нормалдаштырууда колдонулган дагы бир кадимки форма. Бул 3NF тарабынан каралбаган кээ бир аномалияларды алуу үчүн киргизилген. Таблица BCNFде деп айтылат, эгерде А → В түрүндөгү көз карандылыктын ар бири үчүн тривиалдуу эмес, А супер ачкыч болсо гана. BCNF нормалдуу формасында болбогон таблицаны ажыратуу BCNF формасында таблицаларды чыгарууга кепилдик бербейт (баштапкы таблицада болгон көз карандылыктарды сактоо менен).
3NF менен BCNF ортосунда кандай айырма бар?
3NF жана BCNF экөө тең таблицалардагы ашыкчаларды азайтуу үчүн реляциялык маалымат базаларында колдонулган кадимки формалар. BCNF нормалдуу түрдө болгон таблицада A → B түрүндөгү ар бир тривиалдуу эмес функционалдык көз карандылык үчүн A супер ачкыч болуп саналат, ал эми 3NFге туура келген таблица 2NFде болушу керек жана ар бир жөнөкөй эмес атрибут ошол таблицадагы ар бир талапкер ачкычына түздөн-түз көз каранды болушу керек. BCNF 3NFге караганда күчтүүрөөк нормалдуу форма катары каралат жана ал 3NF менен кармай албаган айрым аномалияларды тартуу үчүн иштелип чыккан. BCNF формасына ылайык келген таблицаны алуу үчүн 3NFдеги таблицаны ажыратуу талап кылынат. Бул ажыратуу сурамдарды аткарууда кошумча кошулуу операцияларына (же декарттык продуктыларга) алып келет. Бул эсептөө убактысын көбөйтөт. Башка жагынан алганда, BCNFга ылайык келген таблицаларда 3NFга гана ылайык келген таблицаларга караганда ашыкча азыраак болот. Андан тышкары, көпчүлүк учурда, көз карандылыкты сактоого жана жоготуусуз кошулууга тоскоолдук кылбастан, 3NF ылайык келген таблицаны алууга болот. Бирок бул BCNF менен дайыма эле мүмкүн боло бербейт.