Grundlagen der Datenmodellierung

Werbung
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
Kapitel 2: Grundlagen der Datenmodellierung
Motivation: Wozu Modelle?
Soft- &
Hardware
Projektdurchführung
in einer Firma
Abbildung
?
Firmeninformationssystem
Anwendungswelt
IT-Welt
Stand: 27.10.99
Einführung in Datenbanksysteme
Grundlagen der Datenmodellierung 2.1
Modelle und Abstraktion
Anforderungsdokument
...
...
...
IS-Modell
.
.
.
WorkflowModell
.
.
.
E/RModell
...
Datenbankschema
Modelle:
Abstraktionsmechanismen
• innerhalb des Modells
• bei den Abbildungen zwischen
den Modellen
anwendungsnah
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
...
z.B. im
relationalen
Datenbankmodell
implementationsnah
Grundlagen der Datenmodellierung 2.2
2.1
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
Konkret: Datenbankmodelle
Benutzergruppen und Modalitäten:
IS-Modell
3
1
2
lesend
update
.
.
.
...
4
Externes
Schema
Internes
Schema
5
Firmeninformationssystem
Endbenutzer
1. interaktiver Benutzer
2. parametrischer Benutzer
3. spezialisierter Benutzer
4. Anwendungsprogrammierer
5. Datenbank-Administrator
Einführung in Datenbanksysteme
Grundlagen der Datenmodellierung 2.3
Verwendung von Modellen (1)
"Die Behauptung, daß Computersysteme ein Modell der Welt oder eines
Realitätsausschnitts (slice of reality) darstellen können, scheint im Falle von
Informationssystemen besonders angebracht."
"Damit die Realisierung solcher Systeme erleichtert wird und auch die Kommunikation
mit ihren späteren Benutzern, sollte dieses Modell die Konzeptbildung des Benutzers im
Anwendungsbereich (universe of discourse) in möglichst direkter und natürlicher Weise
widerspiegeln."
Anwendungsgebiete:
o Analyse von Geschäftsvorgängen
o Informationssysteme: Entwurf, Dokumentation, Analyse (Õ Reverse Engineering)
Nutzer:
o Menschen: Benutzer, Programmierer, ...
o Systeme: Generatoren, Repositories, Programmiersprachen, ...
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
Grundlagen der Datenmodellierung 2.4
2.2
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
Verwendung von Modellen (2)
Modelle liefern wichtige Metainformationen über Informationssysteme:
o Speicherung über die Zeit:
• Systementwurf 1996
• Systemnutzung 1996 ... 2040
o Kommunikation zwischen Personen und Systemen:
• Anwender, Systementwickler, Datenbanksystem, ...
Entscheidend:
Das richtige Modell für die richtige Person zum richtigen Zeitpunkt.
Einführung in Datenbanksysteme
Grundlagen der Datenmodellierung 2.5
Beispiel: ER-Diagramm für das Firmen-IS
Kurz
Name
1
Abteilung
1
ist Oberabteilung
von
Nr
n
führt
aus
Projekt
1
m
n
arbeitet
in
Titel
Budget
arbeitet
an
n
n
Name
Mitarbeiter
U
Gehalt
Festangestellte
Einstelldatum
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
U
d
Beginn
Werksstudenten
Dauer
Vergütung
Grundlagen der Datenmodellierung 2.6
2.3
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
Datenbankmodellierungskonzepte: Überblick
Modell = Strukturierungskonzepte + Operationsbezogene Konzepte
S1: Konzepte zur Repräsentation "atomarer" Information
Werte
Objekte
Klassifikation & Instantiierung
S:
Strukturierungskonzepte
Aggregation & Dekomposition
S2: Datenabstraktionskonzepte
zur Informationsstrukturierung
Generalisierung & Spezialisierung
Assoziation & Identifikation
Identifikation & Schlüssel
S3: Strukturierungsorthogonalität
O1: Persistenzabstraktion
O: Operationsbezogene Konzepte
O2: Datenunabhängigkeit durch
Schemaarchitekturen
Einführung in Datenbanksysteme
Grundlagen der Datenmodellierung 2.7
Exkurs: Verhältnis zw. Daten und Information
Wissen
Information
Abstraktion/
Interpretation
Beachte:
• Strukturierungskonzepte
• verfügbare Operationen
Inferenz
...
Datentypen
Datenmodelle
Speicherung
Programmierung
strukturierte
Daten
...
Volltext
Vektorgrafik
PhonemSequenzen
Kommunikation
Konversation
Repräsentation
...
Bilder
Ton
Video
...
Rohdaten
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
Grundlagen der Datenmodellierung 2.8
2.4
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
S1: Repräsentation "atomarer" Information (1)
Werte (Literale):
o Semantikunabhängig vom Datenbankzustand
o Es wird unterschieden in
• Basiswerte (z.B. Zahlen, Zeichen, Zeichenketten)
• 3.1415; ´Z´;
"Otto"
• Zusammengesetzte Werte: heterogene Strukturen (Tupel, Rekords, Strukturen)
und homogene Strukturen (Arrays, Listen, Mengen, Multimengen)
• {1,2,3,4};
record age = 31 name = "Peter" end
o Operationen auf Werten haben Kopiersemantik (z.B. Addition, Feldzugriff)
• menge + {1,2,3}
o Verlustfreie Darstellung als lineare textuelle Repräsentation
Einführung in Datenbanksysteme
Grundlagen der Datenmodellierung 2.9
S1: Repräsentation "atomarer" Information (2)
Objekte:
o Semantikabhängig vom Datenbankzustand (Õ Zustandsvariablen in imperativen
Programmiersprachen)
o Der Zustand kann durch destruktive Zuweisung verändert werden.
peter.name := "Peter Meier"
o Objektidentität (object identity, OID) bleibt unabhängig vom Zustand erhalten
o Objekte können mehrfach über die OID referenziert werden (sharing)
peter
hilfskräfte
...
27
"Peter Meier"
...
o Änderungen des Objektzustands werden unmittelbar auf allen Pfaden sichtbar, z.B.
die Änderung des Studentennamen (Õ Referenzsemantik)
o Spezielle Notation zur textuellen Repräsentation der (zyklischen) Graphenstruktur
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
Grundlagen der Datenmodellierung 2.10
2.5
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
S2: Datenabstraktionskonzepte z. Informationsstrukturierung
In fast allen Datenbankmodellen findet man Konstrukte für die folgenden
Abstraktionskonzepte:
o Klassifikation und Instantiierung
o Aggregation und Dekomposition
o Generalisierung und Spezialisierung
o Assoziation und Identifikation
o Identifikation und Schlüssel
In späteren Kapiteln werden diese Konstrukte beschrieben. Nachfolgend werden die
Abstraktionskonzepte anhand einer populären grafischen Notation erklärt.
Entity-Relationship-Diagramme wurden von P.P.S. Chen vorgeschlagen
(vgl. P.P.S. Chen. "The Entity Relationship Model - Toward a Unified View of Data.
In: ACM Transactions on Database Systems, Vol. 1, No. 1, März 1976, S. 9 ff.)
und mehrfach erweitert (Õ extended E/R diagram, EE/R Modell).
Einführung in Datenbanksysteme
Grundlagen der Datenmodellierung 2.11
Grundlegende Elemente von ER-Diagrammen
o Objekttyp
o Werttyp
o Beziehungstyp
o Die Elemente von ER-Diagrammen bilden einen bipartiten Graphen:
und
o Verbindungen zwischen Symbolen der gleichen Typen sind nicht erlaubt.
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
Grundlagen der Datenmodellierung 2.12
2.6
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
Klassifikation und Instantiierung (1)
o Objekte mit ähnlichen Eigenschaften können zu Klassen zusammengefaßt werden.
o Jedes Objekt ist die Instanz einer Klasse.
o Strukturelle Klassifizierung
o Dynamische Extension
Einführung in Datenbanksysteme
Grundlagen der Datenmodellierung 2.13
Klassifikation und Instantiierung (2)
Beispiel:
o Unterschiedliche Projekte werden zur Klasse "Projekt" zusammengefaßt.
Projekt
DBFahrpläne
Nr
Name
Budget
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
ADAC
Kunden
Telekom
Statistik
Nr
Name
Budget
Nr
Name
Budget
Grundlagen der Datenmodellierung 2.14
2.7
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
Aggregation und Dekomposition (1)
o Eine Instanz umfaßt (aggregiert) meist mehrere Eigenschaften (Attribute).
o Ein Attribut besteht aus einem Attributnamen und einem Attributwert.
o Durch Dekomposition kann über den Attributnamen auf den Attributwert zugegriffen
werden (Õ Selektion von Rekord-Komponenten in Programmiersprachen).
o In Programmiersprachen werden Tupel oder Rekords benutzt, um die Attribute
einer Instanz zu aggregieren.
o Objekte können zu übergeordneten Objekten aggregiert werden:
• Beziehungen zwischen Komponenten und übergeordnetem Objekt
• Übergeordnetes Objekt kann wiederum an Beziehungen teilnehmen.
Einführung in Datenbanksysteme
Grundlagen der Datenmodellierung 2.15
Aggregation und Dekomposition (2)
Beispiele:
o Ein Projekt wird beschrieben durch
• eine Nummer
• einen Titel
• das Budget
Nr
Projekt
Titel
Budget
o Eine Stückliste aggregiert die auf der Liste enthaltenen Artikel (im E/R-Modell ist die
"part of"-Beziehung nicht direkt darstellbar).
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
Grundlagen der Datenmodellierung 2.16
2.8
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
Generalisierung und Spezialisierung (1)
o Spezialisierung bezeichnet die Verfeinerung einer Klasse.
o Generalisierung ist die Vergröberung einer Klasse.
o Spezielle Klassen (Subklasse) und allgemeine Klassen (Superklasse) bilden eine
Subklassenhierarchie (Õ Subtypisierung, Typhierarchie).
o Instanzen einer Klasse sind auch Instanzen der Superklasse.
o Spezialisierungen können disjunkt oder überlappend sein.
o Subklassen erben die Eigenschaften der Superklasse und fügen evtl. neue hinzu
(Õ Vererbung).
o Bei Operationen auf Instanzen von Klassen können auch Instanzen von
Subklassen verwendet werden (Õ Subtypisierung).
Einführung in Datenbanksysteme
Grundlagen der Datenmodellierung 2.17
Generalisierung und Spezialisierung (2)
Beispiel:
o Festangestellte und Werksstudenten sind Mitarbeiter.
o Festangestellte haben die zusätzliche Eigenschaften Gehalt und Einstelldatum.
o Werksstudenten haben die zusätzliche Eigenschaften Beginn, Dauer und
Vergütung.
Name
Mitarbeiter
U
Gehalt
Festangestellte
Einstelldatum
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
U
d
Beginn
Werksstudenten
Dauer
Vergütung
Grundlagen der Datenmodellierung 2.18
2.9
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
Assoziation und Identifikation (1)
o Objekte können miteinander in Beziehung gesetzt (assoziiert) werden:
• Binäre Beziehungen assoziieren zwei Klassen oder Objekte.
• Ternäre Beziehungen assoziieren drei Klassen.
• Allgemein: n-äre Beziehungen zwischen n Klassen, wobei n der Grad der
Beziehung ist.
o Kardinalitätsbeschränkungen legen die genaue Zahl oder ein Intervall für die Anzahl
der in Beziehung stehenden Instanzen fest.
n:m
1:n
Einführung in Datenbanksysteme
1:1
Grundlagen der Datenmodellierung 2.19
Assoziation und Identifikation (2)
o Totale Partizipation: Jede Instanz einer Klasse muß mit einer Instanz der zweiten
Klasse in Beziehung stehen.
o Partielle Partizipation: Eine Instanz einer Klasse kann in Beziehung zu einer
Instanz der zweiten Klasse stehen (s. Beispiel auf der nächsten Folie).
o Rollennamen identifizieren die Menge der Instanzen, die mit einer anderen Instanz
in Beziehung stehen.
o Rollen können als abgeleitete Attribute verstanden werden, die die Menge der
Instanzen als Attributwerte besitzen.
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
Grundlagen der Datenmodellierung 2.20
2.10
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
Assoziation und Identifikation (3)
Beispiele:
o Projekte werden von Abteilungen durchgeführt. Jedes Projekt muß einer Abteilung
zugeordnet sein. Eine Abteilung kann mehrere Projekte ausführen.
n
Projekt
führt
durch
1
Abteilung
o An Projekten arbeiten Mitarbeiter. Ein Mitarbeiter kann an mehreren Projekten
arbeiten. Jedes Projekt wird von beliebig vielen Mitarbeitern bearbeitet.
Projekt
m
n
arbeitet
an
Mitarbeiter
o Bemerkung: In der Literatur findet man auch andere Beschriftungsregeln.
Einführung in Datenbanksysteme
Grundlagen der Datenmodellierung 2.21
Identifikation und Schlüssel (1)
Zur Identifikation existieren zwei grundlegende Ansätze in Datenbankmodellen:
o Referentielle Identifikation bezeichnet direkte Verweise auf Objekte
(Õ Zeiger in Programmiersprachen).
o Assoziative Identifikation verwendet die Werte von Attributen oder
Attributkombinationen, um sich eindeutig auf Objekte zu beziehen
(Õ Schlüssel: Ausweisnummer, Fahrgestellnummer, ...).
o In der Praxis benötigt man häufig beide Formen der Identifikation.
Schlüssel:
o Schlüssel sind Attribute oder Attributkombinationen mit innerhalb einer Klasse
eindeutigen Werten und eignen sich deshalb zur Identifikation.
o Es kann mehrere Schlüsselkandidaten geben (Primärschlüssel, Sekundärschlüssel).
o Schlüssel stellen als Attributwerte Beziehungen zu anderen Objekten her
(Fremdschlüssel).
o Durch Fremdschlüssel referenzierte Objekte müssen existieren
(Õ referentielle Integrität).
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
Grundlagen der Datenmodellierung 2.22
2.11
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
Identifikation und Schlüssel (2)
Beispiel: Projekte können durch eine Nummer eindeutig identifiziert werden.
Nr
Titel
n
Projekt
führt
durch
1
Abteilung
Budget
Dabei existieren zwei Möglichkeiten zur Identifikation von Projekten innerhalb der
Assoziation "führt durch":
Referentielle Identifikation
Projekt
...
Assoziative Identifikation
Abteilung
...
Projekt
4711
Abteilung
...
...
4712
...
...
...
4713
....
...
...
Einführung in Datenbanksysteme
Grundlagen der Datenmodellierung 2.23
S3: Strukturierungsorthogonalität
o Wiederholte Anwendung von Abstraktionsmechanismen:
o Beispiel:
Ein Buch wird durch wiederholte Anwendung der Aggregation beschrieben:
Kapitel = Liste von Unterkapiteln
Buch = Liste von Kapiteln
o Datenbankmodelle, die eine uneingeschränkte, wiederholte Anwendung von
Abstraktionsmechanismen gestatten, besitzen Strukturierungsorthogonalität.
o Strukturierungsorthogonalität erhöht die Ausdrucksmächtigkeit von Datenmodellen.
o Gegenbeispiele:
• Keine wiederholte Aggregation im E/R-Modell
• Keine wiederholte Aggregation im relationalen Modell
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
Grundlagen der Datenmodellierung 2.24
2.12
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
O1: Persistenzabstraktion
o Direkte Mechanismen zur Benennung und Manipulation langlebiger Daten ohne
explizite Lade- und Speicherungsoperationen beim Zugriff sind verfügbar.
o Ziel: Algorithmen des Informationssystems arbeiten ohne komplexe Details des
Datentransfers zwischen Primär- und Sekundärspeicher.
o Orthogonale Persistenz: Jede Datenstruktur für transiente Daten
(z.B. sequentielle Dateien, relationale Tabellen) ist auch für persistente Daten
(z.B. Rekords, Vektoren, Listen, Zeiger) verfügbar und umgekehrt.
• Resultat: Der Anwendungsprogrammierer muß keine
Datenstrukturkonvertierungen zwischen persistenter und transienter
Speicherung durchführen.
o Persistenzunabhängigkeit: Zusätzlich zur orthogonalen Persistenz können
Prozeduren, Funktionen und Anfragen uniform auf transiente und persistente
Daten als Argumente angewendet werden.
Einführung in Datenbanksysteme
Grundlagen der Datenmodellierung 2.25
Alternative Definitionen der Datenlebensdauer (1)
1. Persistente Typen:
o Definition der Lebensdauer eines Datums explizit zusammen mit seiner Struktur (Õ
persistente Datenbanktabellen und transiente Ergebnistabellen)
relation of person;
pointer to person;
o Nachteil: Inkompatibel mit dem Konzept der Persistenzunabhängigkeit
2. Persistente Sichtbarkeitsbereiche:
o Ableitung der Definition der Lebensdauer eines Datums implizit aus dem statischen
Kontext, in dem das Datum deklariert wird.
• Transientes Datum: Eine lokal in einer
Anfrage definierte Variable.
select * from Mitarbeiter
into oldPerson
where age > 80
• Persistentes Datum: Eine global in einem
Datenbankschema definierte Variable.
database FirmenDB
relation Mitarbeiter
relation Projekte
...
end
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
Grundlagen der Datenmodellierung 2.26
2.13
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
Alternative Definitionen der Datenlebensdauer (2)
3. Transitive Erreichbarkeit:
o Verfeinerung des Modells der persistenten Sichtbarkeitsbereiche
o Statische persistente Sichtbarkeitsbereiche existieren als Wurzeln der Persistenz
(roots of persistence), z.B. die Datenbankschemata eines Datenbanksystems.
o Außerdem werden dynamische Abhängigkeiten zwischen Daten berücksichtigt, z.B.
hängt die Semantik eines Datums A von der Semantik eines Datums B ab, wenn:
• A besitzt B als Rekordfeld oder Mengenelement.
• A ist ein Zeiger auf B.
• A ist ein Fremdschlüssel auf B.
• A ist eine Subklasse von B.
• A ist eine Funktion oder Anfrage, die B benutzt.
Einführung in Datenbanksysteme
Grundlagen der Datenmodellierung 2.27
Alternative Definitionen der Datenlebensdauer (3)
Roots of Persistence
database
FirmenDB
database
StudDB
aktive Transaktionen
(flüchtige Referenzen)
end
end
Hauptspeicher
Persistenter
Speicher
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
peter
Grundlagen der Datenmodellierung 2.28
2.14
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
Alternative Definitionen der Datenlebensdauer (4)
o Die Persistenz des Datums A impliziert automatisch die Persistenz des Datums B
(Ziel: Sicherstellung der Õ referentiellen Integrität).
o Also gelten die Daten als persistent, die von den Wurzeln der Persistenz aus
transitiv erreichbar sind.
o Nutzen:
• Dynamische Erreichbarmachung einer komplexen, transient erzeugten
Datenstruktur von einer persistenten Datenstruktur aus durch eine einzelne
Zuweisung.
• Vermeidung subtiler Speicherlecks (memory leaks), die aufgrund fehlender
Speicherfreigabeanweisungen nicht mehr erreichbarer persistenter Daten in
Informationssystemen entstehen.
o Generalisierung des Konzepts der automatischen Freispeicherverwaltung
(Õ Garbage Collection).
Einführung in Datenbanksysteme
Grundlagen der Datenmodellierung 2.29
O2: Datenunabhängigkeit durch Schemaarchitekturen (1)
Drei-Schichten-Architektur von Datenbanksystemen:
o Auch "ANSI/SPARC Architektur"
o Ziel:
• Unabhängigkeit zwischen Daten und Anwendungen
• Unterstützung mehrerer Benutzersichten
o Definition verschiedener Schemata in den einzelnen Schichten
o Ablage der Schemata im Datenbank-Katalog
o Drei Schichten:
• Interne Schicht
• Konzeptuelle Schicht
• Externe Schicht
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
Grundlagen der Datenmodellierung 2.30
2.15
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
O2: Datenunabhängigkeit durch Schemaarchitekturen (2)
Die Drei-Schichten-Architektur:
Anwender
1 ... n
Externe Schicht
...
Externe
Sicht 1
Externe
Sicht n
Externes/konzeptuelles Mapping
Konzeptuelle Schicht
Konzeptuelles Schema
Konzeptuelles/internes Mapping
Interne Schicht
Internes Schema
vgl. R. Elmasri, S.B. Navathe. Fundamentals
of Database Systems. Benjamin/Cummings,
Redwood City, CA. 1989.
Einführung in Datenbanksysteme
Grundlagen der Datenmodellierung 2.31
O2: Datenunabhängigkeit durch Schemaarchitekturen (3)
Externe Schicht:
o Jedes externe Schema (Benutzersicht: Benutzer = Anwendungsprogramm)
beschreibt die Sicht eines oder mehrerer Benutzer auf die Daten.
o Für den Benutzer nicht relevante Daten werden vor ihm verborgen.
o Beispiel: Das Schema eines Projektinformationssystems verbirgt das Gehalt der
Mitarbeiter.
Konzeptuelle Schicht:
o Das konzeptuelle Schema legt die Strukturen der konzeptuellen Sicht der gesamten
Datenbank für die gesamte Benutzergemeinde fest (Vereinigung aller
Anwendersichten zu einer gemeinschaftlichen Sicht).
o Berücksichtigt werden Entitäten, Datentypen, Beziehungen und
Integritätsbedingungen, die physikalischen Speicherstrukturen werden verborgen.
o Beispiel: Das Schema eines Firmeninformationssystems sammelt alle
Informationen über die Mitarbeiter.
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
Grundlagen der Datenmodellierung 2.32
2.16
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
O2: Datenunabhängigkeit durch Schemaarchitekturen (4)
Interne Schicht:
o Internes Schema beschreibt die physikalischen Speicherstrukturen der Datenbank.
o Unter Benutzung eines physikalischen Datenmodells werden Details der
Datenspeicherung und Zugriffspfade beschrieben.
o Beispiele:
• Separate Speicherbereiche für Festangestellte und Werksstudenten
• B-Tree: Zugriff auf Projekte über die Projektnummer
Einführung in Datenbanksysteme
Grundlagen der Datenmodellierung 2.33
O2: Datenunabhängigkeit durch Schemaarchitekturen (5)
Datenunabhängigkeit:
o Schutz des Benutzers eines DBMS vor nachteiligen Auswirkungen im Zuge von
Änderungen in der Systemumgebung (1996 ... 2040).
o Arten der Datenunabhängigkeit:
• Logische Datenunabhängigkeit:
– Das konzeptuelle Schema kann ohne Konsequenzen für das externe
Schema geändert werden.
– Beispiel: Erweiterung der Datenbank um eine neue Klasse oder
Zusammenfassung mehrerer Klassen durch Generalisierung im
konzeptuellen Schema.
• Physische Datenunabhängigkeit:
– Das interne Schema kann unabhängig vom konzeptuellen Schema geändert
werden, ohne daß Funktionsänderungen in den Anwendungen auftreten.
– Beispiel: Reorganisation der Daten oder Einrichtung neuer Zugriffspfade.
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
Grundlagen der Datenmodellierung 2.34
2.17
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
Datenbanksysteme und ihre Modelle: Historie (1)
1.
Rekords fester Größe aggregieren Attribute verschiedener
Datentypen.
2.
Dateien fassen gleichartige Rekords zusammen, können
dynamisch wachsen und schrumpfen, in ihrem Umfang die
Kapazität des Hauptspeichers überschreiten und langlebig
gespeichert werden.
Dateisysteme
3.
Zugriffsstrukturen (z.B. Hashtabellen, ISAM-Dateien)
ermöglichen es, Rekords basierend auf ihren Attributwerten
effizient in einer Datei zu selektieren.
4.
Explizite oder implizite Datei- und Rekordsperren werden
auch zur Kontrolle des parallelen Zugriffs eingesetzt.
Einführung in Datenbanksysteme
~1960
Grundlagen der Datenmodellierung 2.35
Datenbanksysteme und ihre Modelle: Historie (2)
5.
Rekordidentifikatoren, Adressen und Verweisattribute
ermöglichen es, Rekords zu hierarchischen oder
netzwerkartigen Datenstrukturen zu verketten.
6.
Mehrere Indexstrukturen können gleichzeitig geöffnet sein
und werden vom Datenbanksystem konsistent als eine
gemeinsame Datenbank mit Verweisinformation gewartet.
7.
Zugriffskontrollmechanismen beschränken Rekordzugriffe
auf authorisierte Agenten.
8.
Es existiert eine Trennung zwischen logischem und
physischen Schema.
9.
Transaktionen bieten automatische Fehlererholung,
Verklemmungserkennung und Integrität beim
Mehrbenutzerzugriff.
~1960
Frühe
Datenbanksysteme
~1970
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
Grundlagen der Datenmodellierung 2.36
2.18
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
Datenbanksysteme und ihre Modelle: Historie (3)
10.
Hochsprachliche, deklarative Anfragesprachen wie SQL
ermöglichen eine abstrakte mengenorientierte
Datenmodellierung und Datenmanipulation unabhängig von
der Verfügbarkeit gespeicherter Verweisstrukturen.
11.
Zusätzliche anwendungsorientierte Dienstschnittstellen
unterstützen interaktive Anfragen, Formular- und
Reportdefinitionen sowie die integrierte Beschreibung
von Algorithmen und Anfragen in Sprachen der 4.
Generation.
12.
Es existiert eine Trennung zwischen konzeptuellem und
logischem Schema.
~1970
Relationale
DB-Systeme
~1980
Einführung in Datenbanksysteme
Grundlagen der Datenmodellierung 2.37
Datenbanksysteme und ihre Modelle: Historie (4)
o 13. Programmiersprachenanbindung
~1980
o 14. Persistenzabstraktion
o 15. Objektidentität
Objektorientierte
DB-Systeme
o 16. Verhaltensmodellierung
o 17. Vererbung von Struktur und Operationen
o 18. Versionsverwaltung
o Verteilungsabstraktion
o Kooperationsmodelle
~1990
Kooperative
DB-Systeme
o Multi-mediale Daten
o ...
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
Grundlagen der Datenmodellierung 2.38
2.19
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
Datenbanksprachen
Datenbanksprachen umfassen typischerweise
Konstrukte:
o zur Datendefinition
Datendefinitionssprache
o zur Schemaänderung
o zur deskriptiven Formulierung von Anfragen
o zur Modifikation der Datenbank
Datenmanipulationssprache
Einführung in Datenbanksysteme
Grundlagen der Datenmodellierung 2.39
Modellunabhängige Notation für DB-Zustände (1)
Beschreibung der Konzepte mit Hilfe einer datenmodellunabhängigen Notation für
Datenbankzustände.
Literale:
o Beschreiben atomare Werte, die als Bausteine in
komplexen Informationsstrukturen verwendet werden
können.
30, "MFSW", NULL
Aggregat:
o Beschreibt einen zusammengesetzten Wert, der aus
einer (ungeordneten) Folge von Paaren
(Attributname Xi, Attributwert Ai) besteht.
o Die Attribute eines Aggregats können über ihre
Namen angesprochen werden.
o Die meisten DB-Modelle unterstützen selektive
Wertzuweisungen, jedoch nicht das Hinzufügen oder
Löschen von Attributen.
X1
A1
X2
A2
...
...
Xn
An
o Analog: Records in Pascal, Structures in C
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
Grundlagen der Datenmodellierung 2.40
2.20
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
Modellunabhängige Notation für DB-Zustände (2)
Referenz:
o Beschreibt (gerichteten, logischen) Verweis auf ein
anderes Objekte (hier: Verweis auf Objekt A).
o Ein Pfeil führt von einem referenzierenden zum
referenzierten Objekt.
A
o Analog: Pointer in Programmiersprachen
Kollektion:
o Beschreibt einen zusammengesetzten Wert, der aus
einer variablen Anzahl unbenannter Komponenten
besteht (hier: A1,A2,...,An).
A1
o Dabei wird von einer dynamischen Klassifikation der
Objekte (Werte) in der Kollektion ausgegangen.
o Typisch: homogene Struktur der Komponenten
oder
A2
...
An
A1
A2
.
.
.
An
Einführung in Datenbanksysteme
Grundlagen der Datenmodellierung 2.41
Regularität und typisierte Datenbank-Schemata (1)
Die Regularität von Datenbankzuständen erlaubt die strukturierte Beschreibung
möglicher oder zulässiger Datenbankzustände durch ein Datenbank-Schema (statische
Klassifikation durch Typisierung).
Analogie: Schemaebene in DBMS Ö Typebene in Programmiersprachen
Typisierung auf der Schemaebene:
o Basisdatentyp: (Õ Domänen) beschreibt Wertebereiche. Er setzt sich aus einer Menge von
Literalen zusammen.
Int: {...,-1,0,1,...}
Char: {a,...,z,A,...,Z}
o Aggregattyp: beschreibt die Struktur von
Aggregaten. Er setzt sich aus Paaren
(Bezeichner, Attributtyp) zusammen. Daher können
Operationen auf den Attributen auf ihre Zulässigkeit
überprüft werden (x.name = 3
).
record
name :String
budget :Float
end
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
Grundlagen der Datenmodellierung 2.42
2.21
Vorlesung “Einführung in Datenbanksysteme“ WS 1999/2000
© F. Matthes, J.W. Schmidt
Regularität und typisierte Datenbank-Schemata (2)
o Referenztyp: Beschreibt die Struktur der
referenzierten Objekte. In Datenbanken findet
man häufig eine Kombination von Referenz und
Kollektionstyp.
pointer to Abteilung
(einzelne Referenz)
pointer* to Abteilung
(mengenwertige Referenz)
o Kollektionstyp: (Õ Massendatentypen) Beschreibt
die Struktur von homogenen Kollektionen. Dabei
wird die Art der Kollektion (Liste, Menge etc.) und
der Typ ihrer Elemente festgelegt.
set of Abteilung
bag of Abteilung
list of Abteilung
Einführung in Datenbanksysteme
Grundlagen der Datenmodellierung 2.43
Durchgängiges Beispiel die folgenden Kapitel
Die Projektdatenbank als Ausschnitt des Firmeninformationssystems (s. Folie 2.6).
Kurz
Name
Abteilung
1
ist Oberabteilung
von
n
führt
aus
Nr
m
Projekt
Titel
Budget
n
Einführung in Datenbanksysteme
2. Grundlagen der Datenmodellierung
Grundlagen der Datenmodellierung 2.44
2.22
Herunterladen