Verknüpfen von Tabellen
Durch die Normalisierung der Datenbank benötigen wir weitere Tabellen
die zusammengeführt werden müssen.
MySQL besitzt bis zur Version 4.0 (und in den neuen auch nur mit dem InnoDB Tabellen Typ dazu später mehr) im Gegensatz zu z.B. Oracle kein foreign keys.
D.h. wir müssen bei MySQL immer selbst dafür sorgen das die Datensätze
eindeutig zugeordnet sind. Bzw. das die Datenintegrität gewährleistet wird.
(z.B.: CDs & Interpreten (keine Interpreten ID die noch nicht vorhanden
ist!)
Wir haben nun zwei Datenbanken. Beide möchten wir zusammen benutzen. Hier ein
einfaches Beispiel für eine Abfrage über zwei Tabellen hinweg:
SQL-Befehl:
SELECT * FROM cdsammlung, cdinterpret WHERE cdsammlung.interpret = cdinterpret.id
LIMIT 0, 2 |
titel |
interpret |
spiellaenge |
erscheinungsjahr |
kaufdatum |
preis |
Ort |
Inhalt |
ID |
interpret |
master of the rings |
Helloween |
45:12 |
127 |
2002-03-28 |
12.90 |
Auto |
Booklet |
4 |
Helloween |
stone temple pilots |
stone temple pilots |
56:12 |
127 |
2002-03-28 |
23.99 |
Auto |
Booklet |
7 |
stone temple pilots |
Was ist neu:
- Der FROM Operator selektiert nun über zwei Tabellen
- Die Syntax für Spaltennamen lautet: tabelle.spalte
- Treffermenge besteht aus beiden Tabellen, das bedeutet das auch Tabellennamen
doppelt vorkommen können!
|