Datenbanksysteme (WiSem 2017/2018, 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.

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 5210
  • Donnerstag 14:15 – 15:45, MZH 5210

Übung:

  • Mittwoch 16:15 – 17:45 Uhr, MZH 5210
  • Ab der 2. Vorlesungswoche! (25.10.2017)
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:

Scheinerwerb durch mündliche Prüfung:
  • Mögliche Fragen und Fragenbereiche Datenbanksysteme (txt-file)
  • Kern des DBS-Prüfungsstoffes (zip-file)
  • Entweder 8 ECTS oder 6 ECTS
  • Für Prüfungen über 6 ECTS entfallen die Fragen zum relationalen Datenbankentwurf
  • Dauer bei beiden Möglichkeiten ca. 20min
  • Prüfungstermine sind im Stud.IP Wiki zu finden. Dort erfolgt auch die Eintragung.
Scheinerwerb durch Hausarbeit:
  • Abgabe Hausarbeit
    • Spätester Termin: 28.02.2018
    • Es soll in der Hausarbeit markiert sein, welches Gruppenmitglied welchen Teil bearbeitet hat
    • Komplette Hausarbeit als PDF per Mail an Andreas Kästner (Falls USE benutzt wurde, zusätzlich alle .use, .soil, .clt und .olt Dateien)
    • UND gedruckte Version der Hausarbeit in das Fach 33 in der Ebene 6 MZH (keine losen Blätter, z.B. in einer Mappe oder gebunden)
  • 8 ECTS
  • Bearbeitung standardmäßig in 3er Gruppen
  • Pro Person mind. ca. 12 – 16 Seiten
  • (Informelle) Präsentation von Zwischenergebnissen im Tutorium
  • Thema 'Datenbankentwurf'
  • Beispiele aus vergangenen Semestern (Throw It Away, TauDBsi, Onlineshop)
    Beachtet dass die Aufgabenstellung von Semester zu Semester variieren kann.
  • Befolgung der folgenden Strukturvorgaben
    1. Informelle Beschreibung einer Anwendungssituation; Abstimmung mit den Betreuern

    2. Konzeptioneller Entwurf als UML Klassendiagramm oder 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
      • Mindestens eine funktionale Beziehung (0..1 zu *), eine beliebige Beziehung (* zu *) und eine Vererbungs-Beziehung
      • Verbale Erläuterung der Klassen/Entitytypen, Attribute, Beziehungen und Multiplizitätsangaben, gegebenenfalls auch der Vererbungsbeziehungen
      • USE Tool Download, 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 SQL oder TK)
      • Überlegungen zur Konsistenz und Vollständigkeit der Gesamtheit der Integritätsbedingungen
    4. Systemzustände vom Modell instanzieren

      • Einen Zustand der alle Invarianten und inhärenten 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 (Stark zusammengefasste Hilfestellung)
      • 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 RA

      • Standardabfragen beantworten im Gegensatz zu Sichten immer eine konkrete Frage
      • Die SQL und RA Anfragen können jeweils die gleichen oder auch verschiedene Fragen beantworten. Auf jeden Fall sollen aber mindestens 3 RA Anfragen formuliert werden.
Material zum Tutorium: Allgemeines Material: Material zur Hausarbeit:

Home|People|Teaching|Publications
Last change: 08.02.2018 by Andreas Kästner