Datenbank 3-Ebenenkonzept N N N AP AP AP E E E E/C Datenbankadministrator C C/I E/C E/C 17 E/C E/C E E N N I I Interne Ebene C/I Transformation C konzeptionelle Ebene E/C Transformation E externe Ebene AP Anwendungsprogramm N Nutzer Externe Ebene 18 entspricht den Benutzeranforderungen, vom DBA mit Hilfe der Datendefinitionssprache (DDL) beschrieben ist wesentliche Voraussetzung für Datenunabhängigkeit Zugriff durch Endbenutzer und Programmierer – Endbenutzer :multiple records at a time – Programmierer : single record at a time Konzeptionelle Ebene basiert auf detaillierter Analyse der realen Welt) ist Ergebnis von Systemanalyse und Datenmodellierung enthält alle wesentlichen Daten und ihre Beziehungen, sowie Integritätsbedingungen sollte nicht/wenig geändert werden durch DBA mit Hilfe der DDL beschrieben 19 Interne Ebene 20 Verwaltung und Definition durch den DBA bildet die Schnittstelle zum Betriebssystem beschreibt, wie die Daten auf den Speichern abgelegt sind beinhaltet die Definition der Datenstrukturen legt die Zugriffsarten auf die Daten fest zur Definition sind Informationen über Zugriffs-häufigkeit und Zeitanforderungen notwendig Speicherstrukturen (1) 21 Datei = Folge von Blöcken fester Länge (BS-spezifisch) – logische Sicht: Ablage der Blöcke wird durch das Betriebssystem (BS) gesteuert, Blöcke können physisch zusammenhängend oder getrennt abgelegt werden (BS-Verwaltung) Speicherstrukturen (2) Extents (Partitionen)=Folge von physisch aufeinanderfolgenden Blöcken, ==> log.=physische Abfolge (BS/DBMS) Segmente=Menge allokierter Extents für die Speicherung logischer Strukturen (Data-, Index-, Rollback-, Temporary-Segment) Datendateien= Folge von Segmenten Tablespace=logische Verkettung von Datendateien Datenbank=besteht aus einem oder mehreren Tablespaces 22 Datenbankdateien 23 Datendateien – enthalten alle Datenbankdaten (Tabellen, Indexe, DB-Prozeduren, ...), physische Speicherung auf BS Ebene. Redo Log Dateien – Protokollierung aller Datenbankoperationen – Grundlage für DB-Recovery Control Dateien – Verwaltung der physischen Struktur der Datenbank (Datenbankname, Namen, Speicherort der Datendateien und redo log Dateien) Verteilung der Datenbankdateien Redo Log Dateien immer auf getrennten Platten – Ausfallsicherheit – keine Behinderung zwischen Log- und Datendateien durch ständiges Bewegen des Plattenarmes Spiegelung der Redo Log und Control Dateien Verteilen der Datendateien auf unterschiedliche Platten 24 Tablespace 25 besteht aus einer oder mehreren Datendateien, dient der logischen Speicherung der Datenbankobjekte. – System-Tablespace: Beinhaltet die Verwaltungsinformationen der Datenbank (Tabellen-, Spalteninformationen, Integritätsregeln, Zugriffsberechtigungen,...) – Nutzer-Tablespace: Enthält die „eigentlichen“ Nutzerdaten Datenbankobjekte Tabellen, Spalten Views (Sichten) Sequenzen Programm Einheiten – stored procedures, functions, packages Synonyme Indexe, Cluster 26 27 Prozesse und Speicherstrukturen eines DBMS am Beispiel von ORACLE Datenmodelle (Beschreibung der konzeptionellen Ebene) Hierarchisches Modell Netzwerkmodell Relationenmodell Objektorientierte Ansätze 28 29 Hierarchisches Modell Struktur Datenablage Meßstelle Meßstelle A Meßstelle B 1 m Messung (Meßwert,Zeit) MA 1 MA 2 MB 1 MB 2 30 Netzwerkmodell Datenablage Struktur Meßstelle B Meßstelle 1 Zeit 1 Z3 Meßstelle A Z2 Z1 m Messung m MA 1 MA 2 MA 3 MB 1 MB 2 MB 3 31 Hierarchische-/Netzwerk-Datenbanken Vorteile: – kurze Zugriffszeiten – geringe Redundanz Nachteile – Strukturänderung schwierig (besonders HDB) – komplexe Programmierung (besonders NDB) 32 Relationenmodell Struktur Messung(Meßwert,Meßstelle,Zeit) Datenablage Messung Meßwert Meßstelle Zeit 24.5 36.6 34.1 55.3 48.1 47.9 A A A B B B 14.20 14.30 14.40 14.20 14.30 14.40 Begriffe im relationalen Datenmodell Formale Bezeichnung Informelle Ausdrucksweise Relation Tupel, Datensatz Kardinalität Attribut, Feld Gebiet, Domäne Tabelle eine Zeile einer Tabelle Anzahl der Tupel einer Relation eine Spalte einer Tabelle Menge aller möglichen Werte eines Attributes eindeutiger Bezeichner Anzahl der beteiligten Attribute Primärschlüssel Grad der Relation 33 Definitionen für Relationen es gibt keine doppelten Tupel (Zeilen) Tupel sind nicht geordnet Attribute (Felder) sind nicht geordnet alle Attribute sind atomar 34 Operationen mit Relationen 35 Vereinigung – beide Relationen müssen denselben Grad und dieselben Wertebereiche der Attribute haben. Differenz – Subtrahiert man von einer Relation R die Relation S, dann ist das Ergebnis eine Relation, die alle diejenigen Tupel von R enthält, die nicht in S sind. Bedingung: wie bei der Vereinigung Projektion – Die Projektion ermöglicht es, aus einer Relation Attribute (Spalten) zu entfernen oder Attribute umzuordnen. Selektion – Die Selektion erzeugt aus einer Relation R eine neue Relation, indem sie aus allen Tupeln von r diejenigen auswählt, für die eine Auswahlbedingung zutrifft. R1 36 R2 K ST ANR 13 1 12 12 1 19 23 1 98 12 1 55 KST ANR 12 119 23 188 •Vereinigung von R1 und R2 ? •Differenz: R1-R2 ? •Projektion des Attributes KST der Relation R1 ? •Selektion der Tupel von R2, für welche die ANR=119 ist? •Differenz R2-R1 und anschließende Selektion der Tupel, für welche die KST=12 ist? 37 Vor- und Nachteile relationaler Datenbanken Vorteile: – mathematisch fundiert (relationale Algebra) – leichte Änderung des Datenbankaufbaus – leicht programmierbar und verwaltbar Nachteile: – Abbildung der realen Welt in Tabellenform – erfordern eine hohe Rechenleistung – erzeugen häufig Redundanz A_NR Abteilung 1 SW-Entwicklung 2 Help-Line 3 DB-Entwicklung A_NR Abteilung 1 1 1 2 2 2 3 SW-Entwicklung SW-Entwicklung SW-Entwicklung Help-Line Help-Line Help-Line DB-Entwicklung M_NR Mitarbeiter 1 2 3 4 5 1 6 Ralf Löffler Steffen Moldenhauer Klaus Küspert Steffen Köhler Andreas Hendrich Ralf Löffler Georg Helmer M_NR Mitarbeiter 1 2 3 4 5 1 6 Ralf Löffler Steffen Moldenhauer Klaus Küspert Steffen Köhler Andreas Hendrich Ralf Löffler Georg Helmer 38 Schlüssel im Relationenmodell dienen der Identifikation der Tupel – Durch Schlüssel ist es nicht notwendig alle Attributwerte eines Tupels zu nennen, um es aufzufinden. zur Identifikation eines Tupels gibt es oft mehrere Schlüssel müssen eindeutig sein, sind eine minimale, identifizierende Attributkombination Festlegung eines Primärschlüssels für jede Relation 39 40 Das Entity Relationship Modell Entities – unterscheidbare Dinge der realen Welt, z.B. Autos, Personen, Städte – Zusammenfassung der Entities zu sogenannten Entity-Sets (Gruppen von Entities) – haben Attribute (Eigenschaften/Werte) • zugelassene Werte eines Entity-Sets = Wertebereich – besitzen mindestens einen Schlüssel – können in Beziehung (Relation) zueinander stehen Bücher einer Bibliothek Entities sind Bücher einer Bibliothek Entity-Set = Gesamtheit aller Bücher Attribute und mögliche Werte: Attribut Wertebereich Buch_NR Autor Titel Rubrik „vierstellige Zahl“ „Zeichenkette der Länge 30“ „Zeichenkette der Länge 30“ „Reiseliteratur“,“Belletristik“ 41 Notation im ER-Modell Entity-Typ Attribut Relationship/Beziehung Beziehungen zwischen Entities: zwingend optional •eins-zu-eins (1,1) (0,1) •eins-zu-viele (1,n) (0,n) •viele-zu-eins (n,1) (n,0) •viele-zu-viele (n,m) Dabei gilt: n,m sind natürliche Zahlen. Abteilung (1,n) hat (1,1) Mitarbeiter 42 Spezielle Beziehungstypen •„Is a“ (ist ein)-Beziehungstyp •Kardinalitäten ? Programmiersprachen Softwareentwickler Person Name Geb.dat Is a Geräte Wartungsingenieur Fremdsprachen Sekretär 43 Eine Bibliothek möchte ihren Buchbestand und die Leser mit Hilfe eines Datenbanksystems verwalten. Die folgenden Daten sollen für die Bücher der Bibliothek gespeichert werden: •Autor, Titel, Fachgebiet und Preis. Die Bücher des Lesesaals können nicht entliehen werden. Die entleihbaren Bücher haben unterschiedliche Entleihfristen (zwei oder vier Wochen). Zu statistischen Zwecken soll außerdem die Häufigkeit der Entleihungen für jedes Buch gespeichert werden. Für jedes entliehene Buch muß der Tag der Ausleihe, das Rückgabedatum und der Entleiher gespeichert werden. In der Datenbank sollen von den Lesern der Bibliothek die folgenden Daten verwaltet werden: •Name, Wohnort, Anmeldedatum. Außerdem soll gespeichert werden, wie oft ein Leser seit seiner Anmeldung Bücher entliehen hat. Leser können Bücher vorbestellen, der Tag der Vorbestellung und das vorbestellte Buch müssen also ebenfalls verzeichnet werden. Säumige Leser können mit Strafgebühren belegt werden, falls der zu zahlende Betrag einen bestimmten Wert überschritten hat, so soll der Leser gesperrt werden. Modellieren Sie das Bibliotheksbeispiel mit Hilfe des ER-Modells 44 ER-Diagramm Datenbank Normalisierung des ERD Entity-Typen werden direkt auf Tabellen abgebildet für 1:n, n:m Beziehungen zwischen Entity-Typen sind eigene Tabellen notwendig 1:1 Beziehungen werden direkt in den Tabellen dargestellt 45 Normalformlehre 46 Ziel: Redundanzen und Zugriffsprobleme zu verhindern durch Normalisierung entstehen neue Relationen (Tabellen) Vorgehen: Entity-fremde Informationen Erkennen und Herauslösen Unnormalisierte Relationen 47 Erste Normalform (1) 48 Erste Normalform (2) Definition der ersten Normalform: – Eine Relation ist in erster Normalform, wenn alle Attribute nur atomare Werte enthalten. 49 Funktionale Abhängigkeit 50 Definition: – Ein Attribut Y einer Relation R heißt funktional abhängig vom Attribut X derselben Relation, wenn zu jedem X-Wert höchstens ein Y-Wert möglich ist. Schlüssel Zweite Normalform 51 Definition: – Eine Relation ist in der zweiten Normalform, wenn sie in der ersten ist, und jedes Nichtschlüsselattribut voll funktional abhängig vom Primärschlüssel ist. Wichtig: – Eine normalisierte Relation mit einem nicht zusammengesetzten Primärschlüssel befindet sich immer in der zweiten Normalform! Erste Normalform Zweite Normalform 52 Dritte Normalform 53 Definition: – Eine Relation ist in dritter Normalform genau dann, wenn sie in der zweiten ist und es zwischen Schlüsselattributen und Nichtschlüsselattributen keine transitiven Abhängigkeiten gibt. Graphische Veranschaulichung zur transitiven Abhängigkeit Schlüssel Attribut abhängiges Attribut 54 Zweite Normalform Dritte Normalform 55 Objektorientierung Vorteile: – natürliche Modellierung möglich – Trennung von Funktionen und Daten entfällt – Erweiterbarkeit/Wiederverwendbarkeit – Datenkapselung 56 OO-Begriffe Klasse Objekt Attribute Methoden Nachricht (Mehrfach-)Vererbung Polymorphismus 57 Vererbung 58 Fahrzeug PKW Limousine Kombi LKW Pritsche Pickup Tankwagen Polymorphie Berechne Flächeninhalt 59 Zeichnen Geometrisches Objekt Programm A:= geometrisches Objekt; B:= Kreis; C:=Rechteck; : : A:=B; A.Zeichnen; A.Berechne_Flächeninhalt; : : A:=C; A.Zeichnen; : Rechteck Kreis Dreieck Lebenszyklus von Objekten 60 Klassendefinition Erzeugen von Objekten Anwendung der definierten Methoden Kommunikation mit anderen Objekten Löschen der Objekte ATKIS-objektstrukturiertes Datenmodell für die 61 Modellierung und Erfassung raumbezogener Daten ATKIS-Objektbereich 3000 Verkehr 3000 Verkehr 3100 Straßenverkehr 3101 Straße 3102 Weg 3103 Platz FKT,OFM BRF,BRV,WDM ZUS FKT,OFM BRF,BRV,WDM ZUS BEF,KON FKT,OFM BDI,BDU,BFS FSZ,IBD NTZ NTZ 62 63 Verkehr FKT,OFM Straßenverkehr Verkehrsnutzung BRF,BRV,WDM ZUS NTZ Weg Straße BEF,KON BDI,BDU,BFS FSZ,IBD Platz