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