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:
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:
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:
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:
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.