Uni Göttingen
Institute for Informatics
Databases and Information Systems

dbis

Datenbankpraktikum SQL
Sommer 2008

Die Scheine (soweit nicht schon in den letzten Testaten ausgegeben) können ab 28.7. bei Frau Jachinke (IFI, 1.OG, Raum 01.122) abgeholt werden (Sprechzeit ca. 9:30 bis 12:30, Freitags bis 11).

Prof. Dr. Wolfgang May
Assistants: Oliver Fritzen, Franz Schenk

Termin:

  • Freitag 10:00 - 13:00 Uhr c.t. in Raum MN67 (nicht jede Woche, Terminplan siehe unten - erster Termin am 18.4).
  • Freitag 14-16 Uhr je nach Bedarf und Kapazität betreute Rechnerzeit im CIP-Pool

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
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

Aufgrund der Auszeichnung an DBIS durch die Studierenden-Fachgruppe "Informatik" im Kriterium "Lehre-LOM: Beste Betreuung" ist die Finanzierung diesmal frühzeitig und unkompliziert gesichert. Von den Mitteln (2000E) werden die Tutoren finanziert.

Hinweis: Die Teilnehmerzahl ist möglicherweise begrenzt. Voranmeldung erforderlich.
Kontakt und Anmeldung: per e-mail an
db-betr@informatik.uni-goettingen.de
Es sind noch Plätze frei, die nach Reihenfolge der Anmeldung vergeben werden!

Tutoren: Maria Klapproth, Roland Groh, Xin Xing

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. Nach jeder Vorlesungseinheit stehen Betreuer im Pool zur Verfügung. 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 Oracle9i eingesetzt.

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

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

Zeitplan

Teil 1: Basics

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

  • 18.04. (Freitag), 10 Uhr c.t., MN 67 IfI: Vorbesprechung/Anmeldung.
    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.
  • 18.04. - 1. Versuch: Einfache Anfragen.
    Umsetzung in das relationale Modell, ORACLE Data Dictionary, SQL-Anfragebefehle.
    Aufgaben: Anfragen an die MONDIAL-Datenbasis.
    Besprechung bis 9.05.
  • 18.04., 14:00 Uhr - 16:00 Uhr: Betreutes Tutorium im CIP-Pool der Informatik
  • 25.04. - 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 und Geschachtelte Tabellen.
    Aufgaben: Ergänzungen zum Datenbankschema, Datentypen.
    Besprechung bis 16.05.
Teil 2: Dies + Das
  • 09.05. - 3. Versuch: Updates, Schemaänderungen, Referentielle Integrität.
    Schemaänderungen, Referentielle Integrität, View Updates.
    Besprechung bis 30.05.
    09.05. - 4. Versuch: Mehrbenutzerbetrieb.
    Zugriffskontrolle, Rechtevergabe, Optimierung, Indizes.
    Besprechung bis 06.06.
Teil 3: Prozedurale Konzepte, Objektrelationale Features, Anbindung an Programmiersprachen
  • 30.05. - 5. Versuch: PL/SQL, Prozeduren, Funktionen, Trigger.
    PL/SQL, Prozeduren, Funktionen, Trigger.
    Besprechung bis 20.06.
  • 6.06. - 6. Versuch: Objektrelationale Features in Oracle9i.
    Objektorientierte Features: Objekte, Objektmethoden: Funktionen und Prozeduren, Objekt-Views.
    Besprechung bis 04.07.
  • 20.06. - 7. Versuch: Einbettung in Java.
    JDBC, SQLJ: Datenbankzugriff mit Java.
    Besprechung bis 18.07.
  • Das Praktikum ist allgemein unbenotet. Wer eine Note für das Praktikum benötigt -> bitte per Mail melden.
  • 18.07. - 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 25.07., optional.
  • Vorlesungsende: 18.07.2006

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.