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

Databases and Information Systems

dbis
Uni Göttingen

Datenbankpraktikum SQL
Sommer 2014

Veranstalter:
Prof. Dr. Wolfgang May
Daniel Schubert

Die Teilnehmerzahl ist voraussichtlich beschränkt und daher eine Voranmeldung erforderlich.
Kontakt und Anmeldung: per e-mail an
db-betr@informatik.uni-goettingen.de.

Termin

  • vorauss. Mittwoch 14ct - 17 Uhr in SR 2.101 (nicht jede Woche, Terminplan siehe unten - erster Termin am 24.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
MSc Angewandte Informatik: 6 ECTS, nur mit Studienplan/Votum des Mentors anrechenbar
BSc Wirtschaftsinformatik: 6 ECTS
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:

  • Mi, 23.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 9.5.

  • 30.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 23.5.
Teil 2: Dies + Das
  • 7.5. - 3. Versuch: Updates, Schemaänderungen, Referentielle Integrität; Mehrbenutzerbetrieb.
    Schemaänderungen, Referentielle Integrität, View Updates; Zugriffskontrolle, Rechtevergabe.
    Besprechung bis 6.6.
  • 14.5. kein Kurstermin
Teil 3: Prozedurale Konzepte, Objektrelationale Features, Anbindung an Programmiersprachen
  • 21.5. - 4. Versuch: PL/SQL, Prozeduren, Funktionen, Trigger.
    PL/SQL, Prozeduren, Funktionen, Trigger.
    Besprechung bis 20.6.
  • 28.5 kein Kurstermin
  • 4.6. - 5. Versuch: Objektrelationale Features in Oracle9i.
    Objektorientierte Features: Objekte, Objektmethoden: Funktionen und Prozeduren, Objekt-Views.
    Besprechung bis 4.7.
  • 11.6. Uni-Sporttag/Dies academicus
  • Anmeldung in FlexNever: Anmeldefrist bis 18.7., Abmeldefrist bis 18.7.
  • 18.6. - 6. Versuch: Einbettung in Java.
    JDBC, SQLJ: Datenbankzugriff mit Java.
    Besprechung bis 18.7.
  • 9.7. (verschoben vom 2.7. wegen verschobenem Uni-Sporttag) - 7. 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.7., optional.
  • Anmeldung in FlexNever: Anmeldefrist bis 18.7., Abmeldefrist bis 18.7.
  • Vorlesungsende: 25.7.2014

Dokumente

Einführung in SQL

  • 23.4.: SQL-Anfragen
  • 30.4.: Schemaerzeugung, Views, Einfügen, Löschen und Ändern von Daten, DATE-Datentyp, Oracle-8-Objekttypen: komplexe Attributtypen und geschachtelte Tabellen.
  • 7.5.: Schemaänderungen, Referentielle Integrität und View Updates; Zugriffskontrolle, Zugriffsrechte, Optimierung.
  • 21.5.: PL/SQL: Prozeduren, Funktionen, Trigger.
  • 4.6.: Objekt-Relationale Features.
  • 18.6.: Embedded SQL, JDBC.
  • 3.7.: zu SQLX gibt es kein Skript.

Folien

  • 23.4.: Einführung
  • 23.4.: Abbildung des ER-Modells auf das relationale Modell
  • 23.4.: SQL-Anfragen
  • 30.4.: Schemaerzeugung, Views, Einfügen, Löschen und Ändern von Daten, DATE-Datentyp, Oracle-8-Objekttypen: komplexe Attributtypen und geschachtelte Tabellen.
  • 7.5.: Schemaänderungen, Referentielle Integrität und View Updates; Zugriffskontrolle, Zugriffsrechte, Optimierung.
  • 21.5.: PL/SQL: Prozeduren, Funktionen, Trigger.
  • 4.6.: Objekt-relationale Features.
  • 18.6.: Embedded SQL, JDBC, SQLJ.
  • optional: 3.7.: XML und SQLX.

Beispielprogramme (siehe Folien)

Aufgaben

Links

Software

  • Das Datenbanksystem Oracle und zugehörige Client-Software kann auf verschiedenen Betriebssystemen installiert werden.
  • Oracle Instant Client: SQL*Plus und JDBC.
  • 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 (oracle.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.