Dipendenza funzjonali sħiħa hija stat ta ' normalizzazzjoni ta' database li huwa ekwivalenti għall-istandard ta 'normalizzazzjoni tat- Tieni Forma Normali (2NF) . Fil-qosor, dan ifisser li jissodisfa r-rekwiżiti tal-Ewwel Formola Normali (1NF), u l-attributi kollha mhux ewlenin huma kompletament funzjonalment dipendenti fuq iċ-ċavetta primarja.
Dan mhux ikkumplikat daqs kemm jista 'jkun ħoss. Ejja nħarsu lejn dan f'aktar dettall.
Sommarju tal-Ewwel Formola Normali
Qabel ma database tkun kompletament dipendenti funzjonalment, l-ewwel trid tikkonforma ma ' First Normal Form .
Dan kollu jfisser li kull attribut għandu jkollu valur atomiku wieħed.
Pereżempju, it-tabella li ġejja mhix konformi ma '1NF, minħabba li l-impjegat Tina huwa marbut ma' żewġ postijiet, it-tnejn f'ċellula waħda:
Impjegat | Post |
---|---|
John | Los Angeles |
Tina | Los Angeles, Chicago |
Li tippermetti dan id-disinn jista 'jkollu impatt negattiv fuq aġġornamenti jew dħul tad-dejta. Biex tiżgura l-konformità 1NF, rranġati mill-ġdid it-tabella sabiex l-attributi kollha (jew ċelloli tal-kolonna) ikollhom valur wieħed:
Impjegat | Post |
---|---|
John | Los Angeles |
Tina | Los Angeles |
Tina | Chicago |
Iżda 1NF għadu mhux biżżejjed biex jiġu evitati problemi bid-dejta.
Kif 2NF taħdem biex Tiżgura Dipendenza sħiħa
Biex tkun dipendenti bis-sħiħ, l-attributi ewlenin kollha mhux kandidati għandhom jiddependu fuq il-kodiċi primarju. (Ftakar, l - attribut ewlieni kandidat huwa kwalunkwe ċavetta (per eżempju, ċavetta primarja jew barranija) użata biex tidentifika b'mod uniku rekord ta 'database.
Id-disinjaturi tad-database jużaw notazzjoni biex jiddeskrivu r-relazzjonijiet dipendenti bejn l-attributi:
Jekk l-attribut A jiddetermina l-valur ta 'B, niktbu dan A -> B - li jfisser li B hija funzjonalment dipendenti fuq A. F'din ir-relazzjoni, A jiddetermina l-valur ta' B, filwaqt li B jiddependi fuq A.
Per eżempju, fit-tabella tad-Dipartimenti tal-Impjegati li ġejjin, EmployeeID u DeptID huma t-tnejn kandidati: EmployeeID hija ċ-ċavetta primarja tal-mejda waqt li DeptID hija ċavetta barranija.
Kull attribut ieħor - f'dan il-każ, EmployeeName u DeptName - għandu jiddependi fuq il-kodiċi primarju biex jikseb il-valur tiegħu.
EmployeeID | EmployeeName | DeptID | DeptName |
---|---|---|---|
Emp1 | John | Dept001 | Finanzi |
Emp2 | Tina | Dept003 | Bejgħ |
Emp3 | Carlos | Dept001 | Finanzi |
F'dan il-każ, it-tabella mhix dipendenti għal kollox minħabba li, filwaqt li l-EmployeeName jiddependi fuq l-iskema primarja EmployeeID, id-DeptName minflok jiddependi fuq id-DeptID. Din tissejjaħ dipendenza parzjali .
Biex tagħmel din it-tabella tikkonforma ma '2NF, għandna bżonn nifirdu d-data f'żewġ tabelli:
EmployeeID | EmployeeName | DeptID |
---|---|---|
Emp1 | John | Dept001 |
Emp2 | Tina | Dept003 |
Emp3 | Carlos | Dept001 |
Neħħi l-attribut DeptName mit-tabella tal- Impjegati u toħloq tabella ġdida Dipartimenti :
DeptID | DeptName |
---|---|
Dept001 | Finanzi |
Dept002 | Riżorsi Umani |
Dept003 | Bejgħ |
Issa r-relazzjonijiet bejn it-tabelli huma kompletament dipendenti, jew f'2NF.
Għaliex id-dipendenza sħiħa hija importanti
Id-dipendenza sħiħa bejn l-attributi tad-database tgħin biex tiżgura l-integrità tad-dejta u tevita l-anomaliji tad-dejta.
Per eżempju, ikkunsidra t-tabella fis-sezzjoni t'hawn fuq li taderixxi biss għal 1NF. Hawn hu, għal darb'oħra:
Impjegat | Post |
---|---|
John | Los Angeles |
Tina | Los Angeles |
Tina | Chicago |
Tina għandha żewġ reġistri. Jekk aġġornaw waħda mingħajr ma nifhmu li hemm tnejn, ir-riżultat ikun data inkonsistenti.
Jew, x'jiġri jekk irridu nżidu impjegat f'din it-tabella, iżda għadna ma nafux il-Lokazzjoni? Aħna nistgħu nipprevjenu li nżidu impjegat ġdid jekk l-attribut Location ma jippermettix valuri NULL.
Id-dipendenza sħiħa mhix l-istampa kollha, għalkemm, meta niġu għan-normalizzazzjoni. Int trid tiżgura ruħek li d-database tiegħek tinsab fit- Tielet Forma Normali (3NF).