Ano ba ang Form ng Boyce-Codd Normal (BCNF)?

Binabawasan ng BCNF ang mga redundancies at pinatataas ang integridad ng data

Ang layunin ng Boyce-Codd Normal Form (BCNF) ay upang madagdagan ang integridad ng data sa pamamagitan ng pag-oorganisa ng mga haligi at mga talahanayan ng isang pamanggit na database upang makamit ang database normalisasyon. Ang database normalisasyon ay nangyayari kapag may mga itinatag na mga relasyon sa pagitan ng mga talahanayan at kapag ang mga talahanayan ay may tinukoy na mga panuntunan upang gawing mas nababaluktot ang database at upang mapanatili ang data.

Ang mga layunin ng normalisasyon ng database ay upang maalis ang kalabisan na data at upang matiyak ang dependency ng data na may katuturan.

Ang isang database ay normalized kapag ang parehong data ay hindi naka-imbak sa higit sa isang talahanayan at kapag ang mga kaugnay na data ay naka-imbak sa isang table.

Pinagmulan ng Form ng Boyce-Codd Normal

Ang pagsunod sa isang serye ng mga patnubay ay tiyakin na ang mga database ay normalized. Ang mga patnubay na ito ay tinutukoy bilang normal na mga anyo at binibilang mula sa isa hanggang limang. Ang isang pamanggit na database ay inilarawan bilang normalized kung natutugunan nito ang unang tatlong anyo: 1NF, 2NF, at 3NF.

Ang BCNF ay nilikha bilang isang extension sa ikatlong normal na form, o 3NF, noong 1974 ni Raymond Boyce at Edgar Codd. Ang mga lalaki ay nagtatrabaho upang lumikha ng mga schemas ng database na nagpapawalang-halaga sa mga redundancy na may layunin ng pagbawas ng oras ng computational. Ang ikatlong normal na anyo ay nagtanggal ng mga haligi na hindi nakasalalay sa pangunahing susi bilang karagdagan sa pagtugon sa mga alituntunin sa una at ikalawang normal na mga anyo. Ang BCNF, na kung minsan ay tinutukoy bilang 3.5NF, ay nakakatugon sa lahat ng mga kinakailangan ng 3NF at nangangailangan ng mga key ng kandidato na walang dependency sa iba pang mga katangian sa isang talahanayan.

Sa panahon ng paglikha ng BCNF, si Boyce ay isa sa mga pangunahing tagabuo ng Nakabubuo na Wika ng Query sa Wika (SQL), na pinahusay na pagkuha ng data sa pamamagitan ng paggamit ng modelong pamanggit ng Codd. Sa modelong ito, ang Codd ay nagbigay na ang pagiging kumplikado ng pagiging kumplikado ng mga database ay maaaring mabawasan, na kung saan ang mga query ay maaaring maging mas malakas at kakayahang umangkop.

Gamit ang kanyang pananaw sa pamanggit database, tinukoy ng Codd ang mga alituntunin ng 1NF, 2NF, at 3NF. Nakipagtulungan siya kay Boyce upang tukuyin ang BCNF.

Kandidato Keys at BCNF

Ang isang kandidato key ay isang haligi o kumbinasyon ng mga haligi sa isang talahanayan na bumubuo ng isang natatanging key sa database. Ang kumbinasyon ng mga katangian ay maaaring gamitin upang matukoy ang isang rekord ng database nang hindi nagre-refer sa anumang iba pang data. Ang bawat talahanayan ay maaaring maglaman ng maramihang mga key ng kandidato, ang alinman sa isa ay maaaring maging kwalipikado bilang pangunahing susi. Ang talahanayan ay naglalaman lamang ng isang pangunahing susi.

Ang mga susi ng kandidato ay dapat na kakaiba.

Ang kaugnayan ay nasa BCNF kung ang bawat determinant ay isang kandidato na key. Isaalang-alang ang isang talahanayan ng database na nag-iimbak ng impormasyon ng empleyado at may mga katangian , , , at .

Sa mesa na ito, tinutukoy ng patlang na ang first_name at last_name. Katulad nito, tinutukoy ng tuple (, ) ang .

Employee Id Pangalan Huling pangalan Pamagat
13133 Emily Smith Manager
13134 Jim Smith Associate
13135 Emily Jones Associate


Ang kandidato na key para sa database na ito ay ang dahil ito ang tanging halaga na hindi maaaring gamitin ng isa pang hilera.