NDM - STS

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 Netzwerkdatenmodell 4.1.1
NDM: Überblick über die Konzepte
❏ Eine Netzwerkdatenbank besteht aus einer Menge von Rekords, die durch
Verweise (Zeiger) miteinander verbunden sind.
❏ Die Rekords sind mit den Tupeln des relationalen Datenmodells vergleichbar. Als
Attributwerte sind jedoch auch strukturierte Werte und Wiederholgruppen zur
Darstellung mengenwertiger Attribute möglich.
❏ Die Rekords sind in sogenannten DBTG-Mengen organisiert. Eine DBTG-Menge
enthält ein ausgezeichnetes Element, das als Eigner (owner) der Menge bezeichnet
wird, und beliebig viele Mitglieder (member).
❏ Die Definition eines DBTG-Mengentyps legt einen Rekordtyp A für den Eigner der
Menge und einen Rekordtyp B für die Mitglieder der DBTG-Menge fest.
❏ In allen DBTG-Mengen, die den gleichen DBTG-Mengentyp besitzen, kann ein
Rekord nur maximal einmal vorkommen. Ein Rekord kann jedoch in DBTG-Mengen
verschiedenen Typs vertreten sein.
❏ DBTG-Mengen werden sowohl zur Darstellung von Objektmengen als auch zur
Assoziation von Datenobjekten benutzt.
Datenbanken und Informationssysteme
4.1 Das Netzwerkdatenmodell
Das Netzwerkdatenmodell 4.1.2
1
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
NDM: DBTG-Mengen (1)
Zustand der Projektdatenbank:
FirmenDB / System
Projekte
Nr Titel
100 DB Fahrpläne
Budget
300.000
ProjAbt
AbtProj
Abteilungen
Kurz Name
MFSW Mainframe SW
Kurz Name
UXSW Unix SW
Nr Titel
Budget
200 ADAC Kundenst. 100.000
Kurz Name
PCSW PC SW
Nr Titel
Budget
300 Telekom Statistik 200.000
Kurz Name
LTSW Leitung SW
Projekt
Projektdurchführung
Kurz Name
PERS Personal
Datenbanken und Informationssysteme
Abteilung
Das Netzwerkdatenmodell 4.1.3
NDM: DBTG-Mengen (2)
Eine DBTG-Menge besteht aus einem Verweis auf den Eigner der DBTG-Menge und
einer Kollektion, die eine beliebige Anzahl von Verweisen auf Mitglieder enthält.
DBTG-Mengen unterscheiden sich von mathematischen Mengen in folgenden Punkten:
❏ Eine DBTG-Menge ist nicht homogen, sie enthält Elemente von zwei verschiedenen
Typen.
❏ Es gibt ein ausgezeichnetes Element, den Eigner der DBTG-Menge.
❏ Die Mitglieder einer DBTG-Menge sind geordnet.
Spezielle DBTG-Mengen (system owned sets) haben als Eigner das System (DBMS
Software):
❏ Es gibt jeweils nur eine Ausprägung dieser Mengen.
❏ Sie ermöglichen die Angabe einer Sortierreihenfolge.
❏ Sie dienen als Einstiegspunkt für Anfrageoperationen.
Datenbanken und Informationssysteme
4.1 Das Netzwerkdatenmodell
Beispiel:
Beispiel:
Projekte
Projekte
Abteilungen
Abteilungen
Das Netzwerkdatenmodell 4.1.4
2
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
NDM: DBTG-Mengen (3)
Es gelten folgende Einschränkungen:
❏ Ein Rekord kann innerhalb einer DBTG-Menge nur einmal als Mitglied oder Eigner
auftreten. Derselbe Rekord kann jedoch in verschiedenen DBTG-Mengen des
gleichen Mengentyps vertreten sein, und zwar sowohl als Eigner als auch als
Mitglied.
❏ Ein Rekordtyp kann nicht zugleich Eigner- und Mitgliedstyp derselben DBTGMenge sein. Dies erschwert die Definition rekursiver Beziehungen.
→DBTG-Mengen
→DBTG-Mengenkönnen
könnendurch
durchihren
ihrenEigner
Eignerund
undauch
auchdurch
durcheines
eines
ihrer
ihrerMitglieder
Mitgliederidentifiziert
identifiziertwerden.
werden. Rekursive
Rekursiveund
undN:M
N:MBeziehungen
Beziehungen
erfordern
erforderndie
dieEinführung
Einführungspezieller
speziellerVerbindungsrekords
Verbindungsrekords. .
Datenbanken und Informationssysteme
Das Netzwerkdatenmodell 4.1.5
NDM: Assoziationen (1)
Assoziationen zwischen Datenobjekten werden durch die Definition von geeigneten
DBTG-Mengen modelliert:
❏ 1:N-Beziehungen (insbesondere binäre) werden durch die Zuordnung einer Menge
von Rekords zu einem einzelnen Rekord (dem Eigner), wie dies in DBTG-Mengen
geschieht, optimal unterstützt.
❏ Binäre 1:1-Beziehungen lassen sich durch DBTG-Mengen modellieren, die neben
dem Eigner jeweils ein Mitglied besitzen.
❏ N:M-Beziehungen werden durch Einführung von
Verbindungsrekords dargestellt.
Beispiel:
Beispiel:
Projektdurchfuehrung
Projektdurchfuehrung
→Die
→DieDarstellung
Darstellungvon
von1:1
1:1und
undN:M-Beziehungen
N:M-Beziehungenentspricht
entsprichtweitgehend
weitgehend
der
derdes
desODMG-Objektmodells,
ODMG-Objektmodells,mit
mitdem
demUnterschied,
Unterschied,daß
daßdie
dieDefinition
Definition
einer
einerBeziehung
Beziehungim
imobjektorientierten
objektorientiertenAnsatz
Ansatzals
alsTeil
Teildes
desTyps
Typseines
eines
Objektes
Objektesgeschieht.
geschieht.
Datenbanken und Informationssysteme
4.1 Das Netzwerkdatenmodell
Das Netzwerkdatenmodell 4.1.6
3
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
NDM: Assoziationen (2)
Vgl. Darstellung einer N:M-Beziehung mit Verbindungsrekords im NDM und einer
relationalen Tabelle im RDM:
Nr. Kurz
100 MFSW
FirmenDB / System
Projekte
Nr Titel
100 DB Fahrpläne
Budget
300.000
ProjAbt
AbtProj
Nr. Kurz
100 UXSW
Abteilungen
Kurz Name
MFSW Mainframe SW
Nr. Kurz
100 LTSW
Kurz Name
UXSW Unix SW
Nr Titel
Budget
200 ADAC Kundenst. 100.000
Nr. Kurz
200 UXSW
Kurz Name
PCSW PC SW
Nr Titel
Budget
300 Telekom Statistik 200.000
Nr. Kurz
200 PERS
Kurz Name
LTSW Leitung SW
Projekt
Projektdurchführung
Nr. Kurz
300 MFSW
Kurz Name
PERS Personal
Projektdurchführung
Abteilung
NDM
RDM
Datenbanken und Informationssysteme
Das Netzwerkdatenmodell 4.1.7
NDM: Datendefinition (1)
❏ Die Notation der Datendefinitionssprache orientiert sich an der
Datendefinitionssprache des netzwerkmodellbasierten Datenbanksystems IDMS,
das auf dem DBTG-Vorschlag beruht.
❏ Ein wichtige Rolle spielen die Optionen, die bei der Definition von Rekord- und
DBTG-Mengentypen angegeben werden können. Sie umfassen
• Sortierordnungen,
• Eindeutigkeitsbedingungen,
• Optionen für das Vorgehen beim
Einfügen und Löschen,
order
order is
is sorted,
sorted, ascending
ascending
duplicates
duplicates not
not allowed
allowed
optional,
optional, automatic
automatic
• Optionen, die Auswirkungen auf den
Effekt bestimmter Aktualisierungsoperationen haben,
• Optionen, die das Auffinden von
Datenobjekten im Speicher steuern.
Datenbanken und Informationssysteme
4.1 Das Netzwerkdatenmodell
location
location mode
mode
Das Netzwerkdatenmodell 4.1.8
4
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
NDM: Datendefinition (2)
Schemadefinition der Projektdatenbank:
schema
schema name
name is
is ProjektDB
ProjektDB
record
record name
name is
is Projekt.
Projekt.
location
location mode
mode is
is calc
calc using
using Nr
Nr
duplicates
duplicates not
not allowed.
allowed.
02
02 Nr
Nr pic
pic x(5).
x(5).
02
02 titel
titel pic
pic x(30).
x(30).
02
Budget
pic
02 Budget pic 9999999.99.
9999999.99.
record
record name
name is
is Abteilung.
Abteilung.
location
location mode
mode is
is calc
calc using
using Kurz
Kurz
duplicates
duplicates not
not allowed.
allowed.
02
Kurz
pic
x(4).
02 Kurz pic x(4).
02
02 name
name pic
pic x(30).
x(30).
record
record name
name is
is Projektdurchfuehrung.
Projektdurchfuehrung.
set
set name
name is
is Projekte.
Projekte.
order
order is
is sorted.
sorted.
owner
is
system.
owner is system.
member
member is
is Projekt
Projekt mandatory
mandatory
automatic
automatic
ascending
ascending key
key is
is Nr.
Nr.
set
set name
name is
is Abteilungen.
Abteilungen.
order
order is
is sorted.
sorted.
owner
owner is
is system.
system.
member
member is
is Abteilung
Abteilung mandatory
mandatory
automatic
automatic
ascending
ascending key
key is
is Kurz.
Kurz.
set
set name
name is
is ProjAbt.
ProjAbt.
order
order is
is next
next
owner
owner is
is Projekt
Projekt
member
member is
is Projektdurchfuehrung
Projektdurchfuehrung
optional
optional manual
manual
set
set name
name is
is AbtProj.
AbtProj.
order
order is
is next
next
owner
owner is
is Abteilung
Abteilung
member
member is
is Projektdurchfuehrung
Projektdurchfuehrung
optional
optional manual
manual
Datenbanken und Informationssysteme
Das Netzwerkdatenmodell 4.1.9
NDM: Anfragen (1)
Anfragen werden über eine satzorientierte, prozedurale Sprache realisiert. Die
entsprechenden Kommandos sind in eine Gastsprache (host language) eingebettet.
Die Kommunikation zwischen Anwendung und Datenbanksystem geschieht über die
user work area (UWA), auf die beide Zugriff haben. Es enthält die folgenden Strukturen:
❏ Kommunikationsrekords sind zu jedem im Schema definierten Rekordtyp
vorhanden. Über sie werden die Daten zwischen Anwendungsprogramm und
Datenbanksystem bidirektional ausgetauscht.
❏ Aktualitätszeiger verweisen auf ausgezeichnete Rekords, die etwa mit Hilfszeigern
beim Durchlaufen einer Liste vergleichbar sind. Sie dienen der Kennzeichnung der
beim Navigieren erreichten Position, die als Ausgangspunkt für Folgeoperationen
benutzt wird. Aktualitätszeiger existieren für jeden Rekordtyp und zu jedem im
Schema definierten DBTG-Mengentyp. Eine wichtige Rolle bei
Aktualisierungsoperationen spielt der aktuelle Rekord, der zu jedem Zeitpunkt
genau einen Rekord der gesamten Datenbank auszeichnet.
❏ Statusvariablen übermitteln dem Anwendungsprogramm z.B. Informationen über
den Erfolg von Datenbankoperationen.
Datenbanken und Informationssysteme
4.1 Das Netzwerkdatenmodell
Das Netzwerkdatenmodell 4.1.10
5
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
NDM: Anfragen (2)
Programmvariablen: i, j
DB-status
UWA
Projekt
get
Projektdurchfuehrung
get
Abteilung
get
Datenbanken und Informationssysteme
Das Netzwerkdatenmodell 4.1.11
NDM: Anfragen (3)
Eine Anfrage setzt sich konzeptuell aus zwei Schritten zusammen:
❏ Auffinden der Information: Eine oder mehrere find-Operationen dienen dazu,
den Aktualitätszeiger so zu positionieren, daß ein Element des Anfrageergebnisses
zum aktuellen Rekord wird. Zwei Gruppen von find-Operationen stehen zur
Verfügung:
• Suchen innerhalb aller Ausprägungen eines Rekordtyps (find any, find
duplicate)
• Navigieren innerhalb von DBTG-Mengen z.B. für den Zugriff auf den Eigner
(find owner within) oder auf die Mitglieder (find first within)
❏ Kopieren des Inhalts des aktuellen Rekords in das entsprechende
Kommunikationsrekord: Diesem Zweck dient die get-Operation.
Datenbanken und Informationssysteme
4.1 Das Netzwerkdatenmodell
Das Netzwerkdatenmodell 4.1.12
6
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
NDM: Anfragen (4)
Beispiel einer Anfrage:
Ermittlung der Titel aller Projekte, an denen die Abteilung Mainframe SW arbeitet.
Abteilung.Name
Abteilung.Name :=
:= 'Mainframe
'Mainframe SW'
SW'
find
find any
any Abteilung
Abteilung using
using Name
Name
find
find first
first Projektdurchfuehrung
Projektdurchfuehrung within
within AbtProj
AbtProj
while
while DB-status
DB-status == 00 do
do
begin
begin
find
find owner
owner within
within ProjAbt
ProjAbt
get
get Projekt
Projekt
print(Projekt.Titel)
print(Projekt.Titel)
find
find next
next Projektdurchfuehrung
Projektdurchfuehrung within
within AbtProj
AbtProj
end;
end;
Datenbanken und Informationssysteme
Das Netzwerkdatenmodell 4.1.13
NDM: Aktualisierungsoperationen (1)
Aktualisierungsoperationen bauen auf Operationen zum Auffinden von Informationen
auf. Man unterschiedet sie in
❏ Operationen auf Rekordebene,
❏ Operationen auf DBTG-Mengen.
Zur Aktualisierung von Datenobjekten (Rekords) gibt es Operationen zum :
❏ Einfügen: Das einzufügende Rekord wird im entsprechenden
Kommunikationsbereich zusammengestellt und durch die store-Operation
eingefügt.
❏ Löschen: Der Rekord wird aufgesucht und zum aktuellen Rekord gemacht. Die
erase-Operation entfernt den Rekord aus der Datenbank.
❏ Modifizieren: Der Rekord wird durch spezielle Suchoperationen (find for
update) aufgesucht und zum aktuellen Rekord gemacht (get). Durch
Zuweisungsoperationen der Gastsprache wird der Rekord modifiziert und
anschließend durch die Operation modify zurückgeschrieben.
Datenbanken und Informationssysteme
4.1 Das Netzwerkdatenmodell
Das Netzwerkdatenmodell 4.1.14
7
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
NDM: Aktualisierungsoperationen (2)
Operationen auf DBTG-Mengen:
❏ Einhängen eines Rekords (connect)
❏ Aushängen eines Rekords (disconnect)
❏ Umhängen eines Rekords (reconnect) in eine DBTG-Menge gleichen Typs
Vor Ausführung dieser Operationen werden die Aktualitätszeiger durch geeignete findOperationen auf die entsprechenden Rekords und DBTG-Mengen positioniert.
Optionen, die bei der Definition von DBTG-Mengen angegeben werden können, spielen
bei diesen Operationen eine wichtige Rolle. Z.B.:
❏ automatic gibt an, daß Rekords des Mitgliedstyps automatisch in eine DBTGMenge des definierten Typs eingehängt werden.
❏ fixed verbietet das Aus- und Umhängen.
❏ mandatory erlaubt nur das Umhängen innerhalb des gleichen DBTGMengentyps.
Datenbanken und Informationssysteme
Das Netzwerkdatenmodell 4.1.15
NDM: Aktualisierungsoperationen (3)
Beispiel:
Abteilung UNIX SW führt das Projekt Telekom Statistik
durch.
store
store Projektdurchfuehrung
Projektdurchfuehrung
abteilung.Name
abteilung.Name :=
:= "Unix
"Unix SW"
SW"
find
find any
any Abteilung
Abteilung using
using Name
Name
connect
connect Projektdurchfuehrung
Projektdurchfuehrung
to
to AbtProj
AbtProj
projekt.Titel
projekt.Titel :=
:= "Telekom
"Telekom
Statistik"
Statistik"
find
find any
any projekt
projekt using
using Titel
Titel
connect
Projektdurchfuehrung
connect Projektdurchfuehrung
to
to ProjAbt
ProjAbt
Programmiersprache
(Cobol)
Code
Programmvariablen
UWA
find,
get
DBTG-Mengen,
Rekords
DBMS
Datenbanken und Informationssysteme
4.1 Das Netzwerkdatenmodell
Das Netzwerkdatenmodell 4.1.16
8
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
NDM: Bewertung
❏ Eingeschränkte Datenmodellierung: Member/Owner Mengen repräsentieren
Aggregation, Assoziation und Klassifikation, nicht aber Generalisierung.
❏ Komplexe Programmiersprachenanbindung
❏ Keine deklarativen Anfragen
❏ Keine mengenwertigen Operationen
❏ Referentielle Integrität, Schlüsselintegrität, Ordnung
Datenbanken und Informationssysteme
4.1 Das Netzwerkdatenmodell
Das Netzwerkdatenmodell 4.1.17
9
Herunterladen