Multivalued Dependency am Database Design

Multivalued Dependency brécht véier normale Form

An enger relationaler Datenbank ass eng Ofhängegkeet entstanen wann d'Informatioun déi an der selweschter Tabellertabelle gespeichert gëtt e bestëmmt aner Informatioune festzeleeën, déi am selweschten Dësch reservéiert sinn. Eng multivalued Dependenza gëtt geschitt, wann d'Präsenz vun enger oder méi Reihen an engem Table erkläert de Präsenz vun enger oder e puer anere Reihen an därselwechter Tabelle. Sitt eng aner Manéier, zwee Attributë (oder Spalten) an enger Tabelle sinn onofhängeg vuneneen, awer abegraff vun engem drëtten Attribut.

Eng multivalued Dependenz verhënnert d'Normaliséierung Standard véier Normalform (4NF). Relational Datenbanken folgend fënnef normale Formen, déi Richtlinien fir Rekorddesign sinn. Si vermeiden Update anomalies an onkonsequenzen an den Daten. Déi véier Normalform ëmfaasst vill-zu-one Bezéiungen an enger Datebank .

Functional Dependency vs. Multivalued Dependency

Fir eng multivalued Dependenz ze verstoen, ass et wichteg, nei ze reviséieren wat eng funktional Abhängigkeit ass.

Wann e Attribut X e ganz eegene Attribut Y bestëmmt, dann ass Y u funktionell abhängig vu X. Dëst ass geschriwwe wéi X-> Y. Zum Beispill, an der Tabelle vun de Studenten no, gëtt de Student_Name den Major eraus:

Studenten
Student_Name Major
Ravi Art History
Beth Chimie


Dës funktionell Abhängie kann geschriwwe ginn: Student_Name -> Major . Jidder Student_Name bestëmmt genee ee Major a keng méi.

Wann Dir wëllt datt d'Datebank och de Sport spillt, déi dës Studenten huelen, kënnt Dir soen datt et dee einfachste Wee fir ze maachen ass nëmmen eng aner Säulen déi ënnert dem Titel Sport:

Studenten
Student_Name Major Sport
Ravi Art History Fussball
Ravi Art History Volleyball
Ravi Art History Tennis
Beth Chimie Tennis
Beth Chimie Fussball


De Problem ass et, datt Ravi a Beth méi Sport ginn. Et ass néideg eng nei Zeil fir all Sports ze addelen.

Dës Tafel hunn eng multivaléiert Dependency agefouert, well déi grouss an de Sport un eng onofhängeg sinn, awer beide ofhängeg vum Student.

Dëst ass e einfache Beispill a liicht erkennbar, awer eng multivalu Abhängegkeet kann e Problem an enger grousser, komplexer Datebank ginn.

Eng multivalued Dependenz ass geschriwwe X -> -> Y. An dësem Fall:

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

Dëst gëtt geliest "Student_Name multidetermines Major" a "Student_Name multidetermines Sport."

Eng multivalued Dependenz erfëllt ëmmer mindestens dräi Attributë, well si aus mindestens zwee Attributer besteet déi hänkt vun engem Drëttel of.

Multivalued Dependency an Normaliséierung

Eng Tafel mat enger multivalueller Ofhängegkeet verletzt den Normalisatiounsstandard vun der véierter Normalform (4NK), well et onnéideg Redundanzen erreecht a kann zu inkonsistenten Daten beitragen. Fir dës 4NF ze bréngen, ass et néideg fir dës Informatioun an zwou Dëscher ze bremsen.

D'Tabell ënnert de Moment huet eng funktionell Abhängie vu Student_Name -> Major a keng multivalued Dependenzen:

Studenten a Majors
Student_Name Major
Ravi Art History
Ravi Art History
Ravi Art History
Beth Chimie
Beth Chimie

Während dëser Tafel huet och eng eenzeg functional Dependency vum Student_Name -> Sport:

Studenten a Sport
Student_Name Sport
Ravi Fussball
Ravi Volleyball
Ravi Tennis
Beth Tennis
Beth Fussball

Et ass kloer datt d'Normaliséierung oft vun der komplizéierter Tabellen vereinfacht gëtt, sou datt si Informatiounen zu enger eenzeger Idee oder Thema enthalen, anstatt datt et eng eenzeg Dësch steet zevill differenzéiert Informatiounen.