- Mga normal na hugis
- Unang normal na form (1FN)
- Pangalawang normal na form (2FN)
- Pangatlong normal na form (3FN)
- Mga halimbawa ng pangatlong normal na anyo
- Halimbawa 1
- Lumikha ng bagong mesa
- Halimbawa 2
- Mga Sanggunian
Ang pangatlong normal na form (mga database) ay isang diskarte sa disenyo ng pamanggit sa database, kung saan ang iba't ibang mga talahanayan na bumubuo nito ay hindi lamang sumunod sa pangalawang normal na form, ngunit ang lahat ng mga katangian o larangan ay nakasalalay nang direkta sa pangunahing susi.
Kapag nagdidisenyo ng isang database, ang pangunahing layunin ay upang lumikha ng isang tumpak na representasyon ng data, ang mga relasyon sa pagitan nila, at ang mga paghihigpit sa data na may kaugnayan.

Pinagmulan: pixabay.com
Upang makamit ang layuning ito, maaaring magamit ang ilang mga diskarte sa disenyo ng database, bukod sa kung saan ang pag-normalize.
Ito ay isang proseso ng pag-aayos ng data sa isang database upang maiwasan ang mga redundancies at posibleng mga anomalya sa pagpasok, pag-update o pag-aalis ng data, kaya bumubuo ng isang simple at matatag na disenyo ng modelong modelo.
Nagsisimula ito sa pamamagitan ng pagsusuri sa pagganap na relasyon o dependant sa pagitan ng mga katangian. Inilalarawan nito ang ilang mga pag-aari ng data o ang kaugnayan sa pagitan nila.
Mga normal na hugis
Ang normalisasyon ay gumagamit ng isang serye ng mga pagsubok, na tinatawag na mga normal na anyo, upang matulungan ang kilalanin ang pinakamainam na pagpangkat ng mga katangian na ito at sa huli ay maitaguyod ang naaangkop na hanay ng mga relasyon na sumusuporta sa mga kinakailangan ng data ng isang kumpanya.
Iyon ay, ang pamamaraan ng normalisasyon ay itinayo sa paligid ng konsepto ng normal na anyo, na tumutukoy sa isang sistema ng mga hadlang. Kung ang isang relasyon ay nakakatugon sa mga hadlang ng isang partikular na normal na porma, ang relasyon ay sinasabing nasa normal na anyo na iyon.
Unang normal na form (1FN)
Ang isang talahanayan ay sinasabing nasa 1FN kung ang lahat ng mga katangian o larangan sa loob nito ay naglalaman lamang ng mga natatanging halaga. Iyon ay, ang bawat halaga para sa bawat katangian ay dapat na hindi mahahati.
Sa pamamagitan ng kahulugan, ang isang relational database ay palaging magiging normal sa unang normal na form, dahil ang mga halaga ng katangian ay palaging atomic. Ang lahat ng mga relasyon sa isang database ay nasa 1FN.
Gayunpaman, ang pag-iwan lamang ng database tulad nito ay pinasisigla ang isang bilang ng mga problema, tulad ng kalabisan at posibleng mga pagkabigo sa pag-upgrade. Ang mas mataas na normal na porma ay binuo upang iwasto ang mga problemang ito.
Pangalawang normal na form (2FN)
Nakikipag-usap ito sa pag-alis ng mga dependency ng pabilog mula sa isang mesa. Ang isang relasyon ay sinasabing nasa 2FN kung ito ay nasa 1FN at saka ang bawat patlang na hindi key o katangian ay nakasalalay sa pangunahing key, o mas partikular, tinitiyak nito na ang talahanayan ay may iisang layunin.
Ang isang hindi key na katangian ay ang anumang katangian na hindi bahagi ng pangunahing susi para sa isang relasyon.
Pangatlong normal na form (3FN)
Nakikipag-usap ito sa pag-aalis ng mga dependencies ng transitive mula sa isang talahanayan. Iyon ay, alisin ang mga di-pangunahing katangian na hindi nakasalalay sa pangunahing susi, ngunit sa ibang katangian.
Ang isang transitive dependency ay isang uri ng functional dependency kung saan ang halaga ng isang hindi key na larangan o katangian ay natutukoy ng halaga ng ibang larangan na hindi rin susi.
Dapat kang maghanap para sa paulit-ulit na mga halaga sa mga di-key na mga katangian upang matiyak na ang mga di-susi na katangian na ito ay hindi nakasalalay sa iba maliban sa pangunahing susi.
Ang mga katangian ay sinasabing magkasamang independyente kung wala sa mga ito ang functionally nakasalalay sa isang kumbinasyon ng iba. Tinitiyak ng pagsasarili ng isa't isa na ang mga katangian ay maaaring mai-update nang paisa-isa, nang walang panganib na makaapekto sa isa pang katangian.
Samakatuwid, para sa isang relasyon sa isang database upang maging sa ikatlong normal na form, dapat itong sumunod sa:
- Lahat ng mga kinakailangan ng 2FN.
- Kung may mga katangian na hindi nauugnay sa pangunahing susi, dapat nilang alisin at ilagay sa isang hiwalay na talahanayan, na may kaugnayan sa parehong mga talahanayan sa pamamagitan ng isang susi sa dayuhan. Iyon ay, hindi dapat magkaroon ng anumang mga dependencies ng transitive.
Mga halimbawa ng pangatlong normal na anyo
Halimbawa 1
Hayaan ang talahanayan na MAG-AARAL, na ang pangunahing susi ay ang pagkakakilanlan ng mag-aaral (STUDENT_ID) at binubuo ng mga sumusunod na katangian: STUDENT_NAME, STREET, CITY at POST_CODE, na tinutupad ang mga kundisyon na maging 2FN.

Sa kasong ito, ang STREET at Lungsod ay walang direktang ugnayan sa pangunahing susi na STUDENT_ID, dahil hindi sila direktang nauugnay sa mag-aaral, ngunit lubos na nakasalalay sa code ng postal.
Dahil ang mag-aaral ay matatagpuan sa site na tinutukoy ng CODE_POSTAL, ang kaugnayan ng STREET at CITY ay may kaugnayan na ito. Dahil sa pangalawang antas ng pag-asa na ito, hindi kinakailangan na maiimbak ang mga katangiang ito sa talahanayan ng MAG-AARAL.
Lumikha ng bagong mesa
Ipagpalagay na mayroong maraming mga mag-aaral na matatagpuan sa parehong zip code, na may talahanayan ng MAG-AARAL na mayroong malaking halaga ng mga rekord, at kinakailangan na baguhin ang pangalan ng kalye o lungsod, kung gayon ang kalye o lungsod na ito ay dapat matagpuan at na-update sa buong talahanayan MAG-AARAL.
Halimbawa, kung kailangan mong baguhin ang kalye na "El Limón" sa "El Limón II", kailangan mong hanapin ang "El Limón" sa buong talahanayan ng MAG-AARAL at pagkatapos ay i-update ito sa "El Limón II".
Ang paghahanap sa isang malaking talahanayan at pag-update ng solong o maraming mga tala ay tatagal ng mahabang panahon at sa gayon ay maaapektuhan ang pagganap ng database.
Sa halip, ang mga detalyeng ito ay maaaring itago sa isang hiwalay na talahanayan (POSTCARD) na nauugnay sa talahanayan ng PAG-AARAL gamit ang katangian ng POST_CODE.
Ang talahanayan ng POST ay magkakaroon ng mas kaunting mga talaan at ang talahanayan ng POST na ito ay kakailanganin lamang na ma-update nang isang beses. Ito ay awtomatikong makikita sa talahanayan ng MAG-AARAL, pinapadali ang database at mga query. Kaya ang mga talahanayan ay nasa 3FN:

Halimbawa 2
Hayaang gamitin ang sumusunod na talahanayan sa larangan ng Project_Num bilang pangunahing susi at may paulit-ulit na mga halaga sa mga katangian na hindi mga susi.

Ang halaga ng Telepono ay paulit-ulit sa bawat oras na paulit-ulit ang pangalan ng isang tagapamahala. Ito ay dahil ang numero ng telepono ay mayroon lamang isang pangalawang degree na dependency sa numero ng proyekto. Ito ay talagang nakasalalay sa manager, at ito naman ay nakasalalay sa bilang ng proyekto, na gumagawa ng isang dependency ng transitive.
Ang Proyekto ng ProyektoManager ay maaaring maging isang posibleng susi sa talahanayan ng Mga Proyekto dahil ang parehong tagapamahala ay namamahala ng higit sa isang proyekto. Ang solusyon para dito ay alisin ang katangian na may paulit-ulit na data (Telepono), na lumilikha ng isang hiwalay na mesa.
Ang mga kaukulang katangian ay dapat na pinagsama-sama, na lumilikha ng isang bagong talahanayan upang mai-save ang mga ito. Ang data ay naipasok at napatunayan na ang paulit-ulit na mga halaga ay hindi bahagi ng pangunahing susi. Ang pangunahing susi ay nakatakda para sa bawat talahanayan at, kung kinakailangan, idinagdag ang mga dayuhang susi.
Upang sumunod sa ikatlong normal na form, ang isang bagong talahanayan (Managers) ay nilikha upang malutas ang problema. Ang parehong mga talahanayan ay nauugnay sa pamamagitan ng Proyekto ng Proyekto:

Mga Sanggunian
- Teradata (2019). Una, Pangalawa, at Pangatlong Normal na Porma. Kinuha mula sa: docs.teradata.com.
- Tutorial Cup (2019). Pangatlong Normal na Form (3NF). Kinuha mula sa: tutorialcup.com.
- Database Dev (2015). Pangatlong Normal na Form (3NF) - Pag-normalize ng Iyong Database. Kinuha mula sa: databasedev.co.uk.
- Relasyong DB Disenyo (2019). Panimula sa Ikatlong Normal na Form. Kinuha mula sa: relationaldbdesign.com.
- Dummies (2019). SQL Una, Pangalawa at Pangatlong Normal na Porma. Kinuha mula sa: dummies.com.
