faecher:informatik:oberstufe:datenbanken:nm_beziehungen:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:datenbanken:nm_beziehungen:start [12.11.2024 15:44] Marco Kuemmelfaecher:informatik:oberstufe:datenbanken:nm_beziehungen:start [06.05.2025 06:24] (aktuell) Frank Schiebel
Zeile 16: Zeile 16:
  
 ''schauspieler_film(__sfid__, sid↑ , fid↑)'' ''schauspieler_film(__sfid__, sid↑ , fid↑)''
 +
 +Der Surrogatschlüssel ''sfid'' ist hier optional, man kann auch die Kombination der beiden "kpünstlichen" Schlüssel ''sid'' und ''fid'' als Primärschlüssel verwenden: 
 +
 +''schauspieler_film(__sid↑__ , __fid↑__)''
  
 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 ''WHERE hersteller.firma = 'Eisen Karl' '' auflistet((Du sollst also nicht "von Hand" zuerst die Hersteller ID nachschauen...)).   - Gib ein SQL-Statement an, das alle Produkte der Firma  mit Hilfe des Filters ''WHERE hersteller.firma = 'Eisen Karl' '' auflistet((Du sollst also nicht "von Hand" zuerst die Hersteller ID nachschauen...)).
-  - Gib ein SQL-Statement an, das alle Bestellungen von Viktoria auflistet.+  - Gib ein SQL-Statement an, das alle Bestellungen (Produkt und Anzahl) von Viktoria auflistet.
   - 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 82: Zeile 90:
 ++++ Lösung 2 | ++++ Lösung 2 |
 <code sql> <code sql>
-SELECT FROM hersteller,doktoren, produkte, bestellungen +SELECT produkt, anzahl FROM hersteller, doktoren, produkte, bestellungen 
 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 97: Zeile 105:
 AND bestellungen.hersteller_id = hersteller.id AND bestellungen.hersteller_id = hersteller.id
 AND doktoren.name = "Blutgesicht" AND doktoren.name = "Blutgesicht"
 +</code>
 +++++
 +
 +++++ Lösung 4 |
 +<code sql>
 +select vorname, name from bestellungen, doktoren, produkte 
 +WHERE bestellungen.produkt_id=produkte.id 
 +AND bestellungen.doktor_id=doktoren.id 
 +AND produkte.produkt="Zement";
 </code> </code>
 ++++ ++++
  • faecher/informatik/oberstufe/datenbanken/nm_beziehungen/start.1731426274.txt.gz
  • Zuletzt geändert: 12.11.2024 15:44
  • von Marco Kuemmel