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 [08.12.2020 08:16] sbelfaecher:informatik:oberstufe:datenbanken:nm_beziehungen:start [11.11.2022 11:47] (aktuell) Frank Schiebel
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 |}}
----- +
-Importiere für die folgenden Übungen die Tabellen der normalisierte Zahnarztbedarfsdatenbank in deine Übungsdatenbank. ({{ :faecher:informatik:oberstufe:datenbanken:nm_beziehungen:zahnarztbedarf_2nf.zip |}})+
  
 +
 +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 
 +
 +^ sfid  ^ sid  | fid  |
 +| 1     | 4    | 2    |
 + 
 +
 +eingefügt werden. Der Umstand, dass John Belushi eine Rolle in Blues Brothers spielt, führt zu einer weiteren Zeile:
 +
 +^ sfid  ^ sid  | fid  |
 +| 1     | 4    | 2    |
 +| 2     | 6    | 1    |
 +
 +----
 {{:aufgabe.png?nolink  |}} {{:aufgabe.png?nolink  |}}
 === (A1) === === (A1) ===
  
-Erstelle ein ER-Diagramm für die Datenbank.+Ergänze die Beziehungstabelle unter Verwendung entsprechenden Ressourcen.
  
  
 ---- ----
 +
 +<WRAP center round box 90%>
 +Importiere für die folgenden Übungen die Tabellen der normalisierten Zahnarztbedarfsdatenbank in deine Übungsdatenbank. ({{ :faecher:informatik:oberstufe:datenbanken:nm_beziehungen:zahnarztbedarf_2nf.zip |}})
 +</WRAP>
 +
 +
 {{:aufgabe.png?nolink  |}} {{:aufgabe.png?nolink  |}}
 === (A2) === === (A2) ===
 +
 +Erstelle ein ER-Diagramm für die Datenbank. Überführe das ER Modell in ein relationales Datenbankschema.
 +
 +
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (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>
 ++++ ++++
Zeile 88: Zeile 126:
 </code> </code>
  
-Was wird hier abgefragt? Experimentiere mit der WHERE BEdingung und mit den angezeigten Feldern.+Was wird hier abgefragt? Experimentiere mit der WHERE Bedingung und mit den angezeigten Feldern.
  • faecher/informatik/oberstufe/datenbanken/nm_beziehungen/start.1607411764.txt.gz
  • Zuletzt geändert: 08.12.2020 08:16
  • von sbel