Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
modul:m290_guko:learningunits:lu04:theorie:b_crows_foot [2025/09/07 19:33] – gkoch | modul:m290_guko:learningunits:lu04:theorie:b_crows_foot [2025/09/07 21:18] (aktuell) – gkoch | ||
---|---|---|---|
Zeile 87: | Zeile 87: | ||
* **Kunde** | * **Kunde** | ||
* **Bestellung** | * **Bestellung** | ||
- | * **Buch** | + | * **Produkt** |
Beziehungen: | Beziehungen: | ||
* Ein Kunde kann viele Bestellungen aufgeben (1: | * Ein Kunde kann viele Bestellungen aufgeben (1: | ||
- | * Eine Bestellung kann mehrere | + | * Eine Bestellung kann mehrere |
+ | |||
+ | {{: | ||
Darstellung in Crow’s-Foot-Notation: | Darstellung in Crow’s-Foot-Notation: | ||
* Linie zwischen Kunde und Bestellung, mit Strich (1) auf der Kundenseite und Krähenfuss (N) auf der Bestellungsseite. | * Linie zwischen Kunde und Bestellung, mit Strich (1) auf der Kundenseite und Krähenfuss (N) auf der Bestellungsseite. | ||
- | * Linie zwischen Bestellung und Buch mit Krähenfuss auf beiden Seiten. | + | * Linie zwischen Bestellung und Produkt |
Zeile 101: | Zeile 103: | ||
Ausgangspunkt ist ein kleines **Crow’s Foot Schema**: | Ausgangspunkt ist ein kleines **Crow’s Foot Schema**: | ||
- | {{: | + | {{: |
* **Regisseur** (RegisseurID **PK**, Name) | * **Regisseur** (RegisseurID **PK**, Name) | ||
Zeile 109: | Zeile 111: | ||
- | ===== Umsetzung in SQL ===== | + | ==== Umsetzung in SQL ==== |
**1. Datenbank anlegen** | **1. Datenbank anlegen** | ||
Zeile 125: | Zeile 127: | ||
regisseur_id INT AUTO_INCREMENT, | regisseur_id INT AUTO_INCREMENT, | ||
name VARCHAR(50) NOT NULL, | name VARCHAR(50) NOT NULL, | ||
+ | birthday DATE, | ||
PRIMARY KEY (regisseur_id) | PRIMARY KEY (regisseur_id) | ||
); | ); | ||
Zeile 142: | Zeile 145: | ||
</ | </ | ||
</ | </ | ||
- | **4. Erste Daten einfügen** | + | **4. Daten einfügen** |
- | <WRAP center box round 80%> | + | |
- | <code sql> | + | Fügen Sie mit Webstorm manuell (Tabelle anklicken und dann -> "Edit Data" |
- | INSERT INTO regisseur | + | |
- | INSERT INTO film (titel, jahr, regisseur_id) | ||
- | VALUES (' | ||
- | | ||
- | </ | ||
- | </ | ||
**5. Daten abfragen** | **5. Daten abfragen** | ||
+ | |||
+ | Mit einem Select können wir beide Tabellen gleichzeitig abfragen: | ||
<WRAP center box round 80%> | <WRAP center box round 80%> | ||
<code sql> | <code sql> | ||
Zeile 158: | Zeile 157: | ||
FROM film f, regisseur r | FROM film f, regisseur r | ||
WHERE f.regisseur_id = r.regisseur_id; | WHERE f.regisseur_id = r.regisseur_id; | ||
+ | |||
</ | </ | ||
</ | </ | ||
- | **Ergebnis** | + | Was zu einem ähnlichen |
<WRAP center box round 80%> | <WRAP center box round 80%> | ||
^ Titel ^ Jahr ^ Regisseur | ^ Titel ^ Jahr ^ Regisseur | ||
| Inception | | Inception | ||
| Lost in Translation | 2003 | Sofia Coppola | | Lost in Translation | 2003 | Sofia Coppola | ||
+ | |||
</ | </ | ||
- | Die Daten werde aus beiden Tabellen //film// und // | + | |
---- | ---- | ||
[[https:// | [[https:// | ||