Uni Göttingen
Institute for Informatics
Databases and Information Systems

dbis

Datenbankpraktikum SQL
Sommer 2023

Veranstalter:
Prof. Dr. Wolfgang May,
Lars Runge, M.Sc.,

Termin

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: 5 ECTS
MSc Angewandte Informatik: 5 ECTS, nur mit Studienplan/Votum des Mentors anrechenbar
BSc Wirtschaftsinformatik: 5 ECTS
BSc/MSc alle anderen (soweit ich weiss - klären Sie das mit Ihrem Studiendekan/Studienberatung): 5 ECTS

Aufbau des SQL-Praktikums:

In dem Praktikum wird SQL in aufeinander aufbauenden Unterrichtseinheiten vermittelt und angewendet. Das Praktikum wird gruppenweise von jeweils 4 Studierenden durchgeführt.
Maximale Teilnehmerzahl: 12.
Anmeldung per Mail
an may -at- informatik.uni-goettingen.de .

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.

Das bisherige Praktikum wird als online bzw. hybride Lehrveranstaltung durchgeführt.

  • Normalerweise fand mittwochs 14-17 Uhr (nicht jede Woche, siehe unten) eine Kursvorlesung im "Seminarraum" statt, in der die Folien behandelt werden. Diese Sessions sind als Videos verfügbar.
  • Dazu gibt es jeweils ein Übungsblatt mit entsprechenden Aufgaben, gruppenweise hybrid zu bearbeiten.
  • Da an den Kursterminen ja kein "Vortrag" mehr stattfindet, werden diese für betreutes Bearbeiten ("hands-on-Sessions") der Aufgaben genutzt. Sie sollten also die Aufgaben vorher schon mal angeschaut und soweit möglich gelöst haben, und dann können wir bei diesen Sessions weitere Hinweise geben und helfen. Die Idee ist, gemeinsam in einem virtuellen BBB-Raum zu sein, und bei Bedarf (ggf. in Breakout-Rooms) Fragen stellen und Zwischenergebnisse besprechen zu können:
  • Jedes Übungsblatt wird gruppenweise online mit einem der Betreuer testiert (jeweils etwa 14-tägiger Abstand zum vorherigen).

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.

Falls jemand ein eigenes Postgres mit Mondial auf dem eigenen Rechner unter Unix installieren will, gibt es hier eine Beschreibung [falls etwas nicht funktioniert, bitte Mail an mich]

(Voraussichtlicher Virtueller) Zeitplan

Wir haben ein neues Oracle (19c). Falls etwas nicht wie angegeben funktioniert, bitte Mail an uns.

Teil 1: Basics

Links

Software

  • Das Datenbanksystem Oracle und zugehörige Client-Software kann auf verschiedenen Betriebssystemen installiert werden, falls Sie es bei sich zuhause installieren wollen (im CIP-Pool ist es installiert):
  • Oracle Instant Client (und dann auf "Download Now") klicken: SQL*Plus und JDBC.
  • SQL Developer auf dem eigenen Rechner installieren: Download, Konfiguration wie unten für den CIP-Pool beschrieben.
  • SQL Developer im CIP-Pool:
    (man sollte sich nicht von zuhause im CIP-Pool einloggen und dort den Developer starten und per X-forwarding aufs heimische Linux schicken, das ist sehr langsam)
       /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.
    Auf TNS klicken, Pull-down Menu "Network Alias" öffnen, "DBIS" benutzen; (beliebigen) connection name setzen, username und passwd eingeben.
    Wenn man eine andere (z.B. zu einem eigenen Oracle) oder mehrere Verbindungen haben will:
    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.informatik.uni-goettingen.de), einen (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.