PHP/MySQL - Praxistutorial 3 - Relationstabellen
1. Die Abschnitte
- Überblick
- Das Prinzip
- Theta/Inner Join
- Left/Right Join
- Zusatzbedingungen
- Relationstabellen
- Mehrere Tabellen verbinden
2. Die Tabelle bestellung
So, jetzt wagen wir uns an dieses Monster heran. Und wie der Titel schon sagt, handelt es sich um eine Relationstabelle, da in ihr alle Beziehungen einer Bestellung abgebildet werden. Gut, so ganz hundertprozentig richtig ist diese Aussage nicht, da wir die Anzahl der bestellten Produkte ausschließlich hier unterbringen. Aber egal.
+----+--------+-------+-------+-------+
| id | anzahl | pr_id | kd_id | hr_id |
+----+--------+-------+-------+-------+
| 1 | 1 | 1 | 1 | 1 |
| 2 | 5 | 2 | 2 | 2 |
| 3 | 3 | 3 | 3 | 3 |
| 4 | 7 | 4 | 4 | 3 |
| 5 | 4 | 5 | 5 | 4 |
| 6 | 9 | 2 | 3 | 2 |
| 7 | 2 | 4 | 1 | 3 |
+----+--------+-------+-------+-------+
3. Die Relationen
Produkte
Hier werden beide Tabellen über die Spalte pr_id
verbunden, die den Verweis auf die ID der Tabelle produkt
herstellt. Ach ja, das Prinzip gilt auch für die folgenden Relationen. Darum zeige ich die auch nur, da ich dazu nichts mehr
erklären muss.
'bestellung' 'produkt'
+----+-------+ +----+--------------+
| id | pr_id | | id | produkt |
+----+-------+ +----+--------------+
| 1 | 1 | -> | 1 | Schlagbohrer |
+----+-------+ +----+--------------+
Kunden
'bestellung' 'kunde'
+----+-------+ +----+------------+
| id | kd_id | | id | kunde |
+----+-------+ +----+------------+
| 6 | 3 | -> | 3 | Eisenfaust |
+----+-------+ +----+------------+
Hersteller
'bestellung' 'hersteller'
+----+-------+ +----+------------+
| id | hr_id | | id | zulieferer |
+----+-------+ +----+------------+
| 5 | 4 | -> | 4 | Stahl AG |
+----+-------+ +----+------------+
So, und nun verbinden wir mal verschiedene Tabellen in einer(!) Abfrage miteinander.
zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt