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

Databases and Information Systems

dbis
Uni Göttingen

Datenbankpraktikum SQL
Sommer 2011

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 am 13.4.).

Zulassungsvoraussetzung:

  • Informatiker: Bestehen der Klausur "Datenbanken" sowie des "Allgemeinen Programmierpraktikums".
  • Nebenfach-Studierende: Bestehen der Klausur "Datenbanken", Grundkenntnisse in Programmierung.
  • Studienortwechsler: äquivalente Kenntnisse (nachzuweisen) in Datenbanken und 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:

  • 13.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 6.5.

  • 20.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 13.5.
  • 27.4. kein Kurstermin
Teil 2: Dies + Das
  • 4.5. - 3. Versuch: Updates, Schemaänderungen, Referentielle Integrität.
    Schemaänderungen, Referentielle Integrität, View Updates.
    Besprechung bis 27.5.
  • 4.5. - 4. Versuch: Mehrbenutzerbetrieb.
    Zugriffskontrolle, Rechtevergabe; Übersicht: Indizes und Optimierung.
    Besprechung bis 27.5.
  • 11.5. kein Kurstermin
Teil 3: Prozedurale Konzepte, Objektrelationale Features, Anbindung an Programmiersprachen
  • 18.5. - 5. Versuch: PL/SQL, Prozeduren, Funktionen, Trigger.
    PL/SQL, Prozeduren, Funktionen, Trigger.
    Besprechung bis 17.6.
  • 25.5. kein Kurstermin (Uni-Sporttag)
  • 1.6. - 6. Versuch: Objektrelationale Features in Oracle9i.
    Objektorientierte Features: Objekte, Objektmethoden: Funktionen und Prozeduren, Objekt-Views.
    Besprechung bis 1.7.
  • 8.6. kein Kurstermin
  • 15.6. - 7. Versuch: Einbettung in Java.
    JDBC, SQLJ: Datenbankzugriff mit Java.
    Besprechung bis 15.7.
  • 29.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: 15.7.2011

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.