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:41] – gkoch | modul:m290_guko:learningunits:lu04:theorie:b_crows_foot [2025/09/22 13:33] (aktuell) – gkoch | ||
|---|---|---|---|
| Zeile 92: | Zeile 92: | ||
| * Ein Kunde kann viele Bestellungen aufgeben (1: | * Ein Kunde kann viele Bestellungen aufgeben (1: | ||
| * Eine Bestellung kann mehrere Produkte enthalten, und ein Produkt kann in vielen Bestellungen vorkommen (M: | * Eine Bestellung kann mehrere Produkte enthalten, und ein Produkt kann in vielen Bestellungen vorkommen (M: | ||
| + | |||
| + | {{: | ||
| Darstellung in Crow’s-Foot-Notation: | Darstellung in Crow’s-Foot-Notation: | ||
| Zeile 100: | Zeile 102: | ||
| ===== Beispiel: Vom Schema zur Tabelle ===== | ===== Beispiel: Vom Schema zur Tabelle ===== | ||
| - | Ausgangspunkt ist ein kleines | + | Ausgangspunkt ist ein **Crow’s Foot Schema**: |
| {{: | {{: | ||
| Zeile 123: | Zeile 125: | ||
| <code sql> | <code sql> | ||
| CREATE TABLE regisseur ( | CREATE TABLE regisseur ( | ||
| - | regisseur_id INT AUTO_INCREMENT, | + | regisseur_id INT AUTO_INCREMENT |
| name VARCHAR(50) NOT NULL, | name VARCHAR(50) NOT NULL, | ||
| - | birthday DATE, | + | birthday DATE |
| - | PRIMARY KEY (regisseur_id) | + | |
| ); | ); | ||
| </ | </ | ||
| Zeile 143: | Zeile 144: | ||
| </ | </ | ||
| </ | </ | ||
| - | **4. Erste Daten einfügen** | ||
| - | <WRAP center box round 80%> | ||
| - | <code sql> | ||
| - | INSERT INTO regisseur (name) VALUES (' | ||
| - | INSERT INTO film (titel, jahr, regisseur_id) | + | <WRAP center box round 80% info> |
| - | VALUES | + | Sowohl das setzen von Foreign Keys (Fremdschlüsseln) in SQL, wie auch das gleichzeitige Abfragen von Daten aus zwei Tabellen |
| - | ('Lost in Translation' | + | |
| - | </ | + | |
| </ | </ | ||
| + | **4. Daten einfügen** | ||
| + | |||
| + | Fügen Sie mit Webstorm manuell (Tabelle anklicken und dann -> "Edit Data" (Tabellen-Icon)) ein paar Daten in die beiden Tabellen. Sie können zur Inspiration Daten aus der Tabelle // | ||
| + | |||
| **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 159: | Zeile 160: | ||
| 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:// | ||