Uni Göttingen
Institute for Informatics
Databases and Information Systems

dbis

Datenbankpraktikum SQL
Sommer 2012

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 18.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 (voraussichtlich ...)

Teil 1: Basics

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

  • 18.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 4.5.

  • 25.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 11.5.
Teil 2: Dies + Das
  • 2.5. - 3. Versuch: Updates, Schemaänderungen, Referentielle Integrität.
    Schemaänderungen, Referentielle Integrität, View Updates.
    Besprechung bis 25.5.
  • 2.5. - 4. Versuch: Mehrbenutzerbetrieb.
    Zugriffskontrolle, Rechtevergabe; Übersicht: Indizes und Optimierung.
    Besprechung bis 25.5.
  • 9.5. kein Kurstermin
Teil 3: Prozedurale Konzepte, Objektrelationale Features, Anbindung an Programmiersprachen
  • 16.5. - 5. Versuch: PL/SQL, Prozeduren, Funktionen, Trigger.
    PL/SQL, Prozeduren, Funktionen, Trigger.
    Besprechung bis 15.6.
  • 23.5 kein Kurstermin
  • 30.5. kein Kurstermin (Uni Sporttag/Dies Academicus)
  • 6.6. Versuch: Objektrelationale Features in Oracle9i.
    Objektorientierte Features: Objekte, Objektmethoden: Funktionen und Prozeduren, Objekt-Views.
    Besprechung bis 29.6.
  • 13.6. - 7. Versuch: Einbettung in Java.
    JDBC, SQLJ: Datenbankzugriff mit Java.
    Besprechung bis 13.7.
  • 27.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 20.7., optional.
  • Vorlesungsende: 20.7.2012

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.