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 07:50] – [Tabelle] sbelfaecher:informatik:oberstufe:datenbanken:nm_beziehungen:start [12.11.2024 15:51] (aktuell) Marco Kuemmel
Zeile 1: Zeile 1:
 ====== n-m Beziehungen ====== ====== n-m Beziehungen ======
  
-In normalisierten Datenbanken kommen häufig "Beziehungstabellen" zum Einsatz, welche die Verbindung zwischen den Entitäten +In normalisierten Datenbanken kommen häufig "Beziehungstabellen" zum Einsatz, welche die Verbindung zwischen den Entitäten herstellen. **n-m-Beziehungen benötigen immer eine solche Beziehungstabelle**.
-herstellen. **n-m-Beziehungen benötigen immer eine solche Beziehungstabelle**.+
  
 ===== Beispiel ===== ===== Beispiel =====
Zeile 26: Zeile 25:
  
  
-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 +Eine kurze Recherche ergibt (unter anderem), dass Meg Ryan in "Harry And Sally" mitspielt. Um diese Beziehung abzubilden, muss in unserer schauspieler_film-Tabelle eine Zeile der Form 
  
-id  sid  | fid  | +sfid  sid  | fid  | 
-| 1   | 4    | 2    |+| 1     | 4    | 2    |
    
  
 eingefügt werden. Der Umstand, dass John Belushi eine Rolle in Blues Brothers spielt, führt zu einer weiteren Zeile: eingefügt werden. Der Umstand, dass John Belushi eine Rolle in Blues Brothers spielt, führt zu einer weiteren Zeile:
  
-id  sid  | fid  | +sfid  sid  | fid  | 
-| 1   | 4    | 2    | +| 1     | 4    | 2    | 
-| 2   | 6    | 1    |+| 2     | 6    | 1    |
  
 ---- ----
Zeile 42: Zeile 41:
 === (A1) === === (A1) ===
  
-Ergänze die Beziehungstabelle unter Verwendung entsprechenden Ressourcen.+Ergänze die Beziehungstabelle unter Verwendung entsprechender Ressourcen (Suchmaschine).
  
  
Zeile 48: Zeile 47:
  
 <WRAP center round box 90%> <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 normalisierten Zahnarztbedarfsdatenbank in deine Übungsdatenbank. ({{ :faecher:informatik:oberstufe:datenbanken:nm_beziehungen:zahnarztbedarf_2nf.zip |}})
 </WRAP> </WRAP>
  
Zeile 55: Zeile 54:
 === (A2) === === (A2) ===
  
-Erstelle ein ER-Diagramm für die Datenbank.+Erstelle ein ER-Diagramm für die Datenbank. Überführe das ER Modell in ein relationales Datenbankschema.
  
  
Zeile 63: Zeile 62:
  
   - 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
-  - Gib ein SQL-Statement an, deren Rechnungsbetrag über 100EUR liegt+  - Gib ein SQL-Statement an, das alle Doktoren ausgibt, deren Rechnungsbetrag über 100EUR liegt
  
  
Zeile 73: Zeile 72:
  
 <code sql> <code sql>
-SELECT FROM hersteller,doktoren, produkte, bestellungen +SELECT produkte FROM hersteller, produkte, bestellungen 
 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 = "Eisen-Karl" AND hersteller.firma = "Eisen-Karl"
Zeile 84: Zeile 82:
 ++++ 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 99: Zeile 97:
 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>
 ++++ ++++
Zeile 126: Zeile 133:
 </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.1607413833.txt.gz
  • Zuletzt geändert: 08.12.2020 07:50
  • von sbel