Ukuxhomekeka okugcwele kokusebenza kuyisimo sokujwayelekile sokugcina idatha esilinganisa nesilinganiso sokujwayelekile seFomu lesiBili elijwayelekile (2NF) . Ngamafuphi, lokhu kusho ukuthi kuhlangabezana nezidingo zeFomu Elijwayelekile Elijwayelekile (1NF), futhi zonke izimfanelo ezingezona ezibalulekile zixhomeke ngokugcwele ekhiye lokuqala.
Lokhu akuyona okunzima njengoba kungase kuzwakale. Ake sibheke lokhu ngokuningiliziwe.
Isifingqo soFomu Lokuqala Oluvamile
Ngaphambi kokuba i-database ingaxhomeke ngokugcwele, kufanele ihambisane neFomu Elijwayelekile Lokuqala .
Konke lokhu kusho ukuthi imfanelo ngayinye kufanele ibambe inani elilodwa, i-athomu.
Isibonelo, ithebula elilandelayo alihambisani ne-1NF, ngoba isisebenzi uTina sixhunyaniswe nezindawo ezimbili, zombili zombili esitokisini esisodwa:
Umsebenzi | Indawo |
---|---|
UJohane | e-Los Angeles |
Tina | Los Angeles, Chicago |
Ukuvumela lesi sakhiwo kungathinta kabi izibuyekezo zedatha noma okufakiwe. Ukuze uqinisekise ukulandelwa kwe-1NF, lungisa kabusha ithebula ukuze zonke izici (noma amakholomu ekholomu) zibambe inani elilodwa:
Umsebenzi | Indawo |
---|---|
UJohane | e-Los Angeles |
Tina | e-Los Angeles |
Tina | Chicago |
Kodwa i-1NF ayanele ngokwanele ukugwema izinkinga nedatha.
Yeka ukuthi i-2NF isebenza kanjani ukuqinisekisa ukuxhomeka okugcwele
Ukuthembela ngokugcwele, zonke izimfanelo ezibalulekile ezingezona ukhetho kufanele zithembele ekhiye oyinhloko. (Khumbula, isici esiyisihluthulelo se- candidate yisiphi isihluthulelo (isibonelo, ukhiye oyinhloko noma wangaphandle) osetshenziselwa ukukhomba kuphela irekhodi lemininingwane.
Abaqambi be-database basebenzisa inothi ukuchaza ubudlelwano obuxhomeke phakathi kwezici:
Uma isici A sibona ukubaluleka kwe-B, sibhala lokhu A -> B - okusho ukuthi iB isebenza ngokugcwele ku-A. Kulobudlelwane, i-A inquma ukubaluleka kwe-B, ngenkathi i-B ixhomeke ku-A.
Isibonelo, kuletafula leMisebenzi yamaSebenzi alandelayo, abasebenzi base-EmployeeID kanye neDeptID bobabili izihluthulelo ze-candidate: I-EmployeeID iyinhloko eyisihluthulelo setafula kuyilapho i-DeptID ikhiye wangaphandle.
Noma yimuphi omunye umlinganiso - kulokhu, i-EmployeeName ne-DeptName - kufanele ixhomeke ekhiye oyinhloko ukuthola inani layo.
I-EmployeeID | EmployeeName | I-DeptID | DeptName |
---|---|---|---|
I-Emp1 | UJohane | Dept001 | Ezezimali |
I-Emp2 | Tina | Dept003 | Ukuthengisa |
I-Emp3 | UCarlos | Dept001 | Ezezimali |
Kulokhu, ithebula alixhomeke ngokugcwele ngoba, ngenkathi i-EmployeeName ixhomeke ku-EmployeeID eyinhloko, i-DeptName incike esikhundleni se-DeptID. Lokhu kubizwa ngokuthi kuncike ekuziphatheni .
Ukuze wenze leli tafula lihambisane ne-2NF, kudingeka sihlukanise idatha kumatafula amabili:
I-EmployeeID | EmployeeName | I-DeptID |
---|---|---|
I-Emp1 | UJohane | Dept001 |
I-Emp2 | Tina | Dept003 |
I-Emp3 | UCarlos | Dept001 |
Susa imfanelo ye-DeptName kusuka kuthebula labasebenzi bese sakha iminyango entsha yamathebula:
I-DeptID | DeptName |
---|---|
Dept001 | Ezezimali |
Dept002 | Umnyango Wabasebenzi |
Dept003 | Ukuthengisa |
Manje ubuhlobo phakathi kwamatafula buxhomeke ngokugcwele, noma ku-2NF.
Kungani Ukuthembela Okuphelele Kubalulekile
Ukuthembela ngokugcwele phakathi kwezimfanelo ze-database kusiza ukuqinisekisa ukuthembeka kwedatha futhi kugweme ukuhlukunyezwa kwedatha.
Isibonelo, cabangela ithebula kusigaba esingenhla esibambelela ku-1NF kuphela. Nangu kunjalo, futhi:
Umsebenzi | Indawo |
---|---|
UJohane | e-Los Angeles |
Tina | e-Los Angeles |
Tina | Chicago |
UTina unamarekhodi amabili. Uma sibuyekeza eyodwa ngaphandle kokuqaphela ukuthi kunezinto ezimbili, umphumela uzoba idatha engavumelani.
Noma, kuthiwani uma sifuna ukungeza isisebenzi kuleli tafula, kodwa asisazazi Indawo? Singase singavunyelwe ngisho nokwengeza isisebenzi esisha uma isici sendawo singavumeli amanani we-NULL.
Ukuthembela ngokugcwele akusona isithombe sonke, noma kunjalo, uma kuziwa ekujwayelekile. Kumele uqiniseke ukuthi i-database yakho ifomu le-Third Normal (3NF).