Kenntnisse einfacher Protokolle, wie TELNET, FTP, HTTP und zugehöriger Dienste
Grundkenntnisse des Software Engineering
UML: USE-Case-, Klassen- und Aktivitätsdiagramm
Datenbanken
Allgemeine Funktionalität eines DBMS; Relationales Datenmodell; Aufbau einer RDB; SQL; JDBC-Zugriffe auf RDB-Tabellen; Logische Datenanalyse: IFL-Diagramme, Data-Dictionary-Notation der strukturierten Analyse, ERD, DB-Design: Umsetzung ERD in Relationenschemata, 1NF, 2NF, 3NF; XML und DTD.
Exportieren von Tabellen in XML-Dateien; Problem des Exports von Schema-Daten (Metadatenexport); XML-Parser und der Import von XML-Elementen in RDB-Tabellen; Grammatikbeschreibungen von XML-Dokumenten mit DTD und mit XML-Schema; Vergleich von DTD und XML-Schema; Validierendes Parsen mittels XML-Schema.
Objektorientierte und objektrelationale Datenbanken
Anforderungen an ein objektorientiertes Datenbanksystem (OODBS), das OODB Manifesto. Einführung in die Theorie abstrakter Datentypen (ADT). Implementation abstrakter Datentypen durch komplexe persistente Datentypen in einem objektrelationalen DBS (ORDBS) mittels CREATE TYPE und NESTED TABLE und in einem OODBS mittels persistenter Klassen und persistenter Kollektionsdatentypen. OQL als Erweiterung von SQL. Vorteile von OODB und ORDB im DB Design Prozess. OODBS und ORDBS als Aufhebung des Type Mismatch in einer OO-Welt mit RDBS als Persistenzmodell. OODBS und ORDBS als Alternativen zu Hibernate.
NoSQL Datenbanken
Anforderungen an NoSQL Datenbanken (Skalierbarkeit und Erweiterbarkeit, das BigTable Konzept). Beispiele von NoSQL Datenbanken: Cassandra, Neo4J, MongoDB. Key-Value-Konzepte und Anfragesprachen. NoSQL DB und OODB. Das NoSQL DBMS Neo4J und netzwerkartige Datenbanken.
Sekundärspeicherverwaltung von Datenbanksystemen
ISAM Modelle und Algorithmen
Definition von Bayer Bäumen, Algorithmen der Suche auf Bayer Bäumen, Algorithmen des Einfügens und Löschens von Schlüsseln in Bayer Bäumen.
Vergleich des Aufwands von Suchen, Einfügen, Update und Löschen in einer ISAM- und in einer Bayer Baum-Sekundärspeicherverwaltung
Fertigkeiten
Erstellung von Architekturkonzepten für OO-,OR- und NoSQL Datenbanksystemen.
Erfahrungen in der Implementierung von OR- und OO-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
St. Edlich, A. Friedländer, J. Hampe, B. Brauer: "NoSQL - Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken", München (Hanser), 2010.
G. Vossen: "Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme", München, Wien (Oldenbourg), 2008.