Was sind Datenbanken ? Welche Funktion haben sie ? (Zeus)
Bedingungen die ein Datenbank erfüllen muss (Codd'sche Regeln)?

Welche Arten von Datenbanken gibt es? (DAVID)
(Relationale-, hierarchische- und Netzwerk- Datenbanken)

Was ist ein Datenmodell? (Dreischichtenarchitektur) (Florian)

Entity-Relationship-Modell (ER-Modell) (Chriarian)

Datenbanksprache (SQL) (MARC)
---------------------------------------------------------------
-Normalisierung (5 Stufen)

Rationale Datenbanken:

- Zugriff mengenbasiert
     - Keine explizite Navigation (in der Theorie)
     - Verknüpfen von Tabellen
     - Schnitt und Vereinigung
    - Join (Kreuzprodukt)
   - Auswahl von Reihen über Selektion
   - Auswahl von Spalten über Projektion
   - Viele Möglichkeiten zur Anfrageoptimierung
  - Konsistenzprüfung durch die Datenbank
Probleme:
    Tabellenfelder haben feste Maximalgröße
            z. B. Foto des Studenten soll elektronisch in der Datenbank archiviert werden
    Sehr aufwendige Modellierung bei komplexen, hierarchischen Objekten
            z. B. Student hat mehrere Adressen oder Telefonnummern
            z. B. Studiengang von mehreren Fakultäten gleichzeitig
   Aufwendige Simulation von Polymorphie
            z. B. Person, davon abgeleitet Student, Mitarbeiter, Professor
   Dies führt zu:
        - Explosion der Tabellenanzahl
        - Komplexe Abfragen
        - Geschwindigkeitsprobleme
        - Sonderbehandlung von variablen, großen Objekten (BLOBs)
        - Insellösungen und Speziatricks der Datenbankimplementierer



Hierarchische Datenbanken:
    Bekanntestes System: IMS/VS (Seit 1968, von IBM)
    Inzwischen stark optimiertes, stabiles System
    Komplexes Datenmodell
    Kryptischer Zugriff
    mehrere Tausend Seiten Systemliteratur
    Datenbank hat Baumstruktur
    Navigation geschieht explizit
    Pro logischer Datenbank eine Wurzel
   Alle Records hängen direkt oder indirekt von den Wurzeln ab


[ http://www.ulm.ccc.de/~schabi/datenbanken/hierarchisch.gif ]

   Datenein- und Ausgabe über spezielle Variablen
   Navigation mittels expliziter Kommandos:
   Gehe zu erstem Kind vom Typ Adresse
   Gehe zu nächstem Kind
   Suche Kind mit Strasse = "Meyerhofstr. 1"




Netzwerk Datenbanken:

     CODASYL-Normierungsbemühungen Ende 60er Jahre
     Aktuelle Implementierungen basieren auf 1978er Vorschlag
Produkte:
     DMS/100 (UNIVAC)
     IDMS (Cullinet Software)
     DBMS (DEC)
     UDS (Siemens, in Deutschland sehr erfolgreich)
     Basis-Struktur: Verkettete Listen von Records

Zugriff ebenfalls über Kommunikationsvariablen
     Navigation explizit
     für jeden Record-Typen "current"-Pointer
     n:n-Verknüpfungen mittels Kett-Records
     Einschreibung im Beispiel erfüllt solche Funktion