Multivalued Dependency sa Database Design

Ang multivalued dependency ay pumupunta sa ika-apat na normal na form

Sa isang pamanggit na database, isang dependency ang nangyayari kapag ang impormasyon na nakaimbak sa parehong talahanayan ng database ay katangi-tangi na tumutukoy sa iba pang impormasyon na nakaimbak sa parehong talahanayan. Ang isang multivalued dependency ay nangyayari kapag ang pagkakaroon ng isa o higit pang mga hilera sa isang talahanayan ay nagpapahiwatig ng pagkakaroon ng isa o higit pang mga hanay sa mismong mesa. Maglagay ng isa pang paraan, ang dalawang mga katangian (o mga haligi) sa isang talahanayan ay malaya sa isa't isa, ngunit parehong umaasa sa isang ikatlong katangian.

Pinipigilan ng multivalued dependency ang standardization standard na ikaapat na normal na form (4NF). Ang mga pamanggit na mga database ay sumusunod sa limang mga normal na anyo na kumakatawan sa mga alituntunin para sa rekord ng rekord. Pinipigilan nila ang pag-update ng mga anomalya at hindi pagkakapare-pareho sa data. Ang ika-apat na normal na form ay may kaugnayan sa maraming-sa-isang relasyon sa isang database .

Functional Dependency vs. Multivalued Dependency

Upang maintindihan ang isang multivalued dependency, makakatulong na muling bisitahin kung ano ang isang functional dependency.

Kung ang isang katangian X ay tumutukoy sa isang katangiang Y, pagkatapos ay Y ay nakasalalay sa function na X. Ito ay nakasulat bilang X -> Y. Halimbawa, sa talahanayan ng mga Estudyante sa ibaba, tinutukoy ng Student_Name ang Major:

Mga mag-aaral
Pangalan ng estudyante Major
Ravi Kasaysayan ng sining
Beth Kimika


Maaaring nakasulat ang functional dependency na ito: Student_Name -> Major . Ang bawat Student_Name ay tumutukoy sa eksaktong isang Major, at wala nang iba pa.

Kung gusto mo ang database na subaybayan ang sports ang mga mag-aaral na ito, maaari mong isipin na ang pinakamadaling paraan upang gawin ito ay upang magdagdag lamang ng isa pang haligi na may pamagat na Isport:

Mga mag-aaral
Pangalan ng estudyante Major Palakasan
Ravi Kasaysayan ng sining Soccer
Ravi Kasaysayan ng sining Volleyball
Ravi Kasaysayan ng sining Tennis
Beth Kimika Tennis
Beth Kimika Soccer


Ang problema dito ay na ang parehong Ravi at Beth-play ng maraming sports. Ito ay kinakailangan upang magdagdag ng isang bagong hanay para sa bawat karagdagang sport.

Ang mesa na ito ay nagpakilala ng isang multivalued dependency dahil ang mga pangunahing at ang isport ay independiyenteng sa isa't isa ngunit ang parehong depende sa mag-aaral.

Ito ay isang simpleng halimbawa at madaling makilala, ngunit ang isang multivalue dependency ay maaaring maging isang problema sa isang malaking, komplikadong database.

Ang multivalued dependency ay isinulat X -> -> Y. Sa kasong ito:

Student_Name -> -> Major
Student_Name -> -> Sport

Ito ay nabasa bilang "Student_Name multidetermines Major" at "Student_Name multidetermines Sport."

Ang isang multivalued dependency ay laging nangangailangan ng hindi bababa sa tatlong mga katangian dahil ito ay binubuo ng hindi bababa sa dalawang mga katangian na umaasa sa isang third.

Multivalued Dependency at Normalization

Ang isang table na may multivalued dependency ay lumalabag sa pamantayan ng normalisasyon ng Fourth Normal Form (4NK) dahil lumilikha ito ng mga hindi kinakailangang redundancies at maaaring mag-ambag sa hindi pantay na data. Upang dalhin ito hanggang sa 4NF, kinakailangan upang sirain ang impormasyong ito sa dalawang talahanayan.

Ang talahanayan sa ibaba ngayon ay may isang functional dependency ng Student_Name -> Major, at walang multivalued dependency:

Mga Mag-aaral at Majors
Pangalan ng estudyante Major
Ravi Kasaysayan ng sining
Ravi Kasaysayan ng sining
Ravi Kasaysayan ng sining
Beth Kimika
Beth Kimika

Habang ang mesa na ito ay mayroon ding isang functional dependency ng Student_Name -> Palakasan:

Mga Mag-aaral at Palakasan
Pangalan ng estudyante Palakasan
Ravi Soccer
Ravi Volleyball
Ravi Tennis
Beth Tennis
Beth Soccer

Ito ay malinaw na ang normalisasyon ay madalas na tinutugunan sa pamamagitan ng pagpapasimple ng mga kumplikadong mga talahanayan upang naglalaman ang mga ito ng impormasyon na may kaugnayan sa isang solong ideya o tema sa halip na sinusubukan na gumawa ng isang talahanayan ay naglalaman ng napakaraming disparate na impormasyon.