Datenbankpraktikum SQL Sommer 2026
Veranstalter:
Prof. Dr. Wolfgang May
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.
Aufbau des SQL-Praktikums:
In dem Praktikum wird SQL in aufeinander aufbauenden
Unterrichtseinheiten vermittelt und angewendet. Das Praktikum wird
gruppenweise von jeweils 3 oder 4 Studierenden
durchgeführt.
Maximale Teilnehmerzahl: 12.
Das Praktikum besteht aus 6+1 "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
Teil 1: Basics
-
Mi, 15.4., 14 Uhr c.t., Online in BBB über via StudIP -> DBP -> Meetings -> dbp-2026-04-15-erster-termin .
Dieser Termin ist für alle Teilnehmer am Praktikum verbindlich
(u.a. Account-Vergabe, Gruppeneinteilung).
Wir treffen uns in dem BBB-Meetingraum, ausserdem sollen alle
Teilnehmer in den Rocket-Chat-Channel dbp
gehen. Dort machen wir dann auch die Gruppeneinteilung und die Passwortvergabe.
-
Für jede Gruppe wird im Matrix/Element Chat ein Channel
sqlp-gruppen
eingerichtet (privat, nur die
Gruppenteilnehmer und die Betreuer inkl. Gunnar Krull)
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 30.4.
-
22.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 15.5.
Teil 2: Dies + Das
-
(Fr 1.5. Feiertag)
-
27.4.-30.4. Testate Blatt 1
-
6.5. - 3. Versuch: Updates, Schemaänderungen, Referentielle Integrität, Mehrbenutzerbetrieb.
Schemaänderungen, Referentielle Integrität, View Updates;
Zugriffskontrolle, Rechtevergabe.
Aufgaben: Updates an den Daten, Schemaänderungen, Referentielle Integrität; Mehrbenutzerbetrieb.
Besprechung bis 29.5.
-
13.5. 14-16h Optional gemeinsame "hands-on-Übung", online BBB
-
(Do 14.5. Christi Himmelfahrt - Feiertag)
-
11.5.-15.5. Testate Blatt 2
Teil 3: Prozedurale Konzepte, Objektrelationale
Features, Anbindung an Programmiersprachen
-
20.5. - 4. Versuch: PL/SQL, Prozeduren, Funktionen, Trigger.
PL/SQL, Prozeduren, Funktionen, Trigger.
KEIN Live-Meeting, Recording zu Blatt 4 siehe StudIP
Besprechung bis 12.6.
-
27.5. 14-16h Optional gemeinsame "hands-on-Übung", online BBB
-
26.5.--29.5. Testate Blatt 3
-
(Mi 3.6. Dies Academicus)
-
10.6. - 5. Versuch: Objektorientierung in Oracle
Objektorientierte und Objektrelationale Features in SQL, Objekt-Views.
Besprechung bis 26.6.
-
10.6. 14-16h Optional gemeinsame "hands-on-Übung", online BBB
-
10.6.-14.6. Testate Blatt 4
-
17.6. - 6. Versuch: Einbettung in Java.
JDBC, SQLJ: Datenbankzugriff mit Java.
Besprechung bis 10.7.
-
24.6. 14-16h Optional gemeinsame "hands-on-Übung", online BBB
-
22.6.-26.6. Testate Blatt 5
-
Anmeldung in FlexNow ... bis
(optional) SQL und XML
-
8.7. - 7. Versuch: 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).
-
6.7.-10.7. 14-16/17h Testate Blatt 6
- Vorlesungsende: 17.7.2026
Dokumente
Folien
- 1. Termin: Einführung, ER-Modell
- 1. Termin: Abbildung des ER-Modells
auf das relationale Modell
- 1. Termin: SQL-Anfragen
- 2. Termin: Schemaerzeugung,
Views, Einfügen, Löschen und Ändern von Daten,
DATE-Datentyp, benutzerdefinierte Objekttypen:
komplexe Attributtypen und geschachtelte Tabellen.
- 3. Termin: Schemaänderungen,
Referentielle Integrität und View Updates;
Zugriffskontrolle, Zugriffsrechte, Optimierung.
- 4. Termin: PL/SQL: Prozeduren,
Funktionen, Trigger.
- 5. Termin: Objekt-relationale Features.
- 6. Termin: Embedded SQL, JDBC, SQLJ.
- optional: XML und SQLX (aus dem Foliensatz zur Vorlesung Semistructured Data and XML).
Beispielprogramme (siehe Folien)
Videos
Skript: Einführung in SQL
(Das Skript enthält nicht mehr die neuesten Änderungen und Erweiterungen; siehe Folien)
- 1. Termin: SQL-Anfragen
- 2. Termin: Schemaerzeugung, Views,
Einfügen, Löschen und Ändern von Daten,
DATE-Datentyp, Benutzerdefinierte Objekttypen:
komplexe Attributtypen und geschachtelte Tabellen.
- 3. Termin: Schemaänderungen,
Referentielle Integrität und View Updates;
Zugriffskontrolle, Zugriffsrechte, Optimierung.
- 4. Termin: PL/SQL: Prozeduren, Funktionen,
Trigger.
- 5. Termin: Objekt-Relationale
Features.
- 6. Termin: Embedded SQL, JDBC.
- optionaler 7. Termin: zu SQLX gibt es kein Skript.
Aufgaben
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: Command-Line Interface "SQL*Plus" und JDBC.
-
Shell-basierter "Oracle SQL Developer Command Line (SQLcl)" Client (größer
Funktionsumfang als das "alte" SQLplus; gehört auch
zum SQL Developer).
- Grafisches Entwicklungstool "SQL Developer":
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.
|