Izixhomekeke kwiindawo ezixhomekeke kwi-database ziyisihloko esivame ukudibanisa abafundi nabagcini bezakhono ngokufanayo. Ngethamsanqa, azinjalo eziyinkimbinkimbi kwaye ziyakwazi ukubonakaliswa ngokusetyenziswa kwemimiselo emininzi. Kule nqaku, sihlolisisa iindidi ezixhomekeke kwiindawo ezixhomekeke kuzo.
Ukuxhomekeka kweDatabase / Ukuxhomekeka koMsebenzi
Ukuxhomekeka kubonakala kwiziko ledatha xa ulwazi olugcinwe kwithebula leenkcukacha ezifanayo lucacisa ngokukodwa olunye ulwazi olugcinwe kwithebula elifanayo. Ungaphinda uchaze oku njengobudlelwane apho ukwazi ixabiso lento enye (okanye isethi yeempawu) kunele ukuxelela inani leminye impawu (okanye isethi yeempawu) kwitafile enye.
Ukuthi kukho ukuxhomekeka phakathi kweempawu kwitafile kufana nokuthetha ukuba kukho ukuxhomekeka okusebenzayo phakathi kwezo zinto. Ukuba kukho ukuxhomekeke kwidatha enjengokuthi uphawu lweB luxhomekeke kwisibakala A, uya kubhala lokhu ngokuthi "A -> B".
Ngokomzekelo, Etafileni udwebe iimpawu zomsebenzi ezibandakanya iNombolo yoKhuseleko loLuntu (SSN) kunye negama, kunokuthiwa igama lixhomekeke kwi-SSN (okanye i-SSN -> igama) ngenxa yokuba igama lomqeshwa linokumiselwa ngokukodwa kwi-SSN yabo. Nangona kunjalo, isitatimende esilandelayo (igama -> i-SSN) aliyinyaniso kuba umqeshwa omnye unokufumana igama elifanayo kodwa ii-SSN ezahlukeneyo.
Ukuxhomekeka kokuSebenzayo
Ukuxhomekeka kokusebenza okungafaniyo kwenzeka xa uchaza ukuxhomekeka kokusebenza kombono kwiqoqo leempawu ezibandakanya impawu zangaphambili. Ngokomzekelo, "{A, B} -> B" kukuxhomekeke kumsebenzi ongaqhelekanga, njengokuba "{igama, SSN} -> SSN". Olu hlobo lokuxhomekeka okusebenzayo lubizwa ngokuba luyingcipheko kuba luyakwazi ukufumana ukuqonda. Kucacile ukuba ukuba sele ulazi ixabiso leB, ngoko ixabiso leB lingakunqunywa ngokukodwa ngolo lwazi.
Ukuxhomekeka okuSebenzayo
Ukuxhomekeka kokusebenza ngokugcwele kwenzeka xa sele udibana neemfuno zokuxhomekeka komsebenzi kwaye isethi yeempawu kwicala lasekhohlo lenkcazo yokuxhomekeka komsebenzi ayinakuncitshiswa. Umzekelo, "{SSN, ubudala} -> igama" lixhomekeke kumsebenzi, kodwa akusixhomekeke ngokupheleleyo kuxhomekeke kumsebenzi ngenxa yokuba unokususa iminyaka yobudala ukusuka kwicala lasekhohlo le-statement ngaphandle kokuchaphazela ukuxhomekeka kokuxhomekeka.
Ukuxhomekeka koTshintsho
Ukuxhomekeka okutshintshayo kwenzeka xa kukho ubudlelwane obungqalileyo obangela ukuxhomekeka komsebenzi. Umzekelo, "I-A -> C" kukuxhomekeka kokutshintsha xa kuyinyaniso kuphela kuba zombini "A -> B" kunye ne "B -> C" yinyaniso.
Ukuxhomekeke kwiiMpendulo
Ukuxhomekeke kwezinto ezininzi zikhoyo xa ubukho bomgca omnye okanye ngaphezulu etafileni bubonisa ubukho bomnye okanye eminye imigqa kuletafile efanayo. Ngokomzekelo, cingela inkampani yemoto eyenza imifanekiso eninzi yemoto, kodwa ihlala iyenza imibala ebomvu neyibhakabhaka yemodeli nganye. Ukuba unetafile equlethe igama lomzekelo, umbala kunye nomnyaka wemoto nganye eyenziwa yinkampani, kukho ukuxhomekeke kwezinto ezininzi kwitafile. Ukuba kukho umqolo wegama elithile lomzekelo kunye nomnyaka oluhlaza okwamabhakabhaka, kufuneka kubekho umqolo ofanayo ohambelana neenguqu ebomvu kweso simoto.
Kubaluleka koxhomekeka
Ukuxhomekeke kwizinto ezixhomekeke kwi-database kubalulekile ukuqonda ngenxa yokuba banikezela ibhloko yokwakha esisiseko esetyenziswe kwi- database . Umzekelo:
- Ukuze itafile ibe kwifom yesibili eqhelekileyo (2NF) , akufuneki kubekho imeko yembonakalo engabonakaliyo kwitheyibhile exhomekeke kwi-subset yecandelo lomviwa .
- Itafile ukuba zibe kwifom yesithathu evamile (3NF) , zonke iimpawu ezingabonakaliyo kufuneka zibe nokuxhomekeka okusebenzayo okungekho okutshintshileyo kuwo wonke ukhetho lomviwa.
- Kwitafile ukuba ibe kwiFom Boyce-Codd ifomu eliqhelekileyo (BCNF) , zonke izixhomekeke kumsebenzi (ngaphandle kokuxhomekeke kwizinto ezincinci) kufuneka zibe kwi- superkey .
- Ukuze itafile ibe kwifom yesine ejwayelekile (4NF) , akumele ibe nexhomekeke ekuxhaseni.