Institute for Informatics
Georg-August-Universität Göttingen

Databases and Information Systems

dbis
Uni Göttingen

Datenbankpraktikum SQL
Sommer 2010

Veranstalter:
Prof. Dr. Wolfgang May
Daniel Schubert

Termin

  • Mittwoch 14:00 - 17:00 Uhr c.t. in SR 2.101 (nicht jede Woche, Terminplan siehe unten - erster Termin voraussichtlich am 7.4.).

Zulassungsvoraussetzung:

  • Informatiker: Bestehen der Klausur "Datenbanken" sowie des "Allgemeinen Programmierpraktikums".
  • Nebenfach-Studierende: Äquivalente Grundkenntnisse in Datenbanken, Grundkenntnisse in Programmierung.

Anrechenbarkeit:
BSc Angewandte Informatik, PO 2006: 6 ECTS
BSc Angewandte Informatik, PO 2000: ggf. Übergangsregelung (wg. 9/6CP)
MSc Angewandte Informatik: 6 ECTS, nur mit Studienplan/Votum des Mentors anrechenbar
BSc Wirtschaftsinformatik: 6 ECTS
Dipl. Wirtschaftsinformatik (alt): 4 WiInf-KP
BSc/MSc alle anderen (soweit ich weiss - klären Sie das mit Ihrem Studiendekan/Studienberatung): 6 ECTS

Aufbau des SQL-Praktikums:

In dem Praktikum wird SQL in aufeinander aufbauenden Unterrichtseinheiten vermittelt und angewendet. Das Praktikum wird gruppenweise von jeweils 4 Studenten durchgeführt.

Das Praktikum besteht aus 8 "Versuchen". Zu jedem Versuch werden in einer Vorlesungseinheit die entsprechenden SQL-Konzepte vorgestellt und ein Aufgabenblatt ausgegeben. Die Lösungen werden dann gemeinsam mit einem Tutor besprochen. Weitere Termine kann jede Gruppe separat mit ihrem Tutor vereinbaren.
Hinweise zu den Formalitäten des Praktikums finden Sie hier.

Themen: ER-Modellierung, Schemaerzeugung, Anfragen, Views, Updates, Referentielle Integrität, Komplexe Attribute und Nested Tables, Trigger, PL/SQL, Objekt-relationale Erweiterungen, Indexing, Zugriffskontrolle, Embedded SQL, JDBC/SQLJ (Einbindung in Java), SQLX/XML.

Es wird die Geo-Datenbasis "Mondial" unter Oracle eingesetzt.

SQL-Anfragen an Mondial unter Oracle können hier gestellt werden.

Das Oracle-Web-Interface iSQL*Plus finden Sie hier.

Zeitplan

Teil 1: Basics

Die Vorlesungs-Termine sind fett gedruckt und finden wie folgt statt:

  • 7.4. 14 Uhr c.t., SR2.101 IfI:
    Dieser Termin ist für alle Teilnehmer am Praktikum verbindlich (u.a. Account-Vergabe, Gruppeneinteilung).
    0. Versuch: Einführung
    Einführung in das UNIX/Oracle-System, Vorstellung der MONDIAL-Datenbasis und ihres ER-Modells,

    1. Versuch: Einfache Anfragen.
    Umsetzung in das relationale Modell, ORACLE Data Dictionary, SQL-Anfragebefehle.
    Aufgaben: Anfragen an die MONDIAL-Datenbasis.
    Besprechung bis 7.5.

  • 14.4. - 2. Versuch: Erstellen und Unterhalten einer Datenbank.
    SQL-Befehle zur Schemaerzeugung, Views, Einfügen, Löschen und Verändern von Daten, DATE-Datentyp, Objekttypen: komplexe Attributtypen (Geschachtelte Tabellen: ignore).
    Aufgaben: Ergänzungen zum Datenbankschema, Datentypen.
    Besprechung bis 14.5.
  • 21.4. kein Kurstermin
  • 28.4. kein Kurstermin
Teil 2: Dies + Das
  • 5.5. - 3. Versuch: Updates, Schemaänderungen, Referentielle Integrität.
    Schemaänderungen, Referentielle Integrität, View Updates.
    Besprechung bis 4.6.
  • 5.5. - 4. Versuch: Mehrbenutzerbetrieb.
    Zugriffskontrolle, Rechtevergabe, Optimierung, Indizes.
    Besprechung bis 4.6.
Teil 3: Prozedurale Konzepte, Objektrelationale Features, Anbindung an Programmiersprachen
  • 12.5. - 5. Versuch: PL/SQL, Prozeduren, Funktionen, Trigger.
    PL/SQL, Prozeduren, Funktionen, Trigger.
    Besprechung bis 18.6.
  • 19.5. kein Kurstermin
  • 26.5. kein Kurstermin
  • 2.6. [Termin entfällt wegen Unisportttag, Bearbeitung der Aufgaben ist optional]- 6. Versuch: Objektrelationale Features in Oracle9i.
    Objektorientierte Features: Objekte, Objektmethoden: Funktionen und Prozeduren, Objekt-Views.
    Besprechung optional zusammen mit Versuch 5 oder 7.
  • 9.6. kein Kurstermin
  • 16.6. - 7. Versuch: Einbettung in Java.
    JDBC, SQLJ: Datenbankzugriff mit Java.
    Besprechung bis 16.7.
  • 30.6. - 8. Versuch: SQL und XML (freiwillig).
    SQLX: SQL und XML-Datentypen
    (in dem Kurs wird eine kurze Einführung in XML gegeben, und gezeigt, wie XML-Daten mit relationalen Daten kombiniert und innerhalb von SQL verarbeitet werden können).
    Besprechung bis 24.7., optional.
  • Vorlesungsende: 9.7.2010

Dokumente

Links

Software

  • Das Datenbanksystem Oracle und zugehörige Client-Software kann auf verschiedenen Betriebssystemen installiert werden.
  • Oracle Instant Client: SQL*Plus und JDBC.
  • TOra (Toolkit for Oracle) ist eine freie Oracle-Entwicklungsumgebung (benötigt den Oracle Instant Client).
    TOra im CIP-Pool:
       tora  
    aufrufen (liegt in /usr/bin/tora).
    Name/Password eingeben, database: DBIS auswählen.
    Im oberen Fenster kann man dann eine Anfrage eingeben, und in den Reitern des unteren auswaehlen was man haben will - Klick auf den linken grünen Pfeil startet dann die Auswertung.
    Mit "Execution Plan" kann man sich ansehen, welche Strategie Oracle auswählt (um die Ausgabe verstehen zu können, muss man sich aber tiefer damit auseinandersetzen).
  • SQL Developer im CIP-Pool:
       /afs/informatik.uni-goettingen.de/group/dbis/public/sqldeveloper/sqldeveloper.sh  
    aufrufen (oder in den Pfad legen).
    Wenn Nachfragen wegen "migrate ..." oder so kommen: yes und ok.
    Im linken Fenster erscheint "Connections". Maus drauf, rechte Maustaste, "New Connections".
    Jetzt kann man entweder mit den Voreinstellungen spielen (s4.informatik.uni-goettingen.de, Port: 1521, sid: dbis), einen (beliebigen) connection name setzen, username und passwd eingeben.
    Oder -einfacher- auf TNS klicken, Pull-down Menu "Network Alias" öffnen, "DBIS" benutzen; (beliebigen) connection name setzen, username und passwd eingeben.

Literatur

  • Klassiker zu SQL-2:
    • Lehrbuch zu SQL (In Deutsch):
      Matthiessen, Günter; Unterstein, Michael: Relationale Datenbanken und SQL: Konzepte der Entwicklung und Anwendung. Addison-Wesley, 2003.
    • Das Buch zum SQL-92 Standard:
      H. Darwen and C. Date: SQL - Der Standard. Addison-Wesley, 1998.
  • Zu Oracle:
    • U. Hohenstein, V. Pleßer: Oracle 9i: Effiziente Anwendungsentwicklung mit objektrelationalen Konzepten. dpunkt-Verlag, 2002.
  • JDBC:
    • S. White, M. Fisher, R. Cattell, G. Hamilton, M. Hapner: JDBC API Tutorial and Reference: Universal Data Access for the Java 2 Platform. Addison-Wesley, 1999.