Datenbank Modelle Generelle Architektur o Ansi / Sparc – Architektur (3 Ebenen [Externe-, Konzeptionelle-, Interne Sicht] o Wichtige Aufgaben des DBMS Aufgaben des DBA o Log Die Interne Ebene o Speicherung und Wiederbeschaffung von Daten Schichten (Diagramm) Aufgaben der Internen Ebene o TID (Tupel-Identifier) o Cluster o Index o Index über Feldkombinationen o Pointerketten o Datenkompression IMS : Hierarchische DBMS (hierarchische Datenverwaltung von Wurzel ausgehend – Baumstruktur) o Prozeduren zum Suchen eines Datensegmentes Direkt Sequentiell Sequentiell unter einer Wurzel o Datenmanipulation (Einfügen, Löschen, Ändern) o Physische Datenbank Definitionssprache Definitionsdatei Zugriffsmethoden o Logische Datenbank Abbildung von Hierarchien über Pointer IDMS : Netzwerk-DBMS (Gegensatz zur hierarchischen-DBMS, ein Kind hat mehrere Vorgänger) Relationale DBMS Anforderungen o Was Kennzeichnet ein relationales DBMS o Regeln die erfüllt sein müssen Basisregeln Strukturregeln Manipulationsregeln Integrationsregeln SQL-Standard o SQL 92 Standard (siehe Folien) SQL 3 (neuer Standard) SQL 4 (zukünftiger Standard mit objekt-relationalen Eigenschaften) Besonderheiten DB2 Besonderheiten Oracle Schnittstellen Embedded SQL o Konzept: Einbetten der SQL-Anweisung in den Programm-Quelltext o Precompiler o Hostvariable o Indikatorvariable o Cursor Prinzip (ähnlich Auslesen sequentieller Dateien) o Statisches SQL (Struktur der Anweisung steht zur Übersetzungszeit fest) o Dynamisches SQL (Anweisungen erst zur Laufzeit bekannt) einmalige Eingabe mehrfache Eingabe Probleme wegen unbekannter Struktur (Prepare, Describe) Probleme durch Precompiler CLI (Call Level Interface) o sprach- und DBMS-unabhängige SST von Prozeduraufrufen o wichtiger Standard: Trennung zwischen SQL und Programmiersprache, wohldefinierter Übergabemechanismus zwischen Programm und CLI-Routine, Implementation weitgehend datenbankunabhängig o Nach- und Vorteile gegenüber Embedded SQL o Typische Verarbeitung ODBC o Kommunikation wird übers Netz adressiert o Bei Clients ist MS-Umgebung gefordert JDBC o wichtiger (kommender) Standard, v.a. für DB-Prozeduren, Web-Anbindungen o besteht aus Klassen und Interfaces o Eigenschaften von Java o Anbindungsmöglichkeiten JDBC-ODBC-Bridge Java-DBMS-spezifische API JDBC-Netz mit Pure Java Treiber Natives Protokoll mit Pure Java Treiber o DB wird über URL adressiert (Netzwerk) o Zugangsbeispiel o Statement-Interface o PreparedStatement-Interface o CallableStatement-Interface o ResultSet-Interface o ResutSetMetaData-Interface JDBC 2.0 o java.sql o javax.sql JNDI Datenbank-Entwurf (4 Phasen-Modell) Phasen-Anforderungen o 1.Phase – Analyse o 2.Phase – Konzeptioneller Entwurf (mit ER-Modell) Normalisierung & Normalform 1-5 ER-Modell (Entity, Entity Type, Attribut, Domäne, Relationship, Aggregation, Generalisierung, Weak Entity Type, Kardinalitäten, Strukturelle Modellierung, Dynamikmodellierung, Funktionsmodellierung) o 3.Phase – Logischer Entwurf o 4.Phase – Physischer Entwurf o Verzahnung der Entwurfsphasen Sichtenerstellung (Entwurf lokaler Sichten) und Sichtenkonsolidierung o Konflikte Namenskonflikt Merkmalskonflikt Strukturkonflikt Bedingungskonflikt Abstraktionskonflikt Strategien der Zusammenführung Phasenmodell eines Konsolidierungsschrittes o Konfliktanalyse, -bereinigung, Sichtverbindung Optimierung Optimierung eines Knoten o Installation des DBMS o Bereitstellung von physischen Speicherplatz o Denormalisierung o Partitionierung der Tabellen Tabellendesign Anwendungsdesign o Clusterung s. o. o Indexierung s. o. Knotenübergreifende Optimierung o Verteilung o Replikation Redundanzen, parallelisierte Datenhaltung Nach- und Vorteile Synchronisation und Replikation Gründe und Probleme Transaktion o Eigenschaften – ACID (Atomicity, Consistency, Isolation, Durabillity) o Zwei Phasen-Commit Wait-Phasen Timeout-Mechanismus Ausfälle oder Verklemmungen (Deadlocks) Recovery Phase Synchronisation o Parallelisierungsgrad Lost updates Dirty reads Inconsistent reads Phantom reads Serializable o Sperrverfahren Zwei Phasen Sperrprotokoll o Zeitstempelverfahren o Optimistisches Synchronisationsverfahren 3 Phasen Transaktionen Deadlockfrei Rückwärtsorientierte Validierungsverfahren Vorwärtsorientierte Validierungsverfahren Replikation o Nach- und Vorteile o Korrektheit Replikationsverfahren Syntaktisches Replikationsverfahren Primay Copy ROWA-Verfahren (Read One – Write All) Voting-Verfahren Majoritz Consesus Tree Quorum Dynamische Quoren DRDA : Distributed Relational Database Arichitecture als Architekturbeschreibung, um Anwendungen und relationale Datenbanken auf Basis einer Verteilung miteinander zu verbinden DRDA beschreibt die Aktionen zwischen Application und Server Verteilter Zugriff wird in DRDA mit drei Funktionen verwirklicht, die miteinander operieren: Application Requester (AR) Application Server (AS) Database Server (DS) Limited Block Protocol Standards, auf denen DRDA aufsetzt o o o o APPC – Advanced Program to Program Communication DDM – Distributed Data Management Architecture FD:OCA – Formatted Data: Objekt Content Architecture CDRA – Character Data Representation Architecture 5 Ebenen für die Unterstützung von Verteilung o User-Assisted o Remote Request o Remote Unit of Work (RUW) o Distributed Unit of Work (DUW) o Distributed Request DRDA – Manager o SNA- bzw. TCP / IP – Manager o Agent o Supervisor o Secruity Manager o Directory o Dictionary o Resynchronisation Manager o Sync Point Manager (Rollback) o SQL Application Manager SQLAM o Relation Database Manager o DRDA Kommando Fluss (siehe Folien) Data-Ware-House – Konzept DSS (Decision Support System) o Aufgaben eines DSS Vergleich OLTP (Online transaction prozessing) - Data Warehouse Typische Methoden beim Einsatz eines RDBMS Anlegen und Laden eines Data Warehouse o SQL-Anweisungen während off-Zeit des OLTP o Snapshot o Log sniffing o Insert-, Update-, Delete-Trigger o spezielle Data Extract Programme während off-Zeit des OLTP Einführung von Redundanzen Star – Schema Snowflake – Schema Multidimensional DB o Vor- und Nachteile Objektorientierte DBMS Grundsatz und Aufgabengebiet des Objektorientierten Ansatzes o o o o o Modellierung komplexer Objekte und Datentypen, Unterstützung von Objekt-Identität, Unterscheidung von Typen und Klassen, Unterstützung von Klassenhierarchien, ggf. Modellierung von Verhalten, d.h. objekt-spezifische Methoden, die durch das Datenmodell beschreibbar sind. System – Eigenschaften eines OO-DBMS o o o o o Persistenz Mehrbenutzerfähigkeit Sekundärspeicherverwaltung Fehlertoleranz Nebenläufigkeit Das OO-DBMS Poet Poet in Beispielen (konkretes Beispiel im Skript) Trigger Optimizer und Zugriffsplan Lotus Notes Implementation mit vertikale Zerlegung und Geschäftsregeln Objektidentität Temporäre Tabellen Allgemeine Fragen