Full Functional Dependency sa Database Normalization

Ang usa ka hingpit nga dependent nga paglihok mao ang usa ka estado sa pag-normalize sa database nga parehas sa standardization standard sa Second Normal Form (2NF) . Sa laktud, kini nagpasabot nga kini nagtagbo sa mga kinahanglanon sa Unang Normal nga Form (1NF), ug ang tanan nga mga dili importante nga mga hiyas hingpit nga naglihok depende sa pangunang yawe.

Dili kini sama ka komplikado ingon nga kini maayo. Atong tan-awon kini sa mas detalye.

Sumaryo sa Unang Normal nga Porma

Sa dili pa ang usa ka database mahimong hingpit nga nagsalig, kinahanglan una kini nga mosunod sa First Normal Form .

Ang tanan nga kini nagpasabot nga ang matag hiyas kinahanglan nga adunay usa ka bili, atomic nga bili.

Pananglitan, ang mosunod nga lamesa wala mosunod sa 1NF, tungod kay ang empleyado nga si Tina gikonektar ngadto sa duha ka mga dapit, pareho sa usa ka selula:

Unang Normal nga Porma nga Dili Pagsubay
Empleyado Lokasyon
Juan Los Angeles
Tina Los Angeles, Chicago

Ang pagtugot niini nga disenyo mahimong negatibong makaapekto sa mga pag-update sa datos o mga pagsulod. Aron maseguro ang pagpatuman sa 1NF, usba ang lamesa aron ang tanan nga mga kinaiya (o kolum nga mga selula) naghupot sa usa ka bili:

Pagsunod sa Unang Kinaugalingon nga Normal
Empleyado Lokasyon
Juan Los Angeles
Tina Los Angeles
Tina Chicago

Apan ang 1NF dili pa igo aron malikayan ang mga problema sa datos.

Gihimo sa 2NF aron maseguro ang hingpit nga pagsalig

Aron hingpit nga magsalig, ang tanan nga mga dili-kandidato nga mga kinaiya sa kinaiya kinahanglan magdepende sa pangunang yawe. (Hinumdomi, ang usa ka kandidato nga hinungdan nga kinaiya mao ang bisan unsa nga yawe (pananglitan, usa ka una o langyaw nga yawi) nga gigamit sa talagsaong pag-ila sa usa ka rekord sa database.

Ang mga tigdisenyo sa database naggamit og notation aron paghulagway sa nagsalig nga mga relasyon tali sa mga hiyas:

Kung ang kinaiya sa A nagtino sa bili sa B, gisulat nato kini nga A -> B - nga nagpasabot nga ang B nagkadepende sa function sa A. Sa kini nga relasyon, ang usa ka magtino sa bili sa B, samtang ang B nagadepende sa A.

Pananglitan, sa mosunod nga lamesa sa Employee Departments , ang EmployeeID ug DeptID pareho nga mga kandidato sa kandidato: Ang EmployeeID ang pangunang yawe sa lamesa samtang ang DeptID usa ka langyaw nga yawe.

Ang bisan unsang uban nga mga hiyas - niining kasoha, EmployeeName ug DeptName - kinahanglan magdepende sa pangunang yawe aron makuha ang bili niini.

Mga kawani sa empleyado
EmployeeID EmployeeName DeptID DeptName
Emp1 Juan Dept001 Bayronon
Emp2 Tina Dept003 Sales
Dili Carlos Dept001 Bayronon

Sa kini nga kaso, ang lamesa dili hingpit nga nagsalig tungod kay, samtang ang EmployeeName nagdepende sa pangunang yawi nga EmployeeID, ang DeptName nagdepende hinoon sa DeptID. Kini gitawag nga partial dependency .

Aron mahimo kini nga lamesa nga nagsunod sa 2NF, gikinahanglan nga ibulag ang kasayuran ngadto sa duha ka mga lamesa:

Mga empleyado
EmployeeID EmployeeName DeptID
Emp1 Juan Dept001
Emp2 Tina Dept003
Dili Carlos Dept001

Gikuha nato ang attribute sa DeptName gikan sa talahanayan sa mga empleyado ug maghimo og bag-ong mga departamento sa lamesa:

Mga departamento
DeptID DeptName
Dept001 Bayronon
Dept002 Mga Tinubdan sa Tawo
Dept003 Sales

Karon ang relasyon tali sa mga lamesa hingpit nga nagsalig, o sa 2NF.

Kon Nganong Hinungdanon ang Dependensiado

Ang hingpit nga dependency tali sa mga attribute sa database makatabang sa pagsiguro sa integridad sa data ug paglikay sa mga anomalya sa datos.

Pananglitan, tagda ang lamesa sa seksyon sa ibabaw nga nagsunod lamang sa 1NF. Dinhi kini, pag-usab:

Pagsunod sa Unang Kinaugalingon nga Normal
Empleyado Lokasyon
Juan Los Angeles
Tina Los Angeles
Tina Chicago

Si Tina adunay duha ka mga rekord. Kung atong i-update ang usa nga wala makaamgo nga adunay duha, ang resulta mao ang dili managsama nga datos.

O, komosta kon gusto namong idugang ang empleyado sa lamesa, apan wala pa kami nahibalo sa Lokasyon? Mahimong dili kita tugutan nga makadugang sa usa ka bag-o nga empleyado kon ang Attribute sa Lokasyon wala magtugot sa NULL nga mga bili.

Ang hingpit nga pagsalig dili mao ang bug-os nga hulagway, bisan pa, mahitungod sa normalization. Kinahanglan imong sigurohon nga ang imong database anaa sa Third Normal Form (3NF).