Datenbanken Prof. Jürgen Sauer Datenbanken Skriptum zur Vorlesung im SS 2001 Datenbanken Inhaltsverzeichnis 1. Typologie der Datenbanksysteme 1.1 Einführung: Grenzen der herkömmlichen Datenverarbeitung 1.2 Erläuterung von Begriffen 1.2.1 Datenbanken und Datenbanksysteme 1.2.2 Informationssysteme 1.2..2.1 Dokumentationssysteme 1.2.2.2 Data Warehouse 1.2.2.3 Expertensysteme 1.2.3 Klassifikation von Datenbanken 1.2.3.1 Grundlage: Texte und Daten 1.2.3.2 Formatierte und unformatierte Datenbestände 1.2.3.3 Daten- und Speicherstrukturen 1.2.3.4 Grundfunktionen der Datenbanksoftware 1.2.3.5 Data Dictionary / Data Directory Systeme 1.3 Datenmodelle für formatierte Datenbanken 1.3.1 1.3.1.1 1.3.1.2 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.8.1 1.3.8.2 Beschreibung der Daten in formatierten Datenbanken Entitätsmengen und ihre Beziehungen Beziehungen und Beziehungsattribute Das relationale Datenbankmodell Das Entity-Relationship Modell Das netzwerkorientierte Datenbankmodell Das hierarchische Datenbankmodell Das Koexistenz-Modell Das Datenbankmodell für objektorientierte Datenbanken Die UML zur Beschreibung von Datenbankanwendungen Die Diagramme der UML Schema-Modellierung 1. Ein logisches Datenbankschema modellieren 2. Ein physisches Datenbankschema modellieren 1.4 Standards 1.4.1 1.4.2 1.4.3 1.4.3.1 1.4.3.2 Das CODASYL-Konzept Integrated Management System (IMS) System R und SQL System R Standard-SQL 1.5 Klassifikation der DB-Anwendungen 1.5.1 Elementare Anwendungsformen Datenbanken 1.5.2 Transaktionsbetrieb 1.5.2.1 Das Zwei-Phasen-Commit-Protokoll 1.5.2.2 TP-Monitore 1.5.3 Client-Server Systeme 1.5.3.1 Fernzugriff in Netzen aus autonomen Rechnern 1.5.3.2 Client- / Server-Architekturen 1.5.3.2.1 Architekturformen 1.5.3.2.2 2-Tier- und 3-Tier Client/Server-Architekturen 1.5.3.3 Client/Server und Internet/Intranet 1.6 Verteilte Systeme 1.6.1 1.6.2 Verteilte Datenbanken Datenbankmaschinen und Datenbankrechner 1.7 Integrität 1.7.1 1.7.2 Integritätsbedingungen Integritätsregeln 2. Relationale Datenbanken 2.1 Entwurf relationaler Datenbanken durch Normalisieren 2.1.1 2.1.1.1 2.1.1.2 2.1.1.3 2.1.2 2.1.3 2.1.3.1 2.1.3.2 Normalformen Relationen in der ersten Normalform Die zweite Normalform Die dritte Normalform Spezielle Normalformen Der Normalisierungsprozeß Normalsierungsprozeß als Zerlegungsprozeß Normalisierungsprozeß als Syntheseprozeß 2.2 Mathematische Grundlagen für Sprachen in relationalen Datenbanken 2.2.1 Relationenalgebra 2.2.1.1 Die Basis: Mengenalgebra 2.2.1.2 Operationen der relationalen Algebra 1. Projektion 2. Selektion 3. Verbund 4. Division 5. Nichtalgebraische Operationen 2.2.1.3 Die Operationen der realtionalen Algebra in Standard-SQL (SQL/89) 2.2.2 Relationenkalkül 2.2.2.1 Grundlage: Das Aussagenlogik 2.2.2.2 Prädikatenlogik 2.2.2.3 Logische Systeme: Prolog 2.2.2.4 Relationenkalkül und Prädikatenlogik Datenbanken 2.2.3 Datenbankmanipulationssprachen mit Bezugspunkten auf Relationenalgebra / Relationenkalkül 2.3 SQL 2.3.1 2.3.2 2.3.2.1 2.3.2.2 2.3.2.3 2.3.2.4 2.3.2.5 2.3.5 SQL/92 Oracle-SQL Das Datenbanksystem Oracle Aufbau der Datenbank Kommunikation zwischen Benutzer und System SQL-Anweisungen von Oracle Datenbankprogrammierung 1. PL/SQL 2. Constraints 3. Trigger 4. Procedures, Functions, Packages Grundlagen der Oracle-Datenbankverwaltung Rekursive und iterative Abfragen mit SQL Einbindung von SQL in prozedurale Sprachen Embedded SQL 1. Embedded SQL in Oracle mit dem Precompiler Pro*C 2. Embedded SQL mit Java: SQLJ Dynamisches SQL Call-Schnittstelle (CLI) 1. ODBC 2. JDBC 3. Oracle Call Interface (OCI) SQL 3 3. Objektorientierte Datenbanken 3.1 Die objekt-relationale Architektur von Oracle8 2.3.2.6 2.3.3 2.3.4 2.3.4.1 2.3.4.2 2.3.5.3 3.1.1 3.1.2 3.1.3 3.2 Datenbanken Empfohlene Literatur Date, C.J.: An Intoduction to Database Systems, Volume I, Fifth Edition, Addison-Wesley, Reading Massachusetts,1990 Date, C.J.: An Introduction to Database Systems, Volume II, Addison Wesley, Reading Massachussets, 1985 Gardarin, G. / Valduriez, P.: Relational Databases and Knowledge Bases, Addison-Wesley, Reading Massachusetts, 1989 Heuer, A.: Objektorientierte Datenbanken, Addison-Wesley, Bonn ..., 1992 Ullman, J. D.: Database and Knowledge-Base Systems, Volume I, Computer Science Press, Rockville, 1988 Vossen, G.: Data Models, Database Languages and Database Mangement Systems,AddisonWesley, Wokingham, 1990 Wedekind, H.: Datenbanksysteme I, BI Wissenschaftsverlag, Mannheim ..., 1974 Froese, Jürgen / Moazzami, Mahmoud / Rautenstrauch, Claus / Welter, Heinrich: Effiziente Systementwicklung mit ORACLE7, Addison-Wesley, Bonn ..., 1994 Herrman, Uwe / Lenz, Dierk / Unbescheid, Günther: Oracle 7.3, Addison-Wesley, Bonn ... , 1997 Ault, Michael R.: Das Oracle8-Handbuch, Thompson Publishing Company, Bonn ..., 1998