Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Datenbankpraktikum/Abschlusstest SoSe 2010

Abschlusstest (19.07.2010) - Gedächtnisprotokoll ggf. ziemlich unvollständig; keine Hilfsmittel waren zugelassen

Es war als Tabellen ein Datenbankschema vorgegeben (Mietwagen-System: Tabellen Auto, Reservierung, Kunde, Rechnung, Filiale, ...)

  • DDL
    • Ausdruck zum Erstellen der Tabelle Auto angeben (einschließlich Primärschlüssel, Fremdschlüssel und CHECK-Constraints)
    • Der Tabelle Auto eine Spalte und einen CHECK-Constraint hinzufügen.
  • SQL-Abfrage formulieren
    • Anzahl von irgendwas zurückgeben (irgendwas, wo JOIN, GROUP BY und COUNT benutzt werden musste)
    • Von Kunden, die in einem Zeitraum einen bestimmten Autotyp reserviert hatten, Vor- und Nachnamen durch ein Leerzeichen verbunden innerhalb einer Spalte; keine Duplikate (SELECT DISTINCT, String-Konktatenation, Joins, WHERE-Condition)
  • SQL-Abfrage lesen
    • Eine etwas größere SQL-Abfrage war gegeben. Das Ergebnis sollte in eine Tabelle eingetragen werden und (natürlichsprachlich) beschrieben werden. Sie enthielt verschiedene Joins (u.a. CROSS JOIN und LEFT OUTER JOIN), CASE-Anweisung und GROUP BY mit SUM-Aggregation. Sofern ich es richtig erkannt hatte, hat die Abfrage hat pro Filiale und Autoklasse den Umsatz zusammengerechnet. Der CASE war dazu da die NULLs des Outer-Joins durch "0.0" zu ersetzen, wenn für die entsprechende Kombination kein Umsatz vorlag.
  • Views
    • Wofür können Views verwendet werden?
    • Wie greift man auf Views zu?
  • Trigger (multiple Choice)
  • Indexes (multiple Choice)
  • Transaktionen
    • Es war ein Aktivitätsdiagramm gegeben bei dem dirty-read und non-repeatable-read Phänomene auftauchen konnten. Diese Probleme sollte man finden und beschreiben, wo sie auftreten.