3NF dhidi ya BCNF
Kusawazisha ni mchakato unaofanywa ili kupunguza uondoaji ambao uko katika data katika hifadhidata za uhusiano. Utaratibu huu utagawanya majedwali makubwa hadi majedwali madogo na upunguzaji wa majukumu machache. Majedwali haya madogo yatahusiana kwa njia ya mahusiano yaliyofafanuliwa vizuri. Katika hifadhidata iliyosawazishwa vizuri, mabadiliko yoyote au urekebishaji wa data utahitaji kurekebisha jedwali moja tu. Fomu ya Tatu ya Kawaida (3NF) ilianzishwa mwaka wa 1971 na Edgar F. Codd, ambaye pia ni mvumbuzi wa modeli ya uhusiano na dhana ya kuhalalisha. Fomu ya Kawaida ya Boyce-Codd (BCNF) ilianzishwa mwaka wa 1974 na Codd na Raymond F. Boyce.
3NF ni nini?
3NF ni fomu ya Tatu ya kawaida inayotumika katika urekebishaji wa hifadhidata ya uhusiano. Kulingana na ufafanuzi wa Codd, jedwali linasemekana kuwa katika 3NF, ikiwa tu, jedwali hilo liko katika fomu ya pili ya kawaida (2NF), na kila sifa kwenye jedwali ambayo si ya ufunguo wa mgombea inapaswa kutegemea moja kwa moja. kila ufunguo wa mgombea wa jedwali hilo. Mnamo 1982, Carlo Zaniolo alitoa ufafanuzi tofauti wa 3NF. Majedwali yanayotii 3NF kwa ujumla hayana hitilafu zinazotokea wakati wa kuingiza, kufuta au kusasisha rekodi kwenye jedwali.
BCNF ni nini?
BCNF (pia inajulikana kama 3.5NF) ni aina nyingine ya kawaida inayotumiwa katika urekebishaji wa hifadhidata ya uhusiano. Ilianzishwa ili kunasa baadhi ya hitilafu ambazo hazijashughulikiwa na 3NF. Jedwali linasemekana kuwa katika BCNF, ikiwa na tu ikiwa, kwa kila moja ya vitegemezi vya fomu A → B ambavyo si vya kawaida, A ni ufunguo mkuu. Kuoza jedwali ambalo haliko katika umbo la kawaida la BCNF hakuhakikishii utengenezaji wa majedwali katika umbo la BCNF (huku ukihifadhi vitegemezi vilivyokuwepo kwenye jedwali asili).
Kuna tofauti gani kati ya 3NF na BCNF?
3NF na BCNF ni aina za kawaida zinazotumika katika hifadhidata za uhusiano ili kupunguza upunguzaji wa matumizi katika majedwali. Katika jedwali ambalo liko katika umbo la kawaida la BCNF, kwa kila utegemezi wa utendaji usio wa kawaida wa fomu A → B, A ni ufunguo mkuu ambapo, jedwali linalotii 3NF linapaswa kuwa katika 2NF, na kila lisilo la msingi. sifa inapaswa kutegemea moja kwa moja kila ufunguo wa mgombea wa jedwali hilo. BCNF inachukuliwa kuwa fomu ya kawaida yenye nguvu zaidi kuliko 3NF na iliundwa ili kunasa baadhi ya hitilafu ambazo hazikuweza kunaswa na 3NF. Kupata jedwali linalotii fomu ya BCNF kutahitaji kuoza jedwali lililo katika 3NF. Mtengano huu utasababisha shughuli za ziada za kujiunga (au bidhaa za Cartesian) wakati wa kutekeleza hoja. Hii itaongeza wakati wa kuhesabu. Kwa upande mwingine, majedwali ambayo yanatii BCNF yatakuwa na upungufu mdogo kuliko majedwali ambayo yanatii 3NF pekee. Zaidi ya hayo, mara nyingi, inawezekana kupata jedwali linalotii 3NF bila kuzuia uhifadhi wa utegemezi na kujiunga bila hasara. Lakini hii haiwezekani kila wakati kwa BCNF.