Yon depandans plen fonksyonèl se yon eta de nòmalizasyon baz done ki équivalant estanda nòmalizasyon de Fòm nòmal dezyèm (2NF) . An brèf, sa vle di ke li satisfè kondisyon Premye Fòm Nòmal (1NF), ak tout atribi ki pa kle yo konplètman fonksyonèlman depann sou kle prensipal la.
Sa a se pa tankou konplike kòm li ka son. Ann gade nan sa a nan plis detay.
Rezime Premye Fòm Nòmal
Anvan yon baz done ka konplètman fonksyonèlman depann, li dwe premye konfòme li avèk Premye Fòm Nòmal .
Tout bagay sa a vle di ke chak atribi dwe kenbe yon sèl, valè atomik.
Pa egzanp, tablo ki annapre a pa konfòme li avèk 1NF, paske anplwaye Tina a lye nan de (2) kote, tou de nan yo nan yon sèl selil:
Anplwaye | Kote |
---|---|
Jan | Los Angeles |
Tina | Los Angeles, Chicago |
Pèmèt konsepsyon sa a ka negatif enpak done oswa antre. Pou asire konfòmite 1NF, ordonne tab la pou ke tout atribi (oswa selil kolòn) kenbe yon valè sèl:
Anplwaye | Kote |
---|---|
Jan | Los Angeles |
Tina | Los Angeles |
Tina | Chicago |
Men, 1NF toujou pa ase pou evite pwoblèm ak done yo.
Kijan 2NF ap travay pou asire depandans konplè
Pou yo konplètman depandan, tout atribi kle ki pa kandida yo dwe depann sou kle prensipal la. (Sonje byen, yon atribi kle kandida se nenpòt kle (pou egzanp, yon kle prensipal oswa etranje) itilize inikman idantifye yon dosye baz done.
Konsèpteur baz done sèvi ak yon notasyon pou dekri relasyon depandan yo ant atribi:
Si atribi A detèmine valè B la, nou ekri sa a A -> B - sa vle di B se fonksyonèlman depann sou A. Nan relasyon sa a, A detèmine valè B, pandan y ap B depann de A.
Pa egzanp, nan tablo Anplwaye Depatman sa yo, EmployeeID ak DeptID se tou de kle kandida: EmployeeID se kle prensipal tab la pandan DeptID se yon kle etranje.
Nenpòt lòt atribi - nan ka sa a, AnplwayeName ak DeptName - dwe depann de kle prensipal la pou jwenn valè li yo.
EmployeeID | Anplwaye Non | DeptID | DeptName |
---|---|---|---|
Emp1 | Jan | Dept001 | Finans |
Emp2 | Tina | Dept003 | Komèsyal |
Emp3 | Carlos | Dept001 | Finans |
Nan ka sa a, tab la pa konplètman depann paske, pandan y ap Anplwaye Non an depann sou EmployeeID prensipal kle a, DeptName la depann olye sou DeptID la. Yo rele sa depandans pasyèl .
Pou fè tab sa a konfòme a 2NF, nou bezwen separe done yo nan de tab:
EmployeeID | Anplwaye Non | DeptID |
---|---|---|
Emp1 | Jan | Dept001 |
Emp2 | Tina | Dept003 |
Emp3 | Carlos | Dept001 |
Nou retire atribi DeptName nan tablo anplwaye yo epi kreye yon nouvo tab depatman :
DeptID | DeptName |
---|---|
Dept001 | Finans |
Dept002 | Resous imen |
Dept003 | Komèsyal |
Koulye a, relasyon yo ant tab yo konplètman depann, oswa nan 2NF.
Poukisa depandans konplè ki enpòtan
Depandans konplè ant atribi baz done ede asire entegrite done epi evite done anomalies.
Pa egzanp, konsidere tab la nan seksyon ki anwo a ki suiv sèlman 1NF. Isit la li se, ankò:
Anplwaye | Kote |
---|---|
Jan | Los Angeles |
Tina | Los Angeles |
Tina | Chicago |
Tina gen de dosye. Si nou mete ajou yon sèl san yo pa reyalize ke gen de, rezilta a ta dwe done konsistan.
Oswa, ki sa si nou vle ajoute yon anplwaye nan tablo sa a, men nou poko konnen kote a? Nou ta ka ranbouse menm ajoute yon anplwaye nouvo si atribi nan Location pa pèmèt valè NULL.
Depandans konplè se pa foto a tout antye, menm si, lè li rive nòmalizasyon. Ou dwe asire ke baz done ou se nan Fòm Nòmal Twazyèm (3NF).