Full Dependence Functionale in Basa Di Standardizazione

A dependenza funziona cumpletu hè un statu di normalizazione di a basa di basa chì assimiglia à a normalization normale di a Siconda Forma Normale (2NF) . In pocu tempu, questu significa chì cumpleanu i reguli di Prima Forma Normale (1NF), è tutti l'attributi non-chjavi sò in funziunale dipendenu a fondu di a chjave primaria.

Questu ùn hè micca cusì cumplicatu cumu pò esse. Fighjemu quì in più dettu.

Sintesi di Prima Forma Normale

Prima di una basa di dati pò esse dipendenu di funziunà di funziunalità, primu cumpline u primu Forme Normale .

Tuttu chistu significa chì ogni attribuu tenene un certu valuttu atomicu.

Per esempiu, a tavola seguente ùn cumplene micca à 1NF, perchè l'impiigatu Tina hè ligata cù duie posti, tutti in una sola cellula:

Primu Forme Normale Non-Compliance
Employee Situazione
Ghjuvanni Los Angeles
Tina Los Angeles, Chicago

Permettenu stu disignu puderia influenza nè negativu di l'aghjurnamenti di dati o entrati. Per assicurà a cumplimente 1NF, reorganice a tavula per chì tutti l'attributi (o culonite di cillezzione) tenenu un valore unicu:

Prima Cumplicità di Forme Normale
Employee Situazione
Ghjuvanni Los Angeles
Tina Los Angeles
Tina Chicago

Ma 1NF ùn hè micca abbastanza per evitarà prublemi cù e dati.

Cume 2NF Funzioni per Assicurà a Dependenza Full

Per esse dipendinu à tuttu, tutti l'attributi chjaru non candidati mustenu da a chjave primaria. (Ricurdà, un attributu chjaru candidate hè qualchì chjave (per esempiu, una chjave primaria o straniera) utilizata per identificà uniquement un registru di a basa di a basa.

Disconcili di dati di a basa utilizate una notazione per discrude e relazioni dependenti entre attributi:

Sè l'attributu A deterministe u valore di B, scrivemu sta A -> B - chì significanu chì B hà funzionantamenti dipende à A. In questa relazione, A determina u valore di B, mentre B depènni à A.

Per esempiu, in a seguente Table of Deptativi di i Descrizzione Employee, EmployeeID è DeptID sò solu i chjave di candidazione: EmployeeID hè a chjave primitiva di a tavula chì DeptID hè una chjave straniera.

Qualchese altre attributu - in questu casu, EmployeeName è DeptName - devenu dipende à a chjave primaria per ottene u so valore.

Dipartimenti di i travagliadori
EmployeeID EmployeeName DeptID DeptName
Emp1 Ghjuvanni Dept001 Finanziarii
Emp2 Tina Dept003 Sales
Emp3 Carlos Dept001 Finanziarii

In questu casu, u tavulu ùn hè micca dipende à tuttu, chì, mentri u EmployeeName depèn da a chjave primaria EmployeeID, u DeptName àpende in u Dipartitu. Questu hè chjamatu dependenza parziale .

Per fà stu tabellu conforme à 2NF, avemu bisognu di separà a dati in dui tàvuli:

Impiegati
EmployeeID EmployeeName DeptID
Emp1 Ghjuvanni Dept001
Emp2 Tina Dept003
Emp3 Carlos Dept001

Vulete sguassà l'attributu DeptName da a Table Employee è creanu una nova tabella dipartimenti :

Dipartimenti
DeptID DeptName
Dept001 Finanziarii
Dept002 Rissorsi umani
Dept003 Sales

Ora i relazioni trà i tavule sò devenienti solu, o in 2NF.

Perchè a dependenza sana hè impurtante

A dependenza sana entre l'attributi di basa di dati aiuta à l'integrità di dati è evità l'anomalii di dati.

Per esempiu, cunzidira li tavulinu in a rùbbrica chì si adhere solu à 1NF. Eccu, hè novu:

Prima Cumplicità di Forme Normale
Employee Situazione
Ghjuvanni Los Angeles
Tina Los Angeles
Tina Chicago

Tina hà dui ricordi. Sè avemu un aghjurnatu senza avè capiscu chì ci sò dui, u risultatu seria infurmazione inconsistente.

Or, chì si vulete aghjunghje un impiigatu à questa tavula, ma ùn avemu micca cunnisciutu a Situazione? Ùn pudemu esse disabilitatu ancu di aghjunghje un novu empleu in casu l'attribuuta Situazione ùn permette micca valuri NULL.

A dependenza sana ùn hè micca solu a scena, ma quandu si tratta di nurmalizazione. Tandu deve sicura chì a vostra basa hè in Third Normal Form (3NF).