Datenbankpraktikum SQL Sommer 2020
Veranstalter:
Prof. Dr. Wolfgang May,
Lars Runge, M.Sc.,
Sebastian Schrage, 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 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.
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.
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) Zeitplan
Optionales Test-Online-Meeting
- Montag, 20.4. 14ct-16 Uhr: Inoffizielles
online-Test-Meeting (auf Englisch, es nutzt den Zeitslot der Vorlesung
"Semistructured Data and XML") mit dem BBB-Tool (einloggen via StudIP
SQL-Praktikum->Meetings->reingehen),
bei dem das DBIS-Team anwesend ist und Fragen beantworten kann.
Teil 1: Basics
-
Mi, 22.4. 14 Uhr c.t., Online in BBB, einloggen via StudIP.
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 "dbis" gehen. Dort machen wir
dann auch die Gruppeneinteilung und die Passwortvergabe.
-
Für jede Gruppe gibt es in StudIP unter Meetings einen Raum
Diese sind nicht irgendwie privat. Man kann sich also dort auch mit
anderen Teilnehmern des SQL-P treffen. Sie können aber mit
Meet auch eigene Räume
einrichten.
-
Für jede Gruppe ist im RocketChat ein Channel sqlp-gruppen
eingerichtet (privat, nur die Gruppenteilnehmer jnd 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 8.5.
-
29.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 22.5.
Teil 2: Dies + Das
-
6.5. - 3. Versuch: Updates, Schemaänderungen, Referentielle Integrität; Mehrbenutzerbetrieb.
Schemaänderungen, Referentielle Integrität, View Updates;
Zugriffskontrolle, Rechtevergabe.
Besprechung bis 5.6.
- 13.5. kein Kurstermin
- 20.5. kein Kurstermin
- (21.5. Chr. Himmelfahrt)
Teil 3: Prozedurale Konzepte, Objektrelationale
Features, Anbindung an Programmiersprachen
-
27.5. - 4. Versuch: PL/SQL, Prozeduren, Funktionen, Trigger.
PL/SQL, Prozeduren, Funktionen, Trigger.
Besprechung bis 19.6.
-
10.6. - 5. Versuch: Objektorientierung in Oracle
Objektrelationale und Objektrelationale Features in SQL, Objekt-Views.
Besprechung bis 3.7.
- 17.6. kein Kurstermin
-
24.6. - 6. Versuch: Einbettung in Java.
JDBC, SQLJ: Datenbankzugriff mit Java.
Besprechung bis 17.7.
- 3.7. kein Kurstermin
-
Anmeldung in FlexNow bis ???
SQL und XML (freiwillig).
-
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).
Besprechung optional.
- Vorlesungsende: 17.7.2020
Dokumente
Einführung in SQL
- 22.4.: SQL-Anfragen
- 29.4.: Schemaerzeugung, Views,
Einfügen, Löschen und Ändern von Daten,
DATE-Datentyp, Oracle-8-Objekttypen:
komplexe Attributtypen und geschachtelte Tabellen.
- 6.5.: Schemaänderungen,
Referentielle Integrität und View Updates;
Zugriffskontrolle, Zugriffsrechte, Optimierung.
- 27.5.: PL/SQL: Prozeduren, Funktionen,
Trigger.
- 10.6.: Objekt-Relationale
Features.
- 24.6.: Embedded SQL, JDBC.
- 8.7.: zu SQLX gibt es kein Skript.
Folien
- 22.4.: Einführung
- 22.4.: Abbildung des ER-Modells
auf das relationale Modell
- 22.4.: SQL-Anfragen
- 29.4.: Schemaerzeugung,
Views, Einfügen, Löschen und Ändern von Daten,
DATE-Datentyp, Oracle-8-Objekttypen:
komplexe Attributtypen und geschachtelte Tabellen.
- 6.5.: Schemaänderungen,
Referentielle Integrität und View Updates;
Zugriffskontrolle, Zugriffsrechte, Optimierung.
- 27.5.: PL/SQL: Prozeduren,
Funktionen, Trigger.
- 27.5.: Non-deterministic
functions in constrains.
- 10.6.: Objekt-relationale Features.
- 24.6.: Embedded SQL, JDBC, SQLJ.
- optional: 4.7.: XML und SQLX.
Beispielprogramme (siehe Folien)
Aufgaben
Links
Software
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.
|