Title: Kapitel 3: Logische Datenmodelle
1Kapitel 3 Logische Datenmodelle
- Hierarchisches Modell
- Netzwerkmodell
- Relationales Modell
- Objektorientiertes Modell
2Hierarchisches Modell
Schema
Ausprägung (S Student, V Vorlesung, D
Dozent)
3Schema im Hierarchischen Modell
4Ausprägung im Hierarchischen Modell
5Operationen im Hierarchischen Modell
Welche Studenten sind im Kurs M23 am 13.08.1973 ?
GU COURSE(COURSE'M23') OFFERING
(DATE'730813') if gefunden then begin GNP
STUDENT while gefunden do begin
write(STUDENT.NAME) GNP STUDENT end end
6Netzwerkmodell
schreibt
7Netzwerk mit MN-Beziehung
8Kettrecords mit Attribut im Netzwerkmodell
Ware
Nr
Bezeichnung
Wb
Bestellung
Anz
Pb
Person
Nr
Name
9Operationen im Netzwerkmodell
Typische Operation Navigation durch die
verzeigerten Entities
FIND ANY Person FIND NEXT Bestellung WITHIN PB
FIND OWNER WITHIN WB
10Operationen im Netzwerkmodell
PERSON.NAME SCHULZ FIND ANY PERSON USING
NAME IF GEFUNDEN THEN BEGIN FIND FIRST
BESTELLUNG WITHIN PB WHILE GEFUNDEN
DO BEGIN FIND OWNER WITHIN WB GET
WARE WRITE(WARE.BEZEICHNUNG) FIND NEXT
BESTELLUNG WITHIN PB END END
11Relationales Datenmodell
- pro Entity-Typ gibt es eine Tabelle mit Spalten
benannt nach den Attributen.
- pro Relationshiptyp gibt es eine Tabelle mit
Spalten für die Schlüssel der beteiligten
Entity-Typen und ggf. weitere Spalten.
12Operationen im Relationalen Modell
- Selektion Suche alle Tupel einer Relation mit
gewissen Attributeigenschaften - Projektion filtere gewisse Spalten heraus
- Verbund Finde Tupel in mehreren Relationen,
die bzgl. gewisser Spalten übereinstimmen. - Query Welche Studenten hören die Vorlesung
Zahlentheorie?
SELECT Student.Nachname from Student, Hoert,
Vorlesung WHERE Student.MatNr
Hoert.MatNr AND Hoert.VorNr Vorlesung.VorNr AND
Vorlesung.Titel 'Zahlentheorie'
13Das Objektorientierte Datenmodell
- Eine Klasse repräsentiert einen Entity-Typ
zusammen mit seinen Beziehungen und mit darauf
erlaubten Operationen. - Attribute müssen nicht atomar sein, sondern
bestehen ggf. aus Tupeln, Listen und Mengen. - Die Struktur einer Klasse kann an eine
Unterklasse vererbt werden. - Binäre Beziehungen können durch mengenwertige
Attribute modelliert werden.
14Beispiel für objektorientierte Modellierung
class Person type tuple (name String,
geb_datum Date, kinder list(Person)) end
class Student inherit Person type tuple
(mat_nr Integer, hoert set
(Vorlesung)) end class Vorlesung type tuple
(titel String, gehoert_von set
(Student)) end