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
Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung
faecher:informatik:oberstufe:datenbanken:nm_beziehungen:start [08.12.2020 08:16] sbelfaecher:informatik:oberstufe:datenbanken:nm_beziehungen:start [08.12.2020 08:46] sbel
Zeile 5: Zeile 5:
  
 ===== Beispiel ===== ===== Beispiel =====
 +
  
  
Zeile 10: Zeile 11:
  
  
-{{ :faecher:informatik:oberstufe:datenbanken:nm_beziehungen:tabellen.png |}}+{{ :faecher:informatik:oberstufe:datenbanken:nm_beziehungen:tabellen.png?300 |}} 
 + 
 + 
 +Die Struktur der Beziehungstabelle sieht so aus: 
 + 
 +''schauspieler_film(__sfid__, sid↑ , fid↑)'' 
 + 
 +Das vollständige Schema sieht also so aus: 
 + 
 +''schauspieler_film(__sfid__, sid↑ , fid↑)'' 
 +''schauspieler(__sid__, SVorname, SNachname)'' 
 +''filme(__fid__, titel)'' 
 + 
 + 
 + 
 +Eine kurze Recherche ergibt (unter anderem), dass Meg Ryan in "Harry And Sally" mitspielt. Um diese Beziehung abzubilden, muss in unserer schauspieler_film-tabelle eie Zeile der Form  
 + 
 +^ id  ^ sid  | fid  | 
 +| 1   | 2    | 4    | 
 +  
 + 
 +eingefügt werden. Der Umstand, dass John Belushi eine Rolle in Blues Brothers spielt, führt zu einer weiteren Zeile: 
 + 
 +^ id  ^ sid  | fid  | 
 +| 1   | 2    | 4    | 
 +| 2   | 6    | 1    | 
 ---- ----
 +{{:aufgabe.png?nolink  |}}
 +=== (A1) ===
 +
 +Ergänze die Beziehungstabelle unter Verwendung entsprechenden Ressourcen.
 +
 +
 +----
 +
 +<WRAP center round box 90%>
 Importiere für die folgenden Übungen die Tabellen der normalisierte Zahnarztbedarfsdatenbank in deine Übungsdatenbank. ({{ :faecher:informatik:oberstufe:datenbanken:nm_beziehungen:zahnarztbedarf_2nf.zip |}}) Importiere für die folgenden Übungen die Tabellen der normalisierte Zahnarztbedarfsdatenbank in deine Übungsdatenbank. ({{ :faecher:informatik:oberstufe:datenbanken:nm_beziehungen:zahnarztbedarf_2nf.zip |}})
 +</WRAP>
 +
  
 {{:aufgabe.png?nolink  |}} {{:aufgabe.png?nolink  |}}
-=== (A1) ===+=== (A2) ===
  
 Erstelle ein ER-Diagramm für die Datenbank. Erstelle ein ER-Diagramm für die Datenbank.
Zeile 22: Zeile 60:
 ---- ----
 {{:aufgabe.png?nolink  |}} {{:aufgabe.png?nolink  |}}
-=== (A2) ===+=== (A3) ===
  
   - 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...)).
Zeile 28: Zeile 66:
   - 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
-  - Gib ein SQL-Statement an, deren Rechnungsbetrag über 12EUR liegt+  - Gib ein SQL-Statement an, deren Rechnungsbetrag über 100EUR liegt
  
  
Zeile 56: Zeile 94:
 ++++ Lösung 3 | ++++ Lösung 3 |
 <code sql> <code sql>
-SELECT * FROM hersteller,doktoren, produkte, bestellungen +SELECT sum(preis*anzahl) AS rechnung, doktoren.name 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 66: Zeile 104:
 ++++ Lösung 5 | ++++ Lösung 5 |
 <code sql> <code sql>
-SELECT sum(preis) AS rechnung, doktoren.name FROM hersteller,doktoren, produkte, bestellungen +SELECT sum(preis*anzahl) AS rechnung, doktoren.name 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
 AND bestellungen.hersteller_id = hersteller.id AND bestellungen.hersteller_id = hersteller.id
 GROUP BY doktoren.name GROUP BY doktoren.name
-HAVING rechnung >12+HAVING rechnung >100
 </code> </code>
 ++++ ++++
  • faecher/informatik/oberstufe/datenbanken/nm_beziehungen/start.txt
  • Zuletzt geändert: 11.11.2022 11:47
  • von Frank Schiebel