Datenbanksysteme (WiSem 2016/2017, VAK 03-BB-703.01, 6 SWS / 8 ECTS)
Überblick:

In der Vorlesung Datenbanksysteme werden zunächst kurz die historische Entwicklung, die Aufgaben und die Architektur von Datenbanksystemen skizziert. Hieran anschliessend werden unterschiedliche Datenmodelle, insbesondere das Entity-Relationship-Modell, das Relationen-Modell und ein objektorientiertes Datenmodell, diskutiert. Ein weiterer Abschnitt über Relationale Datenbank-Sprachen beschreibt nach einer einführenden Klassifikation dieser Sprachen die Relationen-Algebra und zwei Relationen-Kalküle als Grundlage für deskriptive Anfragesprachen. Konkrete kalkülbasierte Sprachen wie SQL, QUEL und QBE werden vorgestellt. Der anschliessende Stoff über Programmierschnittstellen stellt die in diesem Zusammenhang wichtigsten Konzepte zum relationalen Datenmodell vor. Im folgenden Teil über Datenintegrität und Datenschutz werden nach einer Begriffsklärung insbesondere Integritätsregeln in Datenbanksprachen eingeführt. Zum Abschluss der Vorlesung werden zentrale Begriffe und Verfahren aus dem relationalen Datenbankentwurf diskutiert.

The course Database Systems shortly sketches the historical development, the tasks, and the architecture of database systems. Following this, different data models, in particular the Entity-Relationship Model, the Relational Model and an Object-Oriented Data Model, are discussed. The next section on Relational Database Languages described after an introductory classification of such languages the Relational Algebra and two Relational Calculi serving as foundations for descriptive database languages. Concrete calculus-based languages like SQL, QUEL, and QBE are introduced. The following subject on Programming Interfaces discusses the most important featuress of the Relational Model needed in this context. After having discussed the basic relevant notions, in the next part on Data Integrity and Security, integrity rules in database lanuguages are introduced. In the last part of the course, central notions and algorithms from Relational Database Design are discussed.

Hinweise:

Mögliche Fragen zu Datenbanksystemen in den mündlichen Prüfungen (txt-file)
Für Prüfungen über 6 CP entfallen die Fragen zum relationalen Datenbankentwurf.

Vorlesung im Stud.IP:

Bitte meldet euch im Stud.IP zur Vorlesung an. Alle Ankündigungen werden über Stud.IP versandt.
Please register with the lecture on Stud.IP. All announcements will be made via Stud.IP.
Kurs: Datenbanksysteme auf Stud.IP

Termine:

Vorlesung:

  • Donnerstag 10:15 – 11:45, MZH 1090
  • Donnerstag 14:15 – 15:45, MZH 1090

Übung:

  • Mittwoch 16:15 – 17:45 Uhr, MZH 5210
  • Ab der 2. Vorlesungswoche! (26.10.2016)
Literatur:
  • A. Heuer, G. Saake, K.-U. Sattler: Datenbanken - Konzepte und Sprachen, 3., aktualisierte und erweiterte Auflage. Mitp-Verlag, Bonn. 2007.
  • R. Elmasri, S. B. Navathe: Grundlagen von Datenbanksystemen, 3. überarbeitete Auflage. Addison-Wesley, Pearson Studium, München. 2002.
Material zur Vorlesung:

Folien und ergänzendes Material:

  • Vorstellung der Veranstaltung (pdf-file)
  • Entwicklung und Aufgaben von DBS (pdf-file) – Beispiele und Ergänzungen (pdf-file)
  • Datenmodelle (pdf-file) – Beispiele und Ergänzungen (pdf-file)
  • Überblicksbeispiel zu ER-UML (pdf-file)
  • Bibliotheksdatenbank mit UML-Klassendiagramm und DB-Zustand als UML-Objektdiagramm (Folien Dokumentation, USE-File use-file, CMD-File zur Erzeugung des Zustandes cmd-file)
  • Relationale DB-Sprachen (pdf-file) – Beispiele und Ergänzungen (pdf-file)
  • SQL - kompakte Darstellung anhand von Beispielen in PostgreSQL (file)
  • Relationaler Datenbank-Entwurf (pdf-file)
  • Relationaler Datenbankentwurf mit dem Werkzeug DatabaseNormalizer (pdf-file)
  • Crash Course RA, DC, TC, SQL with three easy examples (pdf-file)
  • Weiteres Material wird hier im Laufe der Veranstaltung zur Verfügung gestellt.
Scheinerwerb durch Hausarbeit:

Die Hausarbeit ist spätestens bis zum 02. März abzugeben.
Legt bitte eine gedruckte, gebundene Version in mein (Frank Hilken) oder Martins Fach und schickt mir ebenfalls ein Zip Archiv per Mail mit der Hausarbeit als PDF sowie den Quellen für eure Modelle und Skripte. Achtet darauf, dass in der Hausarbeit markiert ist, wer welche Teile erarbeitet hat.

Richtlinien fü:r Hausarbeiten:

  • Bearbeitung in 3er Gruppen
  • Pro Person ca. 12 – 16 Seiten
  • (Informelle) Präsentation von Zwischenergebnissen im Tutorium
  • Thema 'Datenbankentwurf'
  • Befolgung der folgenden Strukturvorgaben
    1. Informelle Beschreibung einer Anwendungssituation; Abstimmung mit den Betreuern

    2. Konzeptioneller Entwurf als UML Klassendiagramm und ER-Schema
      (Alternative Modellierungsmöglichkeiten diskutieren; ungefähr 10–15 Klassen/Entitytypen)

      • Grundsätzlich: Sinnhafte, aber dennoch möglichst kurze, und sprechbare Bezeichner für alle Modellelemente wählen; also z.B. für Entitytypen (z.B. PERSON, COMPANY, FLUG, MITARBEITER), Attribute (z.B. Salary, Gehalt, Preis), Beziehungen (z.B. WorksFor, Job, Employment, Marriage, Fatherhood, Authorship, Mutterschaft, Ehe, Arbeitsverhätnis, Arbeitsverhaeltnis), Bezeichner entweder einheitlich Deutsch oder einheitlich Englisch, Bezeichner in der Regel ohne Unterstrich
      • Verbale Erläuterung der Klassen/Entitytypen, Attribute, Beziehungen und Multiplizitätsangaben, gegebenenfalls auch der Vererbungsbeziehungen
      • Quick Tour zum USE Tool im Wiki und ein ausfürlicheres Manual als PDF
    3. Integritätsbedingungen

      • Informelle Definition und Erläuterung
      • Formale Definition (mit OCL und RA oder TK)
      • Überlegungen zur Konsistenz, Vollständigkeit und Unabhängigkeit der Gesamtheit der Integritätsbedingungen
    4. Systemzustände vom Modell instanzieren (mit USE-Tool)

      • Einen Zustand der alle Invarianten und Modelleigenen Bedingungen (Multiplizitäten) erfüllt
      • Ungewollte Zustände, welche die Wirksamkeit der Invarianten und Multiplizitäten zeigen
    5. Realisierung als Relationales DB-Schema

      • Anwendung des Standardverfahrens
      • Besonderheiten der Schema-Übersetzung
      • Übersetzung der Integritätsbedingungen
      • Vermeidung von Redundanz und Anomalien
    6. Sichten

      • Übersicht/Zusammenfassung von bestehenden Daten
    7. Standardanfragen mit SQL und einer anderen formalen Sprache (z.B. in OCL, RA, TK, oder BK)

      • Standardabfragen beantworten im Gegensatz zu Sichten immer eine konkrete Frage
  • Beispiele aus Vergangenen Semestern (pdf-1, pdf-2, pdf-3, pdf-4, pdf-5)
    Beachtet das die Aufgabenstellung von Semester zu Semester variieren kann.
  • Artikel Beispiel aus Tutorium als USE File mit Datenbankstruktur als Kommentar

Semesterbegleitende Abgaben zur Hausarbeiten:


Home|People|Teaching|Publications
Last change: 02.01.2017 by Frank Hilken