Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:datenbanken:nm_beziehungen:start [12.11.2024 15:32] – Marco Kuemmel | faecher:informatik:oberstufe:datenbanken:nm_beziehungen:start [06.05.2025 06:24] (aktuell) – Frank Schiebel | ||
---|---|---|---|
Zeile 16: | Zeile 16: | ||
'' | '' | ||
+ | |||
+ | Der Surrogatschlüssel '' | ||
+ | |||
+ | '' | ||
Das vollständige Schema sieht also so aus: | Das vollständige Schema sieht also so aus: | ||
Zeile 42: | Zeile 46: | ||
Ergänze die Beziehungstabelle unter Verwendung entsprechender Ressourcen (Suchmaschine). | Ergänze die Beziehungstabelle unter Verwendung entsprechender Ressourcen (Suchmaschine). | ||
+ | |||
+ | In manchen Fällen macht es Sinn, dass Beziehungstabellen neben den eigentlichen Beziehungen **zusätzliche Informationen speichern, die zu einer bestimmten Beziehung gehören**. Im Fall der Filmdatenbank könnte das z.B. die Gage sein oder ob eine Schauspielerin für die Roll in diesem Film einen Oskar erhalten hat. | ||
+ | |||
+ | Ergänze das Scheme der Beziehungstabelle um die beiden im Beispiel genannten Felder. | ||
Zeile 62: | Zeile 70: | ||
- Gib ein SQL-Statement an, das alle Produkte der Firma mit Hilfe des Filters '' | - Gib ein SQL-Statement an, das alle Produkte der Firma mit Hilfe des Filters '' | ||
- | - Gib ein SQL-Statement an, das alle Bestellungen von Viktoria auflistet. | + | - Gib ein SQL-Statement an, das alle Bestellungen |
- Gib ein SQL-Statement an, das den Rechnungsbetrag von Dr. Blutgesicht ausgibt. | - Gib ein SQL-Statement an, das den Rechnungsbetrag von Dr. Blutgesicht ausgibt. | ||
- Gib ein SQL-Statement an, das alle Doktoren ausgibt, die Zement gekauft haben | - Gib ein SQL-Statement an, das alle Doktoren ausgibt, die Zement gekauft haben | ||
Zeile 72: | Zeile 80: | ||
<code sql> | <code sql> | ||
- | SELECT | + | SELECT |
WHERE bestellungen.produkt_id = produkte.id | WHERE bestellungen.produkt_id = produkte.id | ||
- | AND bestellungen.doktor_id = doktoren.id | ||
AND bestellungen.hersteller_id = hersteller.id | AND bestellungen.hersteller_id = hersteller.id | ||
AND hersteller.firma = " | AND hersteller.firma = " | ||
Zeile 83: | Zeile 90: | ||
++++ Lösung 2 | | ++++ Lösung 2 | | ||
<code sql> | <code sql> | ||
- | SELECT | + | SELECT |
WHERE bestellungen.produkt_id = produkte.id | WHERE bestellungen.produkt_id = produkte.id | ||
AND bestellungen.doktor_id = doktoren.id | AND bestellungen.doktor_id = doktoren.id | ||
Zeile 98: | Zeile 105: | ||
AND bestellungen.hersteller_id = hersteller.id | AND bestellungen.hersteller_id = hersteller.id | ||
AND doktoren.name = " | AND doktoren.name = " | ||
+ | </ | ||
+ | ++++ | ||
+ | |||
+ | ++++ Lösung 4 | | ||
+ | <code sql> | ||
+ | select vorname, name from bestellungen, | ||
+ | WHERE bestellungen.produkt_id=produkte.id | ||
+ | AND bestellungen.doktor_id=doktoren.id | ||
+ | AND produkte.produkt=" | ||
</ | </ | ||
++++ | ++++ |