Database Bezéiungen

Datebank Bezéiungen sinn den Haaptkierper vun all relationale Datenbanken

Eng Bezéiung gëtt tëscht zwou Tabellertabellen etabléiert, wann eng Tablet e Fremdschloss huet, deen den éischte Schlëssel vun engem aneren Dësch verweist. Dëst ass de konzepter Konzept hannert der Begrëff relationale Datenbank.

Wéi e Fremde Key Works to establish a Relationship

Loosst eis d'Basis vun primären a auslännesche Schlëssel iwwerpréiwen. E primäre Schlëssel identifizéiert eegene Records an den Dësch. Et ass eng Art vu Kandidatschloss , déi normalerweis déi éischt Kolonn an enger Tabelle ass an datt automatesch vun der Datebank agefouert ginn ass fir datt et e unique ass.

E Fremdschlag ass e Kandidatschléi (net deen éischte Primärschlüssel) benotzt fir eng Rekordnumm op Daten an engem aneren Dësch ze verbannen.

Zum Beispill kuckt dës zwee Dëscher, déi identifizéieren wéi eng Léierpersonal d'Course léiert.

Hei ass de Primärschlass vun der Coursen ass Course_ID. Den auslännesche Schlëssel ass Teacher_ID:

Coursen
Course_ID Course_Name Teacher_ID
Course_001 Biologie Teacher_001
Course_002 Math Teacher_001
Course_003 Englesch Teacher_003

Dir kënnt gesinn dass de auslännesche Schlëssel an de Coursen mat engem Primärschlass an de Léierpersonal passt:

Léierpersonal
Teacher_ID Teacher_Name
Teacher_001 Carmen
Teacher_002 Veronica
Teacher_003 Jorge

Mir kënnen soen datt den auslännesche Schoulmeeschter_ID ausgeschafft huet fir eng Relatioun tëscht de Coursen an de Léiererbiller ze setzen.

Typen vun Datenbankbevëlkerungen

Benotzt aus auslännesche Schlëssel oder aner Kandidatentschlüssel kann Dir dräi Arten vu Relatiounen tëscht Dëscher implementéieren:

One-to-one : Dës Zort vun Bezéiung erlaabt nëmmen ee Rekord op all Säit vun der Bezéiung.

De primäre Keete bezitt op nëmmen eng Rekord - oder kee - an engem aneren Dësch. Zum Beispill, an engem Bestietnes huet all Eegenschafte nëmmen een anere Fra. Dës Zort vun Bezéiung kann an enger eenzeger Tabelle agebaut ginn an doduerch keen auslännesche Schlëssel benotzt.

One-to-Many : Eng Eenheet ze verzeechnen datt een eenzegen Rekord an enger Tableau mat verschiddene Rekorder op engem aneren Dësch bezuelt gëtt.

Betraut een Geschäft mat enger Datebank, déi Clienten a Bestellen Dëscher huet.

En eenzege Client kann verschidde Bestellungen kaaft, awer een eenzegen Uerdeg kann net mat verschidde Clienten verbonne sinn. Dowéinst ass d'Tabellenuerdnen e Fremdschlag, deen dem Primärschreiber vun der Clienter-Tabelle entsprécht, während d'Tableau vum Client keen auslännesche Schlëssel huet fir d'Tabellen vum Orden ze weisen.

Vill-zu-ville : Dëst ass eng komplexe Bezéiung, an där vill Rekorder op engem Dësch op vill Opname an engem aneren Dësch verléieren. Zum Beispill, eise Betrib braucht wahrscheinlech net nëmmen Clienten a Gläichte Dëscher, mee wahrscheinlech och e Produitentabelle.

Elo, d'Bezéiung tëscht de Clienten an d'Orders Table ass een-a-ville, awer kuckt d'Relatioun tëscht de Commanden an Produkter Dësch. Eng Bestellung kann verschidde Produkter sinn, an e Produit kéint mat ville Bestellungen verknëppelt ginn: Verschidde Cliente kënnen eng Bestellung maachen, déi e puer vun de selwechte Produkter ass. Dës Zort Bezéiung erfëllt mindestens dräi Dëscher.

Wat sinn Datenbankrelatiounen Wichteg?

Et gëtt konsistent Bezéiungen tëschent Dateblieder gesammelt fir d'Integritéit vun Daten z'erreechen, a contributéiere vun der Datebank normaliséieren. Zum Beispill, wat huelt eis keng Dëscher mat engem auslännesche Schlëssel an hunn just d'Donnéeën an de Coursen a Léierertabellen kombinéiert:

Léierpersonal a Coursen
Teacher_ID Teacher_Name Course
Teacher_001 Carmen Biologie, Math
Teacher_002 Veronica Math
Teacher_003 Jorge Englesch

Dëst Design ass onverféierbar an verletzt den éischte Prinzip vun der Datebank normaliséierung, First Normal Form (1NF), déi feststellt datt all Dëschtabletten een eenzelen, diskret Stéck vu Daten enthalen.

Oder vläicht hu mer décidéiert fir eng zweet Rekord fir Carmen ze addelen, fir 1NF auszerechnen:

Léierpersonal a Coursen
Teacher_ID Teacher_Name Course
Teacher_001 Carmen Biologie
Teacher_001 Carmen Math
Teacher_002 Veronica Math
Teacher_003 Jorge Englesch

Dëst ass nach ëmmer e schwaacht Design, onnëtzend Duplizatioun an dat wat heescht Dateimnockenamen , déi nëmmen bedeitend, datt et dozou bäidroen kann zu onbestëmmten Donnéeën beitragen.

Zum Beispill, wann en Léierpersonal verschidde Aufzeichnungen huet, wéi wann d'Donnéeë musse geännert ginn, awer déi Persoun déi d'Editioun vun der Datenausféierung erliewen, weess net datt verschidde Registréiere existéieren? D'Tafel wäert dann verschidden Donnéeën fir déi selwecht Individuell sinn, ouni kloert Wee vir ze identifizéieren oder ze vermeiden.

Dëse Dësch opbruecht an zwee Dëscher, Léierpersonal a Coursen (wéi virdrun visualiséiert), kreéiert déi richteg Bezéiung tëschent den Donnéeën an hëlleft deemno fir d'Konsequenz vun Daten an d'Genauegkeet ze garantéieren.