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