Wat sinn Departie vu Datenbank?

Databank Abhängegefähegkeet sinn e Thema, deen zwee Schüler a Datebank Professionnel vermëschen. Glécklech si si net esou komplizéiert an kënne am beschte illustriert sinn duerch d'Verwaltung vu verschiddenen Beispiller. Dësen Artikel beschäftegt eis gemeinsam Ofhängegkeet vu Datebank.

Datebank Dependenzen / Funktional Dependenzen

Eng Ofhängegkeet tritt an enger Datebank, wann Informatiounen déi an der selweschter Tabellertabelle gespeichert sinn e bestëmmt aner Informatioune festzeleeën, déi am selweschten Dësch reservéiert sinn. Dir kënnt et och beschreiwen als Bezéiung, wou de Wësse vun engem Attribut ass (oder e Set Attributer) genuch ass fir Iech de Wäert vun engem anere Attribut (oder Attribut) am selwechte Tabellen ze soen.

An datt et en Abhängegkeet vun Attributer an enger Tabelle ass, ass datelweeg datt et eng funktionell Abhängigkeit tëschent deenen Attribten ass. Wann et eng Ofhängegkeet vun enger Datebank ass, datt d' Attribut B hänkt vum Attribut A ab, kënnt Dir dat als "A -> B" schreiwen.

Zum Beispill, An enger Tabell Lëscht vun de Beschäftegungsmerkmale wéi d'Social Security Number (SSN) an den Numm heescht et, datt den Numm ofhängeg vun SSN (oder SSN -> Numm) ass, well en Numm vun engem Employé kann eegestänneg vun hirem SSN bestëmmen. Allerdéngs ass d'Réckverschëldung (Numm -> SSN) net richteg, well méi wéi engem Employeur dee selwechten Numm hunn, awer aner SSNs.

Trivial Funkparteie sinn

Eng trivial funktionell Abhängegkeet tritt wann Dir eng funktionell Abhängie vun engem Attribut op enger Attraktiounsammlung beschreift, déi d'originell Attribut enthält. Zum Beispill, "{A, B} -> B" ass eng trivial funktionell Abhängigkeit, wéi och "{Name, SSN} -> SSN". Dës Zort Funktiounsabhängegkeet gëtt trivial genannt, well et vu gesondem Sënn abgitt. Et ass evident, datt wann Dir schonn de Wäert vun B wësst, da kann de Wäert vu B eindeuteg vu deem Wëssen determinéiert ginn.

Vollstänneg Dependenzen

Eng vollstänneg Ofhängegkeet trëfft wann Dir d'Ufuerderunge fir eng funktionell Dependenz erliewt an d'Rei vun Attributer op der lénkser Säit vun der funktioneller Dependenzaussiicht kann net weider reduzéiert ginn. Zum Beispill, "{SSN, age} -> Numm" ass eng funktionell Abhängigkeit, awer et ass net eng voll funktionell Dependenz, well Dir Element vun der lénkser Säit vun der Erklärung agehale kann ouni d'Ofhängegkeet ze beaflossen.

Transitive Dependenzen

Transitesch Dependenzen passéieren wann et eng indirekt Relatioun ass déi eng funktionell Abhängie verursaacht. Zum Beispill "A -> C" ass eng transitiv Abhängigkeit, wann et nëmmen ass, well "A -> B" an "B -> C" richteg sinn.

Multivalued Dependenzen

Multivalued Dependenzen passéieren wann d'Präsenz vun enger oder méi Reihen an engem Dësch steet fir d'Präsenz vun enger oder méi anere Reihen an deemselwechte Dësch. Zum Beispill, sech eng Autosfirma virstellen, déi vill Modeller vum Auto fabrizéiert, mais ëmmer roude a blo Faarwen vun all Modell. Wann Dir eng Tabelle, déi den Modellbezeechnunge, d'Faarf an d'Joer vun all Auto enthält, enthält d'Firma fabrizéiert, da gëtt et eng multivalued Dependenz an deem Dësch. Wann et e Reih fir e bestëmmten Modellbeamten a Joer am bloe geet, muss et och e ähnlech Zeil sinn, déi der rouder Versioun vum selwechte Auto entsprécht.

Wichtegkeet vun Dependenzen

Dat Abhängen vu Datebank sinn wichteg ze verstoen, well se déi Basisbauste blockéiere fir an der Datebank normaliséiert . Zum Beispill: