Schichtenmodelle von DB-Systemen, Persistenz, Sekundärspeicherverwaltung, Aufbau und Dienste eines Schemakatalogs, Integritätsbedingungen, Transaktionsverwaltung, Zugriffsrechte, Anfragesprache
Überblick über DB-Modelle
hierarchische und netzwerkartige DB-Modelle, DL1, CODASYL
objektorientierte und objektrelationale DB-Modelle, OQL
Relationales Datenbankmodell und SQL
Tabellenstruktur
relationales DB-Schema: atomare Datentypen, Integritätsbedingungen, Primary und Foreign Key
DDL: Create Table, Alter Table, Drop Table
DML/DQL: Insert, Update, Delete, Select
Mehrtabellenverarbeitung: JOIN
DCL: Commit, Rollback; Grant, Revoke
Programmierschnittstellen für relationale DB
Überblick: ESQL/C, ODBC, JDBC
Vertiefung JDBC: Verbindungsaufbau, Schnittstellen und Klassen des Pakets java.sql, SQL- vs. Java-Datentypen, DML- und DQL-Zugriffe, Metadatenabfrage
Software Engineering für DB- und Informationssysteme (DBIS)
Anforderungsanalyse für DBIS
Architekturdefinition von DBIS mittels Methoden der strukturierten und der objektorientierten Analyse
Spezifikation von Informationsflüssen und Informationsspeichern: Data Dicitionary Notation, Entity Relationship Modelle
Design von DBIS: Allgemeiner Überblick; Normalformen von Relationen (1NF - 3NF), ERD und Normalformen; Umsetzung von ERD-Entwürfen in OODB-Design
XML und RDB-Systeme
Syntax von XML und DTD, Wohlgeformtheit und Validität; DTD für RDB-Tabellen; Export von RDB-Tabellen als XML-Files.
XML-Parsermodelle (DOM und SAX); Parsergesteuerte DML-Operationen auf RDB-Tabellen.
Fertigkeiten
Erstellung von Architekturkonzepten für Datenbanksysteme, Beherrschung von Analyse- und Designmethoden sowie Implementierungstechniken für Datenbankssyteme
Erfahrungen in der Anwendung grundlegender Konzepte der Datenbanktheorie
Datenbankkonzepte einordnen können
des systematischen Designs Datenbanksystemen
Designkonzepte programmiertechnisch umsetzen können
Begleitmaterial
elektronische Vortragsfolien zur Vorlesung
frei verfügbare Softwareentwicklungsumgebungen
elektronische Sammlung von Beispielprogrammen
Links auf relevante Web-Seiten
Literaturempfehlungen
WEB Seite mit Vorlesungskurzskript
Besondere Voraussetzungen
keine
Besondere Literatur
keine
Besonderer Kompetenznachweis
Praktikum
Lernziele
Lerninhalte (Kenntnisse)
Programmierung einer Sekundärspeicherverwaltung mit ISAM-Konzept
Aufbau einer RDB mit einer Vielzahl von Tabellen. Tabellenschemata mit SQL-Datentypen anlegen. Primär- und Foreign Key Impelementierungen. Integritätsbedingungen mit CHECK-Klauseln programmieren. CREATE, ALTER und DROP TABLE
SQL Skripte mit DML und DQL Kommandos
JDBC Klassen zur Verarbeitung von DML und DQL Kommandos
Vollständige Durchführung der Entwicklung eines kleinen DBS: Spezifikation, Design und Implementierung eines RDBMS mit JDBC Programmen
Fertigkeiten
Umgang mit einer RDB/SQL-Entwicklungsumgebung
Fehlersuche und -beseitigung in JDBC-Programmen
Erstellung von datenbankgestützten Algorithmen und Umsetzung in Programme
Handlungskompetenz demonstrieren: Anwendung der unter "Kenntnisse" und "Fertigkeiten" genannten Aspekte auf praxisbezogene Szenarien durch selbstständige Arbeit in kleinem Team.