Informatikwiki

Albert Einstein Gymnasium Reutlingen

Benutzer-Werkzeuge

Webseiten-Werkzeuge


dbs:db04

Dies ist eine alte Version des Dokuments!


Lektion 3 - Zusammenführen der Datensätze mit SQL

Lektion 4 - Übungen

Aufgabe 1 - Finde den Fehler

In folgenden SQL Befehlen wurden Fehler eingebaut. Versuche die Fehler zu finden ohne den SQL Befehl in phpmyadmin auszuführen. Erst nach deiner Korrektur kannst du den Befehl eingeben und testen. Die Aufgaben beziehen sich auf die Tabellen schueler und buecher.

  1. SELECT *
    FROM buecher
    WHERE BPreis = '100'
  2. SELECT SVorname SNachname
    FROM SCHUELER
    WHERE SNachname = '%E%' 
  3. SELECT COUNT (*)
    FROM schueler
  1. SELECT *
    FROM schueler
    WHERE SNachname = Kohler
  1. SELECT *
    FROM schueler
    WHERE 'SNachname' = 'Schwarz'

Aufgabe 2 - Verständnis

Haben Fremdschlüssel in der eigenen Tabelle die Eigenschaft eines Schlüssels?


Aufgabe 3 - Auch SQL kann rechnen

Lösung in 3 Zeilen:

In der Datei notendurchschnitt.sql ist eine leere Tabelle vorgegeben. Finde heraus, wie du mit Hilfe von phpmyadmin diese Tabelle mit Werten füllst und schreibe dann eine Abfrage, die aus einer gegebenen Anzahl von Noten den Notendurchschnitt berechnet.


Aufgabe 4: SQL

Ein Datenbankenbenutzer hat folgende Anfrage an eine Tabelle gestellt: Die Tabelle hat den Namen R und die Spalten A,B,C.

SELECT DISTINCT A, B
FROM R
WHERE C = A

Das Datenbanksystem hat folgende Datenbank herausgegeben:

R
A B
1 2
2 1

Welche der drei Datenbanken kann die „Ausgangsdatenbank“ gewesen sein. Also die Datenbank, die die obige Antwort liefert.

Achtung: Es kommt hier nicht auf die Reihenfolge der Zeilen im Ergebnis an.
R
A B C D
1 4 3 1
2 1 2 4
1 2 1 3
2 1 2 2
R
A B C D
1 2 1 1
2 1 2 1
2 1 2 2
1 3 1 2
R
A B C
0 2 2
2 1 2
1 2 1

Aufgabe 5 !!!

Datenbankmodellierung

Ein Reiseveranstalter organisiert die Hotels in seinem Angebot mit einer Datenbank. Es soll möglich sein, eine Übersicht über einige Informationen zu den Hotels zu erhalten:

  • Name des Hotels, Bewertung („Sterne“), Distanz zum Strand (in Metern)
  • Name des Ortes
  • Dauer des Bustransfers vom Flughafen zur Ortsmitte (in Minuten)
  • Name des Flughafens, Kürzel des Flughafens, Flugzeit (ab Stuttgart; in Minuten)

In einem Ort liegen mehrere Hotels, von einem Flughafen aus werden mehrere Orte bestellt.

Beispiel: (Dies ist nicht die tatsächliche Lösungstabelle)

Hotelname Kategorie Distanz zum Strand Ort Transferzeit Flughafen Kürzel Flugzeit
Arena Dorado 3 150 Puerto del Carmen 45 Arrecife ACE 230
Los Hibiscos 4 200 Puerto del Carmen 45 Arrecife ACE 230
Bahia Blanca 5 50 Playa Blanca 30 Arrecife ACE 230
Oceanis Beach Resort 4 50 Psalidi 75 Kos KGS 150

Aufgaben:

  1. Erstelle ein ER-Diagramm, in dem die verschiedenen Entitätstypen mit ihren Attributen dargestellt werden. Gebe den Attributen geeignete Namen.
  2. Stelle im ER-Diagramm dar, wie die Entitäten miteinander in Beziehung stehen.
  3. Lege geeignete Primärschlüssel für jeden Entitätstyp fest. Füge die nötigen Fremdschlüssel ein, um die nötigen Beziehungen herzustellen.
  4. Erstellen nun diese Datenbank in MYSQL. Erzeuge dazu in deiner Datenbank für die Entitätstypen Tabellen, in denen die gewünschten Attribute gespeichert werden können. Denk daran, die Primärschlüssel festzulegen.
  5. Trage die Beispieldaten von dieser Seite in die Tabelle ein.
  6. Schreibe eine SQL-Abfrage, um die Namen der Hotels und die Namen der zugehörigen Orte auszugeben.
  7. Schreibe eine SQL-Abfrage, um die Daten wie in der Beispieltabelle abzufragen.
  8. Schreibe folgende SQL-Abfrage:
    1. Zeige die Namen der Orte und die Namen der zugehörigen Flughäfen an.
    2. Zeige die Hotels, ihre Kategorie und ihre Orte an, sortiere sie absteigend nach der Kategorie.
    3. Zeige für alle Hotels ihre Namen und die zugehörigen Flughäfen an. Berechne in einer weiteren Spalte die Gesamtreisezeit.
dbs/db04.1337096825.txt.gz · Zuletzt geändert: 15.05.2012 15:47 von Stefan Gaum

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki