Datenbankpraktikum SQL Frühjahr 2005
Das Datenbankpraktikum findet als Blockveranstaltung vom
7.3.2005-8.4.2005 statt. Damit können Studierende, die im WS die
Vorlesung "Datenbanken" hören, direkt im
Anschluss daran am Praktikum teilnehmen.
Das Praktikum wird mit 9 ECTS angerechnet; es kann wahlweise als
"Informatik-Praktikum" im Pflichtblock Informatik, oder im
Wahlpflichtbereich angerechnet werden.
Dipl.-Inf. Erik Behrends,
behrends@informatik.uni-goettingen.de
Tutoren:
Manuel Vogelsänger
Constantin von Samson
Voraussetzung:
- Informatiker: Bestehen der Klausur "Datenbanken" sowie
des "Allgemeinen Programmierpraktikums".
- Nebenfach-Studierende: Äquivalente Grundkenntnisse
in Datenbanken, Grundkenntnisse in Programmierung.
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.
Nach jeder Vorlesungseinheit stehen Betreuer im Pool zur Verfügung.
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 Oracle9i eingesetzt.
SQL-Anfragen an Mondial unter Oracle können hier
gestellt werden.
Das Oracle9i-Web-Interface iSQL*Plus finden Sie hier.
Zeitplan
Die Vorlesungseinheiten finden in Raum MN 67, Institut für
Informatik, statt.
Teil 1: Basics
-
07.03., 10:00 Uhr c.t., MN 67 IfI: Vorbesprechung/Anmeldung.
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
07.03., 14:00 Uhr c.t.- ca.17 Uhr:
Umsetzung in das relationale Modell, ORACLE Data Dictionary,
SQL-Anfragebefehle.
Aufgaben: Anfragen an die MONDIAL-Datenbasis.
Besprechung bis 15.03.
- 07.03., 17:00 Uhr - 19:00 Uhr:
Betreutes Tutorium im CIP-Pool der Informatik
- 08.03., 10:00 Uhr - 12:00 Uhr:
Betreutes Tutorium im CIP-Pool der Informatik
- 08.03., 14:00 Uhr - 16:00 Uhr:
Betreutes Tutorium im CIP-Pool der Informatik
- 09.03., 10:00 Uhr - 12:00 Uhr:
Betreutes Tutorium im CIP-Pool der Informatik
- 2. Versuch: Erstellen und Unterhalten einer Datenbank
09.03., 14:00 Uhr c.t.:
SQL-Befehle zur Schemaerzeugung, Views,
Einfügen, Löschen und Verändern von Daten,
DATE-Datentyp, Objekttypen:
komplexe Attributtypen und Geschachtelte Tabellen.
Aufgaben: Ergänzungen zum Datenbankschema, Datentypen.
Besprechung bis 18.03.
- 09.03., 16:00 Uhr - 18:00 Uhr: Betreutes Tutorium im CIP-Pool
der Informatik
- 10.03., 10:00 Uhr - 12:00 Uhr:
Betreutes Tutorium im CIP-Pool der Informatik
Teil 2: Dies + Das
-
3. Versuch: Updates, Schemaänderungen,
Referentielle Integrität
10.03., 14:00 Uhr c.t.:
Schemaänderungen, Referentielle Integrität, View Updates.
Besprechung bis 22.03.
- 10.03., 16:00 Uhr - 18:00 Uhr: Betreutes Tutorium im CIP-Pool der
Informatik
- 11.03., 10:00 Uhr - 12:00 Uhr:
Betreutes Tutorium im CIP-Pool der Informatik
- 4. Versuch: Mehrbenutzerbetrieb
11.03., 14:00 Uhr c.t.:
Zugriffskontrolle, Rechtevergabe, Optimierung, Indizes.
Besprechung bis 24.03.
- 11.03., 16:00 Uhr - 18:00 Uhr: Betreutes Tutorium im CIP-Pool der
Informatik
- 14.3.-18.3.: Termine für Testate bitte individuell mit
den Tutoren absprechen (vorzugsweise vormittags oder am
späteren Nachmittag außerhalb der "Hauptfragezeiten").
- 14.3.-18.3., 10:00 Uhr - 12:00 Uhr: Testate im CIP-Pool der
Informatik
- 14.3.-16.3., 14:00 Uhr - 16:00 Uhr: Betreute Tutorien im CIP-Pool der
Informatik
- MUNOPAG: Melden Sie sich im MUNOPAG
zur "Prüfung" an
(An- und Abmeldefrist bis 20.3. 24:00 Uhr). Das Praktikum ist
allgemein unbenotet.
Wer im Master-Studium eine Note für
das Praktikum benötigt, soll sich bitte mit
Wolfgang May in Verbindung setzen.
Teil 3: Prozedurale Konzepte, Objektrelationale
Features, Anbindung an Programmiersprachen
- 5. Versuch: PL/SQL, Prozeduren, Funktionen, Trigger.
17.03., 14:00 Uhr c.t.: PL/SQL, Prozeduren, Funktionen, Trigger.
Besprechung bis 01.04.
- 17.03., 16:00 Uhr - 18:00 Uhr: Betreutes Tutorium im CIP-Pool der
Informatik
- 6. Versuch: Objektrelationale Features in Oracle9i.
18.03., 14:00 Uhr c.t.: Objektorientierte Features: Objekte,
Objektmethoden:
Funktionen und Prozeduren, Objekt-Views.
Besprechung bis 01.04.
- 18.03., 16:00 Uhr - 18:00 Uhr: Betreutes Tutorium im CIP-Pool der
Informatik
- 21.3.-24.3. und 29.3.-1.4. Betreute Tutorien im CIP-Pool der
Informatik nach Absprache.
-
Achtung: Die folgenden beiden Termine beginnen schon um 10:00 Uhr!
Raumänderung: Die Vorlesungen finden in Raum MN68 statt!
- 7. Versuch: Einbettung in Java
04.04., 10:00 Uhr c.t.: JDBC, SQLJ: Datenbankzugriff mit Java.
Besprechung bis 08.04.
- 04.04., 14:00 Uhr - 16:00 Uhr: Betreutes Tutorium im CIP-Pool der
Informatik
- 8. Versuch: SQL und XML (freiwillig)
05.04., 10:00 Uhr c.t.: 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 08.04.
- 05.04., 14:00 Uhr - 16:00 Uhr: Betreutes Tutorium im CIP-Pool der
Informatik
- Evaluierungs-Fragebogen
- Praktikumsende: 08.04.2005
Dokumente
- MONDIAL: ER-Diagramm,
Ein
LaTeX-Style zum Erstellen von ER-Diagrammen,
- MONDIAL: Tabellendefinitionen
in SQL,
- MONDIAL: kommentiertes Relationales
Schema,
- MONDIAL: Abhängigkeitsdiagramm,
- Einführung in Oracle.
- Einführung in SQL:
- 07.03.: SQL-Anfragen
- 09.03.: Schemaerzeugung, Views,
Einfügen, Löschen und Ändern von Daten,
DATE-Datentyp, Oracle-8-Objekttypen:
komplexe Attributtypen und geschachtelte Tabellen.
- 10.03.: Schemaänderungen,
Referentielle Integrität und View Updates.
- 11.03.:
Zugriffskontrolle, Zugriffsrechte, Optimierung.
- 17.03.: PL/SQL: Prozeduren, Funktionen,
Trigger.
- 18.03.: Objekt-Relationale
Features.
- 04.04.: Embedded SQL, JDBC.
- 5.04.: zu SQLX gibt es kein Skript.
- Folien
(1-auf-1 um es als a5book auszudrucken, 2-auf-1 für A4)
- Beispielprogramme (siehe Folien)
- Übungsblätter
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).
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.
|