Pagkakaiba sa pagitan ng 3NF at BCNF

May -Akda: Laura McKinney
Petsa Ng Paglikha: 1 Abril 2021
I -Update Ang Petsa: 9 Mayo 2024
Anonim
Pagkakaiba sa pagitan ng 3NF at BCNF - Teknolohiya
Pagkakaiba sa pagitan ng 3NF at BCNF - Teknolohiya

Nilalaman


Pag-normalize ay isang pamamaraan na nag-aalis kalabisan mula sa isang kaugnayan sa gayon ay binabawasan ang pagpasok, pagtanggal at pag-update ng mga anomalya na nagpapabagal sa pagganap ng mga database. Sa artikulong ito, magkakaiba tayo sa dalawang mas mataas na normal na pormularyo ng 3NF at BCNF. Ang pangunahing pagkakaiba sa pagitan ng 3NF at BCNF ay iyon 3NF Tinatanggal ang pagbago ng dependency mula sa isang kaugnayan at isang talahanayan na dapat sa BCNF, ang walang kabuluhan na pagganap na dependency X-> Y sa isang relasyon ay dapat hawakan, kung ang X lamang ang sobrang susi.

Talakayin natin ang mga pagkakaiba sa pagitan ng 3NF at BCNF sa tulong ng tsart ng paghahambing na ipinakita sa ibaba.

  1. Tsart ng paghahambing
  2. Kahulugan
  3. Pangunahing Pagkakaiba
  4. Konklusyon

Tsart ng paghahambing

Batayan para sa Paghahambing3NFBCNF
KonseptoWalang hindi pangunahin na katangian ay dapat na nakasalalay sa nakasalalay sa susi ng Kandidato.Para sa anumang walang halaga na dependency sa isang relasyon R sabihin X-> Y, X ay dapat na isang sobrang susi ng kaugnayan R.
Pag-asaMaaaring makuha ang 3NF nang hindi isakripisyo ang lahat ng mga dependencies.Ang mga pananalig ay maaaring hindi mapangalagaan sa BCNF.
AgnasAng pagkawala ng agnas ay maaaring makamit sa 3NF.Ang pagkawala ng agnas ay mahirap makamit sa BCNF.


Kahulugan ng 3NF

Ang isang talahanayan o isang kaugnayan ay itinuturing na nasa Pangatlong Normal na Form kung ang lamesa ay nakapasok na 2NF at wala di-kalakasan katangian palipat nakasalalay sa susi ng kandidato ng isang kaugnayan.

Kaya, bago ko matugunan ang proseso ng pag-normalize ng isang talahanayan sa 3NF, payagan akong talakayin ang susi ng kandidato. A Kandidato ng Kandidato ay minimal na susi i.e. isang napakalaking susi na may mga minimum na katangian na maaaring tukuyin ang lahat ng mga katangian ng isang kaugnayan. Kaya, sa proseso ng pag-normalize ng iyong talahanayan, una, nakilala mo ang susi ng kandidato ng isang naibigay na kaugnayan. Ang mga katangian na bahagi ng susi ng kandidato ay pangunahing katangian, at ang mga katangian na hindi bahagi ng susi ng kandidato ay mga hindi pangunahin na katangian.


Ngayon kung may kaugnayan tayo R (A, B, C, D, E, F) at sumusunod tayo sa mga dependencies ng function para sa kaugnay na R.

Sa pag-obserba ng mga dependency sa pag-andar, maaari nating tapusin iyon AB ay isang susi ng kandidato para sa relasyon R dahil ang paggamit ng key AB maaari nating hanapin ang halaga para sa lahat ng katangian sa isang kaugnayan R. Kaya A, B nagiging pangunahing katangian habang magkasama silang gumagawa ng susi ng kandidato. Ang mga katangian C, D, E, F nagiging di-kalakasan mga katangian sapagkat wala sa kanila ang bahagi ng susi ng kandidato.

Ang talahanayan ay nasa 2NF dahil walang pangunahin na katangian ay bahagyang nakasalalay sa key ng kandidato

Ngunit, ang isang transitive dependency ay sinusunod sa mga kagamitang umaandar na ibinigay, bilang katangian F ay hindi direktang nakasalalay sa susi ng kandidato AB. Sa halip, katangian F ay palipat nakasalalay sa susi ng kandidato AB sa pamamagitan ng katangian D. Ang Hanggang katangian ay may ilang halaga na maaari nating maabot upang maabot ang halaga ng F, mula sa susi ng kandidato na AB. Kung sakaling ang halaga ng katangian D ay Null hindi namin kailanman mahanap / maghanap ang halaga ng F sa tulong ng key key AB. Ito ang dahilan kung bakit hinihiling ng 3NF na tanggalin ang transitive dependency mula sa mga relasyon.

Kaya, upang matanggal ang transitive dependency, kailangan nating hatiin ang kaugnayan R. Habang ang paghati sa isang relasyon ay laging inilalagay ang susi ng kandidato, at ang lahat ng mga katangian na nakasalalay sa key ng kandidato sa unang kaugnayan. Sa susunod na nahahati na relasyon, ilalagay namin ang katangian na nagdudulot ng transitive dependency at din ang mga katangian na nakasalalay dito sa pangalawang kaugnayan.

Ngayon, ang mga talahanayan na R1 at R2 ay nasa 3NF dahil wala itong bahagyang at transitive dependencies na naiwan. Relasyon R1 (A, B, C, D, E) ay may susi ng kandidato AB samantalang, kaugnayan R2 (D, E) ay D bilang susi ng kandidato nito.

Kahulugan ng BCNF

Ang BCNF ay itinuturing na mas malakas kaysa sa 3NF. Ang kaugnayan R upang maging sa BCNF ay dapat na 3NF. At saan man a di-walang katuturang pag-asa sa pag-asa A -> B humahawak sa kaugnay na R, kung gayon A dapat ay a superkey ng kaugnayan R. Tulad ng alam natin, ang Super key ay isang susi na mayroong isang katangian o hanay ng mga katangian na tumutukoy, ang buong katangian ng isang kaugnayan.

Ngayon, magpatuloy tayo sa isang halimbawa upang maunawaan ang BCNF sa isang mas mahusay na paraan. Ipaalam sa amin, ipagpalagay na mayroon kaming isang relasyon R (A, B, C, D, F), na may pagsunod sa mga pag-asa sa pag-andar.

Sa pamamagitan ng pag-obserba sa kaugnay na R, masasabi natin iyon A at BF ay mga susi ng kandidato ng kaugnay na R, sapagkat sila lamang ang maaaring maghanap sa halaga para sa lahat ng mga katangian sa kaugnayan R. Kaya A, B, F ay ang kalakasan mga katangian samantalang, C at D ay di-kalakasan katangian. Walang transitive dependency ang sinusunod sa functional dependencies na naroroon sa itaas. Samakatuwid, ang talahanayan R ay nasa 3NF.

Ngunit isang functional dependency i.e. D -> F ay lumalabag sa kahulugan ng BCNF, ayon sa kung saan, kung D -> F ay nariyan D dapat sobrang susi na hindi dito ang kaso. Kaya hahatiin natin ang kaugnayan R.

Ngayon, ang mga talahanayan na R1 nd R2 ay nasa BCNF. Relasyon R1 ay may dalawang kandidato mga susi A at B, ang walang kabuluhan na pagpapaandar ng R1 i.e. A-> BCD at B -> ACD, hawak para sa BCNF bilang A at B ang mga super susi para sa kaugnayan. Relasyon R2 ay D bilang nito susi ng kandidato at ang functional dependency D -> F ay humahawak din para sa BCNF dahil ang D ay isang Super Key.

  1. Sinasabi ng 3NF na walang pangunahin na katangian ay dapat na umaasa sa transaksyon ng susi ng kandidato. Sa kabilang banda, sinabi ng BCNF na kung ang isang walang kabuluhan na pagpapaandar ng X -> Y ay umiiral para sa isang kaugnayan; pagkatapos X ay dapat maging isang super key.
  2. Maaaring makuha ang 3NF nang hindi isinasakripisyo ang dependant ng kaugnayan. Gayunpaman, ang dependency ay maaaring hindi mapangalagaan habang nakakuha ng BCNF.
  3. Maaaring makamit ang 3NF nang walang pag-agaw ng anumang impormasyon mula sa lumang talahanayan, samantalang nakakakuha ng BCNF maaari naming maluwag ang ilang impormasyon mula sa lumang talahanayan.

Konklusyon:

Ang BCNF ay mas mahigpit kaysa sa 3NF na makakatulong sa pag-normalize ng talahanayan nang higit pa. Ang kaugnayan sa 3NF ay may pinakamababang kaliwang kalabisan na kung saan ay karagdagang tinanggal ng BCNF.