Einzelnen Beitrag anzeigen

jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: Mehrere Angfänger-Fragen bezüglich MYSQL-Workbench

  Alt 16. Dez 2015, 15:12
Habs mal überflogen. Das hast Du im Prinzip alles richtig beschrieben.
Wofür Du das brauchst, könntest Du merken, wenn Du ein Select Statement schreibst, was Dir User und Skills ausgeben soll, ohne die 3. Tabelle zu haben.
Der Primärschlüssel dient der (eindeutigen) Identifikation eines Datensatzes einer Tabelle.
Der Fremdschlüssel zeigt auf einen solchen Primärschlüssel und schafft so aus einer anderen Tabelle bzw. Datensatz eine Zuordnung zum Datensatz mit dem jeweiligen Primär-Schlüssel. Es ist eben einfach eine Zuordnung.
Jenachdem wie Du nun die Fremdschlüssel in den Tabellen einbaust und auf andere Tabellen zeigen lässt, schaffst Du also Verbindungen zwischen den Datensätzen.
Du hast mit der 3. Tabelle eine n:m Verbindung angelegt. Heisst jeder User kann alle Skills haben.
In einem anderen Fall z.B. Bestellungen, bestehend aus der Bestellung selbst und den Bestellpositionen (2 Tabellen) wäre eine solche Zuordnung (n:m) unsinnig. Hier erhält lediglich die Bestellposition einen Fremdschlüssel zur Bestellung.

Ich denke, wenn Du etwas mit SQL rumspielst und dein Beispiel erweiterst und abfragst, wirst Du die Grundzüge schnell verstehen.

P.S: Was Du beschrieben hast, nennt man das Datenmodell. Es ermöglicht eine Verknüpfung. Erstmal steht halt einfach alles so da, wie Du es definiert hast und mit Daten versehen hast. Eine Abfrage (Query, Select Statement, ..) kann diese Tabellen und verknüpfen, anhand der Schlüsselfelder.
Gruß, Jo

Geändert von jobo (16. Dez 2015 um 15:15 Uhr)
  Mit Zitat antworten Zitat