Ukuxhomekeka ngokugcweleyo kwiNgcaciso yeMigangatho

Ukuxhomekeka ngokugcweleyo komsebenzi yindlela yokumisela isiseko seenkcukacha ezilingana nomgangatho oqhelekileyo weFomu yesiBini yesiQhelo (2NF) . Ngamafutshane, oku kuthetha ukuba ihlangabezana neemfuno zeFom yeSiqhelo esiQalayo (1NF), kwaye zonke iimpawu ezingundoqo ezingezantsi zixhomekeke ngokusisiseko kwizinto eziphambili.

Oku akuko kunzima njengoko kunokuba kuzwakala. Makhe sijonge kule nkcukacha ngokubanzi.

Isishwankathelo soFom yeSiQala sokuQala

Ngaphambi kokuba i-database ingakwazi ukuxhomekeka ngokupheleleyo, kufuneka iqale ihambelane neFom yoQoqo .

Konke oku kuthetha ukuba impawu nganye kufuneka zibambe ixabiso elinye, i-athomu.

Ngokomzekelo, itafile elandelayo ayihambisani ne-1NF, kuba umqeshwa uTina uxhunyiwe kwiindawo ezimbini, zombini kwisisele esisodwa:

Ifom yokuQala eqhelekileyo engekho ukuthotyelwa
Umqeshwa Indawo
U Yohane ilos Angeles
Tina Los Angeles, Chicago

Ukuvumela ukuba olu qulunqo lunokuchaphazela kakubi ukuhlaziywa kwedatha okanye ukungena. Ukuqinisekisa ukuthotyelwa kwe-1NF, lungisa kwakhona itafile ukuze zonke iimpawu (okanye iiseli zekholomu) zibambe ixabiso elilodwa:

Ukuthotyelwa kweFom yokuQala
Umqeshwa Indawo
U Yohane ilos Angeles
Tina ilos Angeles
Tina Chicago

Kodwa i-1NF ayanele ngokwaneleyo ukukhusela iingxaki kunye nedatha.

Indlela ye-2NF isebenza ngayo ukuqinisekisa Ukuxhomekeka ngokupheleleyo

Ukuxhomekeke ngokupheleleyo, zonke iimpawu ezibalulekileyo ezingabhalwanga kufuneka zixhomekeke kwisitshixo esisisiseko. (Khumbula, impawu ebalulekileyo yomviwa yeyiphi na isitshixo (umzekelo, isitshixo esisisiseko okanye sangaphandle) esetyenziselwa ukuchonga ngokukodwa irekhodi yeenkcukacha.

Abaqulunqi beDatabase basebenzisa i-notation ukuchaza ubudlelwane obuxhomekeke phakathi kweempawu:

Ukuba isibonakaliso A sibeka ixabiso leB, sibhala le A -> B- esithetha ukuba uB isebenza ngokuxhomekeke ku-A. Kulo dlelwane, i-A imisela ukubaluleka kwe-B, ngelixa iB ixhomekeke ku-A.

Umzekelo, kuletafile yamaSebe alandelayo, i-EmployeeID kunye ne-DeptID zizo zombini izitshixo zabafundi: I-EmployeeID iyona nto iphambili yetafile ngelixa i-DeptID iyona nto yangaphandle.

Nayiphi na enye impawu-kule ngxaki, i-EmployeeName kunye ne-DeptName-kufuneka ixhomekeke kwisitshixo esisisiseko sokufumana ixabiso layo.

Amasebe abasebenzi
EmployeeID EmployeeName DeptID DeptName
Emp1 U Yohane Dept001 ZeMali
Emp2 Tina Dept003 Ukuthengisa
Emp3 UCarlos Dept001 ZeMali

Kule meko, itheyibhile ayixhomekeke ngokugcwele ngenxa yokuba, ngelixa i-EmployeeName ixhomekeke kwi-Primary Key EmployeeID, i-DeptName incike endaweni esikhundleni kwi-DeptID. Oku kuthiwa kuxhomekeke ekuxhaseni .

Ukwenza le tafile ihambelane ne-2NF, kufuneka sihlule idatha kwitafile ezimbini:

Abasebenzi
EmployeeID EmployeeName DeptID
Emp1 U Yohane Dept001
Emp2 Tina Dept003
Emp3 UCarlos Dept001

Sisusa umlinganiselo weDeptName kwitafile zabasebenzi kwaye sakha amasebe amatsha etafile:

Amasebe
DeptID DeptName
Dept001 ZeMali
Dept002 Ezengqesho
Dept003 Ukuthengisa

Ngoku ulwalamano phakathi kweetafile luxhomekeke ngokupheleleyo, okanye kwi-2NF.

Kutheni ukuxhomekeka ngokupheleleyo kuBaluleke

Ukuxhomekeka ngokupheleleyo phakathi kweempawu zeenkcukacha kunceda ukuqinisekiswa kwengqibelelo yenkcukacha kwaye ukhuphe ukungaphumeleli kwedatha.

Ngokomzekelo, khawuqwalasele itafile kwicandelo elingentla elingqinelana ne-1NF kuphela. Nantsi, kwakhona:

Ukuthotyelwa kweFom yokuQala
Umqeshwa Indawo
U Yohane ilos Angeles
Tina ilos Angeles
Tina Chicago

UTina unamarekhodi amabini. Ukuba sihlaziya enye ngaphandle kokuqonda ukuba kukho ezimbini, umphumo uya kuba yinkcukacha engahambelaniyo.

Okanye, kuthekani ukuba sifuna ukwongeza umqeshwa kule tafile, kodwa asikazi indawo? Sinokuthi singavunyelwa ukuba songeze ngisho nomqeshwa omtsha ukuba i-attribute ye-Indawo ayivumeli ixabiso le-NULL.

Ukuxhomekeka ngokugcwele akusiyo yonke imifanekiso, nangona kufikeleleka kumgangatho oqhelekileyo. Kufuneka uqinisekise ukuba i-database yakho ifom yeFesithathu yesiQhelo (3NF).