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