Full Depandans Fonksyonèl nan Nòmalizasyon Database

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:

Premye Fòm Nòmal ki pa Peye-Konfòmite
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:

Premye Fòm Nòmal Konfòmite
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.

Anplwaye Depatman 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:

Anplwaye yo
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 :

Depatman yo
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ò:

Premye Fòm Nòmal Konfòmite
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).