Multivala Dependo en Datumara Dezajno

Multivalua dependeco rompas kvara normala formo

En rilata datumbazo, dependeco okazas kiam la informoj stokitaj en la sama datumbazo tabulas precipe aliajn informojn konservitajn en la sama tabulo. Multivala dependeco okazas kiam la ĉeesto de unu aŭ pli da vicoj en tablo implicas la ĉeeston de unu aŭ pli da aliaj vicoj en tiu sama tabulo. Metu alian manieron, du atributoj (aŭ kolumnoj) en tablo estas sendependaj unu de la alia, sed ambaŭ dependas de tria atributo.

Multivala dependeco malhelpas normala normo kvara normala formo (4NF). Relaciaj datumbazoj sekvas kvin normalajn formojn, kiuj reprezentas gvidliniojn por registra desegno. Ili malhelpas ĝisdatigon de anomalioj kaj malkonsentoj en la datumoj. La kvara normala formo traktas multajn al unu rilatojn en datumbazo .

Funkcia Dependeco vs Multivala Dependo

Por kompreni multivaluan dependecon, estas helpema revizii, kia funkcia dependeco estas.

Se atributo X precize difinas atributon Y, tiam Y funkcie dependas de X. Ĉi tio estas skribita kiel X -> Y. Ekzemple, en la tabulo de Studentoj sube, la Student_Name determinas la Gravan:

Studentoj
Student_Name Plej granda
Ravi Arta Historio
Beth Kemio


Ĉi tiu funkcia dependeco povas esti skribita: Student_Name -> Plej granda . Ĉiu Student_Name determinas ĝuste unu Gravan kaj ne plu.

Se vi volas ke la datumbazo ankaŭ sekvu la sportojn, kiujn ĉi tiuj studentoj prenas, vi eble pensas, ke la plej facila maniero fari ĝin estas nur aldoni alian kolumnon titolitan Sporton:

Studentoj
Student_Name Plej granda Sporto
Ravi Arta Historio Futbalo
Ravi Arta Historio Voleibol
Ravi Arta Historio Teniso
Beth Kemio Teniso
Beth Kemio Futbalo


La problemo ĉi tie estas, ke ambaŭ Ravi kaj Beth ludas multoblajn sportojn. Oni Devas aldoni novan vicon por ĉiu pliaj sportoj.

Ĉi tiu tablo enkondukis multivaluan dependecon ĉar la plej granda kaj la sporto estas sendependaj unu de la alia, sed ambaŭ dependas de la studento.

Ĉi tiu estas simpla ekzemplo kaj facile identigebla, sed multivoja dependeco povus fariĝi problemo en granda kompleksa datumbazo.

Multivala dependeco estas skribita X -> -> Y. En ĉi tiu kazo:

Student_Name -> -> Plej granda
Student_Name -> -> Sporto

Ĉi tio estas legata kiel "Student_Name multidetermines Major" kaj "Student_Name multidetermines Sport."

Multivala dependeco ĉiam postulas almenaŭ tri atributojn ĉar ĝi konsistas el almenaŭ du atributoj, kiuj dependas de triono.

Multvalora Dependeco kaj Normaligo

Tablo kun multivala dependeco malobservas normala normo de Kvara Normala Formo (4NK) ĉar ĝi kreas nenecesajn redundojn kaj povas kontribui al nekonsistantaj datumoj. Por alporti ĉi tion ĝis 4NF, necesas rompi ĉi tiun informon en du tabulojn.

La tablo malsupre nun havas funkcian dependecon de Student_Name -> Plej granda, kaj ne multivalaj dependecoj:

Studentoj & Plej grandaj
Student_Name Plej granda
Ravi Arta Historio
Ravi Arta Historio
Ravi Arta Historio
Beth Kemio
Beth Kemio

Dum ĉi tiu tablo ankaŭ havas solan funkcian dependecon de Student_Name -> Sporto:

Studentoj kaj Sportoj
Student_Name Sporto
Ravi Futbalo
Ravi Voleibol
Ravi Teniso
Beth Teniso
Beth Futbalo

Estas klare, ke normaleco ofte traktas simpligante kompleksajn tablojn por ke ili enhavas informojn rilatigitaj al sola ideo aŭ temo, ol provi fari solan tablon enhavi tro multe malsaman informon.