Physische Datenmodellierung

Werbung
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Folie 1
Lehrveranstaltung DM/DB
Datenmodellierung und Datenbanksysteme
• Kennenlernen, wie man Daten
konsistent in einer Datenbank
speichert
Wir klären Grundbegriffe der
Datenmodellierung;
lernen das für uns wichtigste
formale Datenmodell kennen;
entwickeln auf dieser Basis
physische Datenmodelle
und beschäftigen uns mit der
Methodik, gute Datenmodelle zu
entwickeln.
Schritt 1
(Grundlegende Folien für die Wiederholung sind mit
gekennzeichnet!)
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Reale betriebliche Datenstrukturen
Bottom-Up-Analyse
Damit ist auf
physischer Ebene die
Modellierung einer DB
möglich !
Beachte:
Das physische DM
bildet die Realität
Software-nah ab, das
formale DM ist nur ein
Regelwerk.
spezielle Nutzersichten
formale Ebene
(deskriptive
Regeln)
Formale Datenmodelle
z. B. Hierarchisches DM,
Netzwerk-DM,
Relationales DM
methodische Ebene
(Qualitätsverbesserung
der Datenmodelle der
semantischen Ebene)
Normalisierung
Entwicklungsebene
(Datenbank)
Datenbasis eines betrieblichen Informationssystems
Physisches
Datenmodell
Folie 2
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Reale betriebliche Datenstrukturen
Top-Dow-Analyse
Bottom-Up-Analyse
Gesamtsicht
spezielle Nutzersichten
Semantische Datenmodelle
z. B. Entity-Relationship-Modell
(ERM)
formale Ebene
(deskriptive
Regeln)
Formale Datenmodelle
z. B. Hierarchisches DM,
Netzwerk-DM,
Relationales DM
methodische Ebene
(Qualitätsverbesserung
- Aggregation
der Datenmodelle der
- Klassifizierung
- Generalisierung/Spezialisierung semantischen Ebene)
Konzeptuelles
Datenmodell
Semantische (Entwicklungs-)
Ebene
(reales Datenmodell für einen
Anwendungsfall)
Normalisierung
Physisches
Datenmodell
(Datenbank)
Datenbasis eines betrieblichen Informationssystems
Folie 3
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Vom Datenmodell zur Datenbank
Das Datenmodell ist eine Vorstufe der Datenbank, aber eine Datenbank (DB)
wird erst dann daraus, wenn …
 eine hinreichend große Datenmenge verwaltet werden kann.
 standardisierte Schnittstellen für den Datenzugriff vorliegen.
 der Datenzugriff unabhängig von der physischen Datenstruktur und
Speicherstruktur erfolgt.
 allgemeingültige Datentypen und persistente Speicherobjekte
existieren.
 ein paralleler Zugriff mehrerer Nutzer auf die Daten erfolgen kann.
 Datenzugriffsrechte administriert werden können.
 eine Transaktionssicherung erfolgen kann.
 eine datenunabhängige Sicherung und automatische Datenrekonstruktion bei Havarien erfolgt.
Alles zusammen bezeichnen wir als Datenbanktechnologie.
Folie 4
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Folie 5
 Nochmals zusammengefasst:
• Zur Erstellung einer Datenbank benötigt man als Software ein Datenbankmanagementsystem (DBMS).
• Ein DBMS wird auf der Grundlage eines formalen Datenmodells entwickelt.
• Ein den Regeln des formalen Datenmodells entsprechendes physisches Datenmodell
kann mittels eines DBMS als leere Datenbank implementiert werden.
• Sinnvolle betriebswirtschaftlich orientierte physische Datenmodelle werden mittels
Bottom-Up-Analyse empirisch erstellt und mittels Normalisierung methodisch qualitativ
verbessert.
• Die semantische Datenmodellierung ermöglich die Kreation von Datenmodellen
unabhängig von einem konkreten DBMS.
• Auf der Basis formaler Transformationsregeln können semantische Datenmodelle in
normalisierte physische Datenmodelle überführt werden und eignen sich damit
hervorragend für die Modellierung komplexer Datenbanken.
• Die Datenbanktechnologie gehört zu den Basistechnologien der (Wirtschafts-) Informatik
und unterstützt sowohl die Programmierung als auch die Informationswirtschaft.
 und nun geht es in die Details!
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Was sind die Formalziele der Datenmodellierung?
1. Redundanzfreiheit
(möglichst nur einmalige Speicherung eines Datums im
betrieblichen Informationssystem).
2. Integrität
(innere Widerspruchsfreiheit (auch Konsistenz) der
Datenbasis).
3. Integrationsfähigkeit
der Daten.
4. Datenunabhängigkeit
(Datenzugriff unabhängig von der Implementierung und
physischen Datenstruktur).
Speichersicht
Folie 6
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Welche generellen Anforderungen Datenmodelle gibt es?
1. Eignung, die Realität in Objekten und ihren Beziehungen zueinander
abzubilden.
2. Erfassung der syntaktischen und semantischen Informationen über die
Objekte und Beziehungen.
3. Ermöglichung einer Einzelobjektidentifikation und Mengenzugehörigkeit.
4. Formalisierbarkeit der Beschreibungsregeln des Modells.
Daraus resultieren folgende allgemeine Grundmerkmale
1. Struktur (structure):
Modell muss Objekte, Attribute und Beziehungen darstellen können.
2. Bearbeitung (manipulation):
Objekte und Attribute müssen änderbar (update), neuaufnehmbar (insert)
und löschbar (delete) sein.
3. Integrität (integrity):
Ein Datenmodell muss logisch widerspruchsfrei und überprüfbar sein.
Folie 7
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Folie 8
Formale Datenmodelle
1. Legacy-Datenmodelle
Hierarchisches und Netzwerkmodell  werden kurz skizziert.
2. Relationales Datenmodell
Der Standard für kommerzielle Anwendungen schlechthin 
wird ausführlich behandelt.
3. Erweiterte Datenmodelle
Objektdatenmodell, erweiterte relationale Datenmodelle, Cubes 
werden
im Abschnitt 5 (Datenbanksoftware) kurz erwähnt.
Zur Wiederholung: Formale Datenmodelle sind definierte Regeln zur modellhaften
Darstellung von Datenstrukturen als Grundlage einer Implementierung auf einem dem Modell entsprechenden Datenbankmanagementsystem (DBMS).
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Hierarchisches Datenmodell
Bestellungen
Kunden
Wurzel
Knoten
Lieferadressen
Inversion:
Touren
Knoten
Rechnungsadressen
Knoten
Kunde
Bestellung
Datenstruktur: Bäume (tree), lineare Listen
Folie 9
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Netzwerk-Datenmodell
Annahme: Realität ist durch Objekte und Ereignisse (Records)
hinreichend exakt beschreibbar.
Jeweils 2 Records treten in Beziehung.
Beispiel:
Owner
Kunde
Member
Bestellung
gibt auf
werden ausgeliefert
enthalten
Fahrer
fährt
Touren
bedient
Fahrzeug
werden transportiert
Artikel
Grundlage des Modells: Codasyl-Bericht 1971
Datenstruktur: allgemeine Sets, verkettete Listen
Folie 10
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Folie 11
Das relationale Datenmodell
Grundlegende Paradigmen und Geschichte I
Der Urvater der relationalen Datenbanken.
Dr. Edgar Codd
* 23.08.1923 † 23. 04. 2003
Die Idee, die Codd hatte, war so einfach wie genial:
(1) Die reale Welt lässt sich in Daten abbilden, die untereinander in
Beziehungen stehen.
(2) Daten können in Tabellen abgelegt werden, die untereinander verknüpft
werden.
Zum Beispiel können alle Produkte eines Unternehmens mit ihrem
Namen und ihrem Preis in einer Tabelle abgespeichert werden und alle
Handelsfirmen, die die Produkte vertreiben in einer anderen Tabelle.
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Das relationale Datenmodell
Grundlegende Paradigmen und Geschichte II
Seine Gedanken hatte Codd während der 60er und 70er Jahre bei seiner
Forschungsarbeit am IBM San Jose Research Laboratory in einer Reihe
von Veröffentlichungen niedergeschrieben.
Erst im Jahre 1978 ließ sich allerdings Frank T. Cary, damals Chef von
IBM, auf Codds Idee ein.
Der Markteinführung kam aber Lawrence J. Ellison zuvor, der auf Codds
Veröffentlichungen fußend die Firma Oracle aufbaute.
1981 erhielt Codd den Turing Award für seinen fundamentalen und
fortwährenden Beitrag zur Theorie und Praxis von Datenbanksystemen.
Der Turing Award gilt als wichtigste Auszeichnung in der Informatik.
Er wird jährlich an Forscher vergeben, die mit ihrem Beitrag einen
nachhaltigen, positiven Einfluss auf die IT-Welt hatten.
Relationale Datenbanken stellen heutzutage einen De-facto-Standard
unter den aktuellen Datenbanktechniken dar und werden besonders
im kommerziellen Bereich genutzt.
Folie 12
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Das relationale Datenmodell
Die Tabelle (Relation) - Grundlage des relationalen Datenmodells
Tabelle "ARTIKEL"
Art_Nr
Tabellenname = Relationenname
Tabellenkopf = Relationenschema
Bezeichnung
ME
Stückpreis
Lager
1
kg
2,20
2
Zucker
kg
1,40
1
Tonic "Bitterling“
kg
Salz ( jodiert)
kg
210
Brot ( geschnitten)
345
897
Zeile = Tupel
2,00
Relation
1,20
112
3
Spalte = Attribut ( Wertevorrat einer Spalte = Domäne )
Primärer Schlüssel ( primary key )
kann auch ein Verbund mehrerer Spalten sein,
aber immer die minimal erforderliche Anzahl von Spalten.
Schreibweise als Relation:
ARTIKEL(ART_NR,Bezeichnung,ME,Stückpreis,Lager)
Damit ist das Modell
strukturell
beschrieben, es folgt
aber noch eine
inhaltliche Ergänzung
Folie 13
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Folie 14
Die Domäne
begrenzt den Wertevorrat einer Spalte statisch (Domänendefiniton im
Datenmodell) oder dynamisch (Verweis auf eine Domänentabelle).
Wichtig ist bei der Definition einer Domäne der spätere Verwendungszweck der Daten; wir unterscheiden:
• Objektidentifikation
 Nutzung als primary key, Eindeutigkeit
• Klassifikation
 Bildung von Klassen und Hierarchien
• Systematisierung
 Bildung von Wertegruppen
• Beschreibung
 deskriptive Darstellung von Attributen
Domänen dienen also sowohl der Sicherung der Datenintegrität als auch
der Gewährleistung der Datenqualität für die spätere Datenauswertung.
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Folie 15
Das relationale Datenmodell
Die Tabelle (Relation) - Grundlage des relationalen Datenmodells
Charakteristische Relationeneigenschaften nach Codd sind:
1. Keine zwei Tupel einer Relation sind identisch, d. h. es existieren
keine identischen Zeilen innerhalb einer Tabelle.
2. Die Reihenfolge der Tupel einer Relation ist ohne Belang, d. h. die
Sortierfolge der Zeilen einer Tabelle ist ohne Bedeutung.
3. Die Reihenfolge der Attribute einer Relation ist ohne Belang, d. h.
die Spalten einer Tabelle werden mit Namen und nicht mit ihrer
Position bezeichnet.
4. Jeder Attributswert in der Relation ist elementar. Wertemengen
innerhalb einer Spalte der Tabelle sind folglich nicht zulässig
(siehe 1.NF).
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Folie 16
Das relationale Datenmodell
Die Tabelle (Relation) ist die Grundlage des relationalen Datenmodells
Das ist natürlich richtig, aber mit einer Tabelle lässt sich nur wenig Realität
formulieren, nämlich
• maximal ein Objekt (warum eigentlich maximal?) und
• keine Beziehung

Deshalb braucht man eine Möglichkeit Beziehungen zu formulieren, die
zwischen mindestens zwei oder beliebig vielen Tabellen bestehen.
Im relationalen Modell ist das die sogenannte "referentielle Integrität"
(aber das gilt nur für die Datenspeicherung, beim Präsentieren von
Beziehungen hat man noch ganz andere Möglichkeiten).
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Folie 17
Das relationale Datenmodell
Das Modell einer relationalen Datenbank (RDB)
Das relationale Datenmodell (RDM) einer Datenbank entsteht durch
die semantische Verknüpfung von n Relationen (Tabellen), z. B.
Relation Dozent
DozNR
Name
100
Wolf
101
Schaf
102
Katze
Relation Lehrveranstaltung
...
Blau = primary key
(Primärschlüssel)
LVNR
DozNR
Raum ...
010
102
A 543
Rot = foreign key
(Fremdschlüssel)
020
100
A 120
021
102
C 045
Die Abhängigkeit eines Fremdschlüssels von einem Primärschlüssel
wird als referentielle Integrität bezeichnet.
Z. B. ist die Relation Lehrveranstaltung referentiell abhängig von der
Relation Dozent.
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Folie 18
Grundlegende Integritätsbedingungen des
relationalen Datenmodells
 Jede Relation muss einen (primären) Schlüssel besitzen, der
einmalig innerhalb der Relation und nicht leer (not Null) ist
 primary key.
 Jedes Objekt (Tupel) in einer Relation, das (existentiell) abhängig ist von einem Objekt in einer anderen Relation, muss
auch in der Relation enthalten sein, welche die Menge der
Objekte beinhaltet, auf die sich die Abhängigkeit bezieht
(referentielle Integrität). Diese Beziehung wird über den
 foreign key geprüft.
Beispiel: Eine Lehrveranstaltung für den Dozenten mit DozNr=102 kann nur
dann in die Relation Lehrveranstaltung eingetragen werden, wenn
ein Eintrag mit DozNr=102 auch in der Relation DOZENT existiert.
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Folie 19
Was ist eine existentielle Abhängigkeit?
Da eine Tabelle nur zwei Dimensionen besitzt (Spalte und Zeile) und die Bedingung
der 1NF eingehalten werden muss, können mehrwertige Attribute sinnvoll nur durch
die Ausgliederung in eine eigenen Tabelle dargestellt werden.
Die ausgegliederte Tabelle enthält dann (mehrwertige) Details zu dem Objekt, dem
sie als Attribute zugeordnet sind. Diese Abhängigkeit einer Tabelle von einer
anderen wird auch als Master-Detail-Beziehung benannt. Die referentielle Integrität
gewährleistet, dass ein Detail-Objekt nur existieren kann, wenn ein Master-Objekt
existiert, dem das Detail zugeordnet wird.
Eine besonders ausgeprägte Form der Abhängigkeit zwischen Tabellen besteht
dann, wenn beide Tabellen wechselseitig voneinander abhängig sind.
Beispiel: Eine Tabelle Rechnungskopf kann nicht ohne Rechnungspositionen
existieren. Aber die Rechnungspositionen sind auch von der Zuordnung
zu einem Rechnungskopf abhängig.
Die Aufrechterhaltung der semantischen Abhängigkeit einer Detailtabelle von der
Mastertabelle wird im RDM immer über Fremdschlüssel realisiert.
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Folie 20
Wie entsteht aus dem relationale Datenmodell ein Datenbank?
Die Struktur eines physischen Datenmodells wird im relationalen Datenmodell
durch die Meta-Daten Relationen- (Tabellen) Name, Attributs- (Spalten) Name
und Domäne beschrieben.
Jedes relationale DBMS enthält also ein unveränderliches physisches Datenmodell zur Beschreibung eines beliebigen relationalen Nutzer-Datenmodells.
Die beschreibenden Daten des Nutzer-Datenmodells sind der Inhalt des
unveränderlichen System-Datenmodells.
Entsprechend besteht eine „neue“ Datenbank zunächst aus weitgehend
leeren Systemtabellen und weiteren ergänzenden System-Datenbankobjekten. Diese werden durch geeignete Datenbankanweisungen (z. B. durch
die Datenbanksprache SQL) mit Daten gefüllt.
Schlussfolgerung: Ein relationales Datenmodell kann strukturell immer
durch ein relationales Datenmodell beschrieben werden.
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Wie wird das relationale Datenmodell mit Daten gefüllt?
Das Modell natürlich gar nicht, aber die durch das Modell beschriebene
Datenbank mit Hilfe des DBMS.
Die in der Relation gespeicherten (Anwendungs-) Daten können durch
folgende Update-Operationen manipuliert werden:
- INSERT
zum Einfügen der Daten eines Tupels;
- UPDATE
zum Ändern der Daten eines Tupels;
- DELETE
zum Löschen der Daten eines Tupels.
Die Such- (Retrievals) Operationen werden durch die relationale Algebra
bzw. durch das Relationenkalkül beschrieben.
 das behandeln wir dann aber erst im Kapitel 3 (Datenpräsentation).
Folie 21
HTW Berlin Prof. Dr. Zschockelt
Datenmodellierung/Datenbanken
(02)Physische Datenmodellierung.ppt
Folie 22
Die Qualität einer relationalen Datenbank
Eine RDB ist das softwaretechnologisch implementierte physische Modell
einer konkreten Datensammlung, formuliert nach den Regeln des
relationalen Datenmodells.
Ihre Qualität wird
neben der betriebswirtschaftlichen Bedeutung der gespeicherten Daten
gemessen
an der Korrektheit der Speicherung
(Güte des Datenmodells)
Methodische Grundlage:
Normalisierung
an der Effektivität des Datenzugriffs
(Güte der Datenbank(-applikation))
Methodische Grundlage:
Relationale Algebra / Relationenkalkül
Herunterladen