Das Hierarchische Datenmodell

Werbung
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
Kapitel 4: Historische DB-Modelle
Relationales
Datenmodell
(RDM)
Netzwerk- und
Hierarchisches
Datenmodell
(NDM, HDM)
Objektorientierte
Datenmodelle
(OODM)
Objektrelationale
Datenmodelle
5.1
5.1
6.1
6.1
5.2
5.2 ODMG
ODMG
6.2,
6.2,6.3
6.3
Überblick über
die Konzepte
Darstellung von
Assoziationen
Datendefinition
3.1
3.1
Anfragen
4.1
4.1
4.2
4.2
Aktualisierungsoperationen
Spezifika
3.2
3.2 SQL
SQL
Datenbanken und Informationssysteme
Das hierarchische Datenmodell 4.2.1
HDM: Überblick über die Konzepte (1)
Analogie zum HDM: Hierarchische Strukturierungen und Benennungsschemata in
vielen Bereichen (z.B. Organigramme, Klassifikationsschemata, ...)
=→= Ausrichtung des Hierarchischen Datenmodells speziell auf hierarchisch
organisierte Informationsstrukturen
❏ In vielen Aspekten bestehen Ähnlichkeiten zum Netzwerkdatenmodell, aber
„multiple Subsumption“.
Grundstruktur des HDM:
❏ HDM-Bäume: Rekords, die durch Referenzen miteinander verknüpft sind
(hier: nur Baumstrukturen, also hierarchische Strukturen, zulässig)
❏ Eine hierarchische Datenbank besteht aus einer Menge von HDM-Bäumen
(hier: inhomogene Strukturen, s. unten).
Datenbanken und Informationssysteme
4.2 Das hierarchische Datenmodell
Das hierarchische Datenmodell 4.2.2
1
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
HDM: Überblick über die Konzepte (2)
Beispiel: Hierarchische Datenbank FirmenDB
Abteilungen
Mitarbeiter
Produkte
Teile
FirmenDB
Datenbanken und Informationssysteme
Das hierarchische Datenmodell 4.2.3
HDM: Überblick über die Konzepte (2 - Alternative)
Beispiel: Hierarchische Datenbank FirmenDB
Abteilungen
Mitarbeiter
Produkte
Teile
FirmenDB
Datenbanken und Informationssysteme
4.2 Das hierarchische Datenmodell
Das hierarchische Datenmodell 4.2.4
2
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
HDM: Grundstruktur (1)
Rekords:
❏ Durch Referenzen miteinander verbunden (vgl. Strukturierungsprimitive des NDM)
❏ Flache Struktur; keine assoziative Identifikation
Projekt
Projekt ==
record
record
Nr
Nr :integer
:integer
Titel
Titel :char
:char (30)
(30)
Budget
Budget :float
:float
end;
end;
Abteilung
Abteilung ==
record
record
Kurz
Kurz :char
:char (4)
(4)
Name
Name :char
:char (30)
(30)
Oberabt
Oberabt :char
:char (4)
(4)
end;
end;
Projektdurchfuehrung
Projektdurchfuehrung ==
record
record
Nr
Nr :integer
:integer
Kurz
Kurz :char
:char (4)
(4)
end;
end;
❏ Hierarchie in DDL festgelegt, z.B. Abteilung unterhalb von Projekt
Datenbanken und Informationssysteme
Das hierarchische Datenmodell 4.2.5
HDM: Grundstruktur (2)
HDM-Bäume:
❏ Inhomogene Struktur: Auf jeder Ebene treten neue Rekordtypen für die Knoten auf.
❏ Im Rahmen der Schemadefinition wird ein HDM-Baumtyp spezifiziert, von dem alle
Bäume, aus denen sich eine Datenbank zusammensetzt, Ausprägungen darstellen.
❏ Beginnend mit der Wurzel legt der HDM-Baumtyp die Rekordtypen für die Knoten
jeder Ebene fest.
❏ Es ist nicht zulässig, den gleichen Rekordtyp auf mehreren Ebenen zu verwenden
(→ rekursive Beziehungen nicht direkt modellierbar).
❏ Eine Datenbank besteht aus einer benannten Kollektion von Rekords, den
Wurzelelementen der Bäume.
❏ Jeder dieser Rekords besitzt Verweise auf eine oder mehrere Kollektionen von
Rekords (für jeden Nachfolgerknotentyp eine Kollektion), die die Nachfolgerknoten
bilden usw..
❏ Kollektionen sind in der Regel Listen, so daß eine Reihenfolge auf den Elementen
der Kollektion definiert ist.
Datenbanken und Informationssysteme
4.2 Das hierarchische Datenmodell
Das hierarchische Datenmodell 4.2.6
3
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
HDM: Assoziationen (1)
❏ HDM nur für die Modellierung von Assoziationen für binäre 1:1 und 1:NBeziehungen geeignet.
❏ Direkte Unterstützung von binären 1:N-Beziehungen, da in den Baumstrukturen N
Nachfolgerknoten einem Elternknoten zugeordnet werden.
❏ Binäre 1:1-Beziehungen lassen sich durch Beschränkung auf einen
Nachfolgerknoten darstellen.
❏ Schwierigkeiten treten bei der Modellierung von N:M-Beziehungen, von
allgemeinen n-ären Beziehungen und dann auf, wenn ein Knotentyp als
Nachfolgerknoten verschiedener Knotentypen auftritt.
❏ Für die Darstellung einer N-M-Beziehung muß zwischen alternativen
Modellierungsvarianten gewählt werden, die sich aus einer relativen Anordnung der
beteiligten Rekordtypen in der Baumstruktur ergeben.
❏ Anwendungsabhängige Wahl der Modellierungsvariante unter erforderlicher
Kenntnis der bevorzugten Zugriffsarten. (s. 4.2.8)
Datenbanken und Informationssysteme
Das hierarchische Datenmodell 4.2.7
HDM: Assoziationen (2)
Schemadiagramme für drei Modellierungsvarianten einer N:M-Beziehung
zwischen Projekten und Abteilungen:
Schema-Alternative A
Schema-Alternative B
Projekt
Nr Titel
Abteilung
Kurz Name
Budget
Nr Titel
Budget
Projekt
Kurz Name
Abteilung
FirmenDB
FirmenDB
Schema-Alternative C
Projekt
Nr Titel
Budget
Abteilungen
ProjektDB
Datenbanken und Informationssysteme
4.2 Das hierarchische Datenmodell
Abteilung
Kurz Name
Projekte
AbteilungsDB
Das hierarchische Datenmodell 4.2.8
4
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
HDM: Assoziationen (3)
Schemaalternative A (ohne Abteilungshierarchie):
Kollektionen von
Nachfolgerknoten
❏ Abteilung ist Nachfolgerknoten von Projekt
FirmenDB
Projekt
Abteilung
Nr Titel
100 DB Fahrpläne
Budget
300.000
Kurz Name
MFSW Mainframe SW
Kurz Name
UXSW Unix SW
Wurzeln der Bäume
Nr Titel
200 ADAC Kundenstamm
Budget
100.000
Kurz Name
LTSW Leitung SW
!
Kurz Name
UXSW Unix SW
Kurz Name
PERS Personal
Nr Titel
300 Telekom Statistik
Budget
200.000
Kurz Name
MFSW Mainframe SW
Kurz Name
PCSW PC SW
Datenbanken und Informationssysteme
Das hierarchische Datenmodell 4.2.9
HDM: Assoziationen (4)
Schemaalternative A: Fortsetzung
❏ Einfacher Zugriff auf alle Abteilungen, die an einem Projekt arbeiten
❏ Beim Zugriff auf alle Projekte, an denen eine Abteilung arbeitet, muß die gesamte
Baumebene (alle Projekte mit den dazugehörigen Abteilungen) durchsucht werden.
❏ Die Darstellung von N:M-Beziehungen erfordert die Duplizierung von Information,
da jeder Rekord nur höchstens einen Elternknoten besitzen darf (im Beispiel auf der
nächsten Folie kommen die Informationen zu den Abteilungen Unix SW und
Mainframe SW jeweils doppelt in der Datenbank vor, da jede dieser Abteilungen an
zwei Projekten arbeitet).
❏ Problem: Die Abteilung PC Software, die aktuell nicht an einem Projekt arbeitet,
kann nicht in der Datenbank dargestellt werden, obwohl sie in der Realität weiterhin
existiert.
Datenbanken und Informationssysteme
4.2 Das hierarchische Datenmodell
Das hierarchische Datenmodell 4.2.10
5
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
HDM: Assoziationen (5)
Schemaalternative B:
❏ Projekt ist Nachfolgerknoten von Abteilung
FirmenDB
Abteilung
Projekt
Kurz Name
MFSW Mainframe SW
Nr Titel
100 DB Fahrpläne
Budget
300.000
Nr Titel
300 Telekom Statistik
Budget
200.000
Nr Titel
100 DB Fahrpläne
Budget
300.000
Nr Titel
200 ADAC Kundenstamm
Budget
100.000
Kurz Name
LTSW Leitung SW
Nr Titel
100 DB Fahrpläne
Budget
300.000
Kurz Name
PERS Personal
Nr Titel
200 ADAC Kundenstamm
Budget
100.000
Kurz Name
UXSW Unix SW
!
Kurz Name
PCSW PC SW
!
Datenbanken und Informationssysteme
Das hierarchische Datenmodell 4.2.11
HDM: Assoziationen (6)
Probleme bei den Modellierungsalternativen A und B:
❏ Duplizierung von Information in der Datenbank erhöht sowohl den Speicherbedarf
als auch die Gefahr von Inkonsistenzen
❏ Bei Aktualisierungsoperationen ist sicherzustellen, daß mit einem Datenobjekt
zugleich auch alle evtl. existierenden Kopien geändert werden.
❏ Willkürliche Asymmetrie
Datenbanken und Informationssysteme
4.2 Das hierarchische Datenmodell
Das hierarchische Datenmodell 4.2.12
6
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
HDM: Assoziationen (7)
Schemaalternative C (Konzept des Virtuellen Rekords):
❏ Ziel: Umgehung der Probleme der Informationsduplizierung und der Asymmetrie bei
der Darstellung von Beziehungen.
❏ Mehr als ein hierarchisches Schema für eine Datenbank wird unterstützt: d.h., daß
der gleiche Datenbestand scheinbar gleichzeitig gemäß verschiedener HDMBaumtypen organisiert wird (s. nächste Folie: Baumtypen ProjektDB und
AbteilungsDB in den Modellierungsvarianten A und B innerhalb der
Modellierungsvariante C).
❏ Zusätzliche Indirektion:
• Anstatt einen Rekord r zu duplizieren wird ein virtueller Rekord eingeführt, der
einen Verweis auf den Rekord r enthält.
• Der tatsächliche Rekord tritt nur einmal in einem Baum auf. An den anderen
Stellen werden nur die virtuellen Rekords verwendet, von denen auch mehrere
auf dasselbe Datenobjekt verweisen können.
• Jeder virtuelle Rekord kommt wiederum nur einmal in der Datenbank vor.
Datenbanken und Informationssysteme
Das hierarchische Datenmodell 4.2.13
HDM: Assoziationen (8)
Zustand der Firmendatenbank (HDM-Modellierungsvariante C):
ProjektDB
Virtuelle Rekords
AbteilungsDB
Kurz
Name
MFSW Mainframe SW
W
Nr Titel
100 DB Fahrpläne
Budget
300.000
Nr Titel
200 ADAC Kundenstamm
Budget
100.000
Nr Titel
300 Telekom Statistik
Budget
200.000
Kurz
Name
UXSW Unix SW
Kurz
Name
PCSW PC SW
Kurz
Name
LTSW Leitung SW
Kurz
Name
PERS Personal
Datenbanken und Informationssysteme
4.2 Das hierarchische Datenmodell
Das hierarchische Datenmodell 4.2.14
7
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
HDM: Datendefinition (1)
Beispiel: Ausbildungsdatenbank
KURS
KURS#
TITEL
BESCHRBG
ANGEBOT
VORAUS
KURS#
TITEL
DATUM
ORT
FORMAT
STUDENT
LEHRER
MITARB#
NAME
MITARB#
Datenbanken und Informationssysteme
NAME
GRAD
Das hierarchische Datenmodell 4.2.15
HDM: Datendefinition (2)
Datenbankbeschreibung
(DBD) der Ausbildungsdatenbank (AUSBPDB):
❏ Hier: "Konzeptuelle
DDL" für IBM's Information Management
System (IMS)
❏ Vgl. C.J. Date. An Introduction to Database
Systems. 3. Auflage.
Addison-Wesley,
Reading, Massachusetts,
1981.
11 DBD
DBD
NAME=AUSBPDBD
NAME=AUSBPDBD
22
33
44
55
NAME=KURS,BYTES=256
NAME=KURS,BYTES=256
NAME=(KURS#,SEQ),BYTES=3,START=1
NAME=(KURS#,SEQ),BYTES=3,START=1
NAME=TITEL,BYTES=33,START=4
NAME=TITEL,BYTES=33,START=4
NAME=BESCHRBG,BYTES=220,START=37
NAME=BESCHRBG,BYTES=220,START=37
SEGM
SEGM
FIELD
FIELD
FIELD
FIELD
FILED
FILED
66 SEGM
SEGM NAME=VORAUS,PARENT=KURS,BYTES=36
NAME=VORAUS,PARENT=KURS,BYTES=36
77 FIELD
FIELD NAME=(KURS#,SEQ),BYTES=3,START=1
NAME=(KURS#,SEQ),BYTES=3,START=1
88 FIELD
NAME=TITEL,BYTES=33,START=4
FIELD NAME=TITEL,BYTES=33,START=4
99 SEGM
SEGM
10
10 FIELD
FIELD
11
11 FIELD
FIELD
12
FIELD
12 FIELD
13
13 SEGM
SEGM NAME=LEHRER,PARENT=ANGEBOT,BYTES=24
NAME=LEHRER,PARENT=ANGEBOT,BYTES=24
14
14 FIELD
FIELD NAME=(MITARB#,SEQ),BYTES=6,START=1
NAME=(MITARB#,SEQ),BYTES=6,START=1
15
15 FIELD
FIELD NAME=NAME,BYTES=18,START=7
NAME=NAME,BYTES=18,START=7
16
16 SEGM
SEGM
17
17 FIELD
FIELD
18
18 FIELD
FIELD
19
19 FIELD
FIELD
Datenbanken und Informationssysteme
4.2 Das hierarchische Datenmodell
NAME=ANGEBOT,PARENT=KURS,BYTES=20
NAME=ANGEBOT,PARENT=KURS,BYTES=20
NAME=(DATE,SEQ,M),BYTES=6,START=1
NAME=(DATE,SEQ,M),BYTES=6,START=1
NAME=ORT,BYTES=12,START=7
NAME=ORT,BYTES=12,START=7
NAME=FORMAT,BYTES=2,START=19
NAME=FORMAT,BYTES=2,START=19
NAME=STUDENT,PARENT=ANGEBOT,BYTES=25
NAME=STUDENT,PARENT=ANGEBOT,BYTES=25
NAME=(MITARB#,SEQ),BYTES=6,START=1
NAME=(MITARB#,SEQ),BYTES=6,START=1
NAME=NAME,BYTES=18,START=7
NAME=NAME,BYTES=18,START=7
NAME=GRAD,BYTES=1,START=25
NAME=GRAD,BYTES=1,START=25
Das hierarchische Datenmodell 4.2.16
8
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
HDM: Anfragen
❏ Die Formulierung von Anfragen geschieht im HDM satzorientiert und prozedural wie
im NDM.
❏ Die Operationen werden in einer Gastsprache eingebettet.
❏ Die Kommunikation zwischen der Datenbank und einer Applikation findet ebenfalls
wie im Netzwerkdatenmodell über eine UWA (User Work Area) statt.
❏ Die NDM-Operationen find und get sind in der get-Funktion im HDM
zusammengefaßt.
❏ Operationen zum Durchsuchen von Teilbäumen werden unterstützt.
❏ Suchoperationen können Prädikate als Parameter enthalten, die den Suchraum
einschränken.
❏ Navigation immer von der Wurzel aus abwärts
Datenbanken und Informationssysteme
Das hierarchische Datenmodell 4.2.17
HDM: Aktualisierungsoperationen
❏ Operationen zum Einfügen, Löschen und Modifizieren der Datenbank
❏ Neue Bäume werden durch Einfügen eines neuen Rekords des Wurzelknotentyps
erzeugt.
❏ Beim Einfügen eines neuen Rekords in eine Hierarchie wird dessen Position durch
Umsetzen der entsprechenden Aktualitätszeiger festgelegt.
❏ Das Löschen und Modifizieren von Elementen der Datenbank geschieht in zwei
Schritten:
1. Lokalisierung des betreffenden Rekords: Benutzung einer Variante der o.g.
get-Operation
2. Ausführung der Lösch- oder Modifikationsoperation auf dem aufgefundenen
Rekord: Gelöscht wird dabei der gesamte Teilbaum, dessen Wurzel dieses
Rekord ist. Die Modifikation von Attributwerten geschieht wie beim NDM im
Kommunikationsrekord durch eine geeignete Zuweisungsoperation der
Gastsprache und nachfolgendes Einbringen der Änderung in die Datenbank.
Datenbanken und Informationssysteme
4.2 Das hierarchische Datenmodell
Das hierarchische Datenmodell 4.2.18
9
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
HDM: Bewertung
❏ Das HDM übernimmt alle Nachteile des NDM
❏ Zusätzliche Probleme bei der Modellierung von Zusammenhängen, die von einer
streng hierarchischen Ordnung abweichen
❏ Sehr effizient bei eindeutig hierarchischer Problemstellung
Datenbanken und Informationssysteme
4.2 Das hierarchische Datenmodell
Das hierarchische Datenmodell 4.2.19
10
Herunterladen