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