Pêdivî ye ku girêdayî xebata temamî yek dewletek danezirandinê ye ku ji bo standarda standardê ya Forma Duyemîn (2NF) wekhev e . Di kurt de, ev tê wateya ku hewceyên pêşniyarên Forma Forma Giştî ya Normal (1NF) bicîh dike, û hem taybetmendiyên hemî-kêr bi temamî li ser bingeha bingehîn girêdayî girêdayî ye.
Ew ne ku tevlihev e ku zehmet e. Bila vê yekê bêtir agahî bibînin.
Nîqaşa Forma Forma Yekem ya Giştî
Berî ku databasek dikare bi temamî fêr bibe karûbar, divê ew yekem bi Forma Forma Yekem ya Yekgirtî bistînin .
Her wateya wateya ku her taybetmendiya yekane, nirxê atomî ye.
Ji bo nimûne, tabloya neynî bi 1NF re nake, çimkî karmendê Tina bi du cihan re, her du di nav hucreya yekane de ye:
Karker | Cîh |
---|---|
Yûhenna | Los Angeles |
Tina | Los Angeles, Chicago |
Destnîşankirina vê pêşniyarê dikare negatîvên daneyên daneyên daneyên danûstandinan bandor bike Ji bo bicîhkirina 1NF-ê, dabeşkirina sifrê vebigere da ku hemî taybetmendiyên (an jî hucreyên kolonî) nirxek yekane bigirin:
Karker | Cîh |
---|---|
Yûhenna | Los Angeles |
Tina | Los Angeles |
Tina | Chicago |
Lê belê 1NF hîn ne hêsan e ku pirsgirêkên bi daneyên xwe biparêze.
Çawa 2NF Karanîna Enstîtuya Tişta Hûrgelan
Ji bo temamî bi temamî be, divê taybetmendiyên sereke yên ne-namzedî li ser bingeha sereke girêdayî ye. (Ji bîr bînin, keyek namzedek taybetmendiyek girîng e (wek nimûne, keyek bingehîn an key) biyanî tê bikaranîn ku uniquely rexneyek databan nas bike.
Pêşniyarên danûstandinên danûstendinê bikar tînin ku têkiliyên têkildarî di navbera taybetmendiyan de:
Heke A taybetmendiyek Aşkere dike ku nirxa B, em vê A -> B - wateya ku B bi karê xwe girêdayî ye. Li vê pêwendiyê di vê pêwendiyê de, A nirxa B ya B, while B li ser esas dike.
Ji bo nimûne, di binê karmendên karmendên jêrîn de, EmployeeID û DeptID du herdu kêşeyên namzetê hene: EmployeeID kêşeya sereke ya sereke ye, dema DeptID keyek biyanî ye.
Her kesek taybetmendî - di vê rewşê de, EmployeeName û DeptName - divê kêşeya sereke ya ku bi nirxa xwe bigihîne girêdayî ye.
EmployeeID | EmployeeName | DeptID | DeptName |
---|---|---|---|
Emp1 | Yûhenna | Dept001 | Malî |
Emp2 | Tina | Dept003 | Firotanê |
Emp3 | Carlos | Dept001 | Malî |
Di vê rewşê de, tablo bi tevahî girêdayî ye, çimkî dema ku EmployeeName li ser bingeha sereke ya EmployeeID, DeptName li ser DeptID re girêdayî ye. Ev tête girêdana partî .
Ji bo ku vê tehlikê bi 2NF re bîne, em hewce dike ku ew daneyên daneyên du teyranan dabeş bikin:
EmployeeID | EmployeeName | DeptID |
---|---|---|
Emp1 | Yûhenna | Dept001 |
Emp2 | Tina | Dept003 |
Emp3 | Carlos | Dept001 |
Em ji DeptName taybetmendiya tabloya karkeran vekin û ji wezgehên nû ve ava bike :
DeptID | DeptName |
---|---|
Dept001 | Malî |
Dept002 | Çavkaniyên Mirovan |
Dept003 | Firotanê |
Niha têkiliyên di navbera tabloyên temamî temamî de, an jî 2NF.
Çima Dependence Full Complete girîng e
Pêdivî ye ku di navbera taybetmendiyên taybetmendiyê de alîkariya alîkarî daneyên ewlehiyê dike û daneyên mûzîkî dûr nakin.
Ji bo nimûne, li sûdê li jorê tiştî binêrin ku tenê tenê ji 1NF re. Va ye, dîsa:
Karker | Cîh |
---|---|
Yûhenna | Los Angeles |
Tina | Los Angeles |
Tina | Chicago |
Tina du qeyd hene. Gava ku em bêyî ku diaxivin yek nûvebibin ku du hebe, wê encam dê daneyên neçar be.
An jî, eger em bixwazin karmendek vê tableê zêde bikin, lê em hîn ne cihê nas dikin? Dibe ku em nikarin nirxên NULL nayê destnîşankirin ku mecbûr nabe ku hêj ji karkerek nû ve zêde bike.
Tişta tevahî ne wêne ne, her çiqas, gava ku tête normalîzekirin. Divê hûn dakêşin ku databatreya di Forma Giştî ya Siyaseta Giştî ya Third (3NF) de ye.