Objektrelationale Datenbanken

Ähnliche Dokumente
Andreas Heuer Gunter Saake Kai-Uwe Sattler. Datenbanken. kompakt

SQL objektorientiert

Datenbanken Konzepte und Sprachen

Kapitel 1 Einführung in die Grundbegriffe der Datenbanken 17

Entwurf und Verarbeitung relationaler Datenbanken

Inhalt. Unland, Rainer Datenbanken im Einsatz digitalisiert durch: IDS Basel Bern

Heide Faeskorn-Woyke Birgit Bertelsmeier. Datenbanksysteme. Theorie und Praxis mit SQL2003, Oracle und MySQL

Objektrelationale, erweiterbare Datenbanken WS01/02

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD

Kapitel 3 Das ER-Modell (Analysephase) 77

Geodatenbanksysteme in Theorie und Praxis

Inhalt. 1 Einleitung Warum dieses Buch? Der rote Faden Danksagung URL zum Buch 4. TEIL I Einführung 5

Objektorientierung in Oracle

Kapitel 1 Einführung und Motivation

Geodatenbanksysteme in Theorie und Praxis

Objektrelationale, erweiterbare Datenbanken

Inhaltsverzeichnis. Vorwort zur fünften Auflage

SQL mit ORACLE. Wolf-Michael Kahler

Datenbanken Konzepte und Sprachen

Einleitung 19. Teil I Einführung in Datenbanksysteme 25. Kapitel 1 Wozu Datenbanksysteme da sind 27

Gunter Saoke Kai-Uwe Sattler Andreas Heuer. Datenbanken. Konzepte und Sprachen. Vierte Auflage

Access 2000 und MS SQL Server im Teamwork

Objektorientierte Programmierung

Grundlagen von Datenbanksystemen

Praxisbuch Objektorientierung

XML und Datenmodellierung

2 Anlegen und Konfigurieren von Datenbanken 35

Matthias Schubert. Datenbanken. Theorie, Entwurf und Programmierung relationaler Datenbanken. 2., überarbeitete Auflage. Teubner

Datenbank-Programmierung mit Visual C# 2012 (Buch + E-Book)

Datenbankprogrammierung mit MySQL 5 und PHP 5 Spona

Inhaltsverzeichnis. Lothar Piepmeyer. Grundkurs Datenbanksysteme. Von den Konzepten bis zur Anwendungsentwicklung ISBN:

anwendungen programmieren Datenbank entwerfen & Implementierung Analyse bis zur SQL- NoSQL-Datenbanken Uwe Klug Mit einer Einführung in 2.

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

Datenbanken Datenbanken 1 Belegnummer Belegnummer

Inhaltsverzeichnis. Kurzfassung. Abstract

Wiederholung VU Datenmodellierung

Richtig einsteigen: Access 2010 VBA-Programmierung

Die drei Engel der Weihnacht

Datenbanken Grundlagen und Design

5. Objekt-relationale Systeme 5.1. Erweiterungen des Relationalen Modells 5.2. SQL-Erweiterungen 5.3. MM-DB

Relationale Datenbanken

Methodische objektorientierte Softwareentwicklung

Datenbanken als Grundlage für Informationssysteme

Inhaltsverzeichnis. Vorwort...

Programmierung von verteilten Systemen und Webanwendungen mit Java EE

Taschenbuch. Datenbanken. herausgegeben von. Thomas Kudraß. Mit 159 Bildern und 28 Tabellen. ^ i Fachbuchverlag Leipzig I ^ i] im Carl Hanser Verlag

MS SQL Server Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein

Datenbanksysteme I. Lehrveranstaltungen zu Datenbanken (SS 07) DBS 2 (2+1) DBS2 IDBS2. Datenschutz und Datensicherheit. Data-Warehouse- Praktikum

Knasmüller.book Seite vii Mittwoch, 28. März : vii. Inhaltsverzeichnis

Relationale Datenbanken - Theorie und Praxis

Objektorientiertes Programmieren

Sommersemester Vorlesung: Dr. Matthias Schubert

Objektbasierte und objektorientierte Datenbanken

Kapitel 1: Wiederholungsfragen Grundlagen DBS

Access 2002 und MS SQL Server 2000

Datenbanken und SQL. Springer Vieweg. Eine praxisorientierte Einführung mit Anwendungen in Oracle, SQL Server und MySQL.

Informationssysteme Übersicht Sommersemester 2017

Grundkurs Relationale Datenbanken

Objektorientiertes Programmieren in C++

Taschenbuch Datenbanken Herausgegeben von Thomas Kudraß

Lehrplan. Datenbanken. Höhere Berufsfachschule für Automatisierungstechnik. Ministerium für Bildung

Rechnergrundlagen. Vom Rechenwerk zum Universalrechner

Einsatz und Realisierung von Datenbanken. Prof. Alfons Kemper Lehrstuhl für Informatik III: Datenbanksysteme

XML und Datenbanken. Wintersemester 2003/2004. Vorlesung: Dienstag, 13:15-15:00 Uhr IFW A36. Übung: Dienstag, 15:15-16:00 Uhr IFW A36

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis

Logischer Entwurf von Datenbanken

6 Implementierung komplexer Systeme. 6.2 Datenbank-Anbindung

Vorlesung Datenbankmanagementsysteme

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Objektorientierte Datenbanken

Rudolf Jansen. Oracle, Java, XML. Integration in Oracle9/

Grundlagen von Datenbanksystemen

Mobile Datenbanken und Informationssysteme

Einführung in SQL Datenbanken bearbeiten

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

11 Inhaltsübersicht. c M. Scholl, 2005/06 Informationssysteme: 11. Inhaltsübersicht 11-1

Kapitel DB:II. II. Datenbankentwurf und Datenbankmodelle. Entwurfsprozess Datenbankmodelle

Developing SQL Databases (MOC 20762)

Archivierung in DBMS

Inhaltsverzeichnis. Bibliografische Informationen digitalisiert durch

Software-Entwicklung mit Delphi

UML 2 glasklar Praxiswissen für die UML-Modellierung

Einsatz und Realisierung von Datenbanken. Prof. Alfons Kemper Lehrstuhl für Informatik III: Datenbanksysteme

Data Warehousing. Sommersemester Ulf Leser Wissensmanagement in der Bioinformatik

Datenbanken. Konzepte und Sprachen. Andreas Heuer Gunter Saake BIBLIOTHEK. Zweite, aktualisierte und erweiterte Auflage

Eclipse und EclipseLink

Inhaltsverzeichnis Einleitung Imperative Sprachkonzepte Objektorientierte Sprachkonzepte

Datenbanken. Prof. Jürgen Sauer. Datenbanken. Skriptum zur Vorlesung im SS 2001

Software modular bauen

1 Einleitung und Motivation

Geodatenbanksysteme in Theorie und Praxis

Neugründung eines medizinischen Versorgungszentrums aus betriebswirtschaftlicher Sicht

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

MCSA: SQL 2016 Database Development

Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg 2. Objekte, Klassen, Kapselung

Einführung in Datenbanksysteme. Donald Kossmann Institut für Informationssysteme ETH Zürich

5 Schemadefinition in objektrelationalen Datenbanksystemen

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Transkript:

Objektrelationale Datenbanken Ein Lehrbuch von Can Türker, Gunther Saake 1. Auflage Objektrelationale Datenbanken Türker / Saake schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG dpunkt.verlag 2005 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 89864 190 6

vii 1 Einleitung und Motivation... 1 1.1 Grundlegende Begriffe... 1 1.2 Aufgaben eines Datenbanksystems... 4 1.3 Akteure in Datenbanksystemen... 5 1.4 Historie von Datenbanksystemen... 6 1.5 Evolution von Datenmodellen..... 7 1.6 Anwendungen von Datenbanksystemen... 9 1.7 Objektrelationale Datenbanksysteme... 11 1.8 Objektrelationale Konzepte...... 11 1.9 Beispielanwendung... 16 1.10 Gliederung des Buches... 19 2 Architektur von Datenbanksystemen... 23 2.1 Anforderungen... 23 2.2 Schichtenarchitektur... 27 2.3 Komponenten eines DBMS... 29 2.4 Client/Server-Architekturen... 31 2.5 Erweiterbare Architekturen... 35 2.6 Architekturen für Datenbankanwendungen... 38 2.7 Schnittstellen zu DBMS... 41 2.8 Literaturhinweise..... 42 2.9 Übungsaufgaben... 42 3 Evolution von Datenmodellen.... 43 3.1 Grundkonzepte von Datenmodellen... 45 3.1.1 Komplexe Werte... 46 3.1.2 Objekte und Referenzen... 52 3.2 Relationenmodell und Erweiterungen... 55 3.2.1 Das Grundmodell... 55 3.2.2 SQL-92-Datenmodell... 57 3.2.3 NF2-Modell... 59 3.2.4 Komplex-Objekt-Modell... 64 3.2.5 Erweitertes NF2-Modell... 65

viii 3.3 Objektmodelle... 66 3.3.1 Basisobjektmodell.... 66 3.3.2 ODMG-Modell... 73 3.3.3 UML-Modell... 78 3.4 Semistrukturierte Datenmodelle..... 86 3.4.1 Merkmale semistrukturierter Datenmodelle... 87 3.4.2 Modelle für semistrukturierte Daten... 87 3.4.3 XML-Datenmodell... 89 3.5 Abschließende Bemerkungen... 94 3.6 Literaturhinweise... 97 3.7 Übungsaufgaben... 97 4 Objektrelationale Konzepte... 99 4.1 Objektrelationales Typsystem... 99 4.1.1 Basisdatentypen..... 100 4.1.2 Typumwandlungen und benutzerdefinierte Casts...101 4.1.3 Typkonstruktoren.... 103 4.1.4 Benutzerdefinierte Datentypen...106 4.1.5 Distinct-Typen...108 4.1.6 Strukturdatentypen...109 4.1.7 Typhierarchien...111 4.1.8 Methoden...114 4.1.9 Objektidentifikatoren und Referenzen...117 4.1.10 Benutzerdefinierte Ordnungen...120 4.2 Objektrelationale Tabellen...120 4.2.1 Tupeltabellen...122 4.2.2 Typisierte Tabellen...123 4.2.3 Tabellenhierarchien...126 4.3 Objektrelationale Sichten...129 4.3.1 Tupelsichten...130 4.3.2 Typisierte Sichten.... 131 4.3.3 Sichtenhierarchien...133 4.4 Weitere Konzepte...... 134 4.4.1 Benutzerdefinierte Prozeduren und Funktionen...134 4.4.2 Trigger...136 4.5 Abschließende Bemerkungen...136 4.6 Literaturhinweise...139 4.7 Übungsaufgaben...140 5 Objektrelationales SQL...141 5.1 Objektrelationales Typsystem...141 5.1.1 Basisdatentypen..... 142 5.1.2 Tupeltypkonstruktor...147

ix 5.1.3 Arraytypkonstruktor...148 5.1.4 Multimengentypkonstruktor.... 149 5.1.5 Referenztypkonstruktor...151 5.2 Datendefinition...... 152 5.2.1 Distinct-Typen..... 152 5.2.2 Strukturierte Typen und Typhierarchien..... 153 5.2.3 Tupeltabellen...... 158 5.2.4 Tupelsichten...160 5.2.5 Typisierte Tabellen und Tabellenhierarchien...160 5.2.6 Typisierte Sichten und Sichtenhierarchien...164 5.2.7 Benutzerdefinierte Routinen.... 168 5.2.8 Benutzerdefinierte Konstruktoren...173 5.2.9 Trigger...175 5.2.10 Benutzerdefinierte Casts...176 5.2.11 Benutzerdefinierte Ordnungen...177 5.3 Anfragen...179 5.3.1 Anfragespezifikation...179 5.3.2 Verbundoperatoren...183 5.3.3 Mengenoperatoren...185 5.3.4 Sortierung...185 5.3.5 Navigierende Anfragen...187 5.3.6 Anfragen mit Methodenaufrufen...187 5.3.7 Anfragen auf Kollektionen..... 188 5.3.8 Anfragen auf flachen Tabellenextensionen...189 5.3.9 Typspezifische Anfragen...189 5.3.10 Anfragen mit temporärer Typanpassung...190 5.3.11 Anfragen auf Tabellenfunktionen...191 5.3.12 Rekursive Anfragen...191 5.4 Datenmanipulation...192 5.4.1 Einfügen von Tabellenzeilen...193 5.4.2 Ändern von Tabellenspaltenwerten...194 5.4.3 Löschen von Tabellenzeilen...197 5.5 Schemamanipulation...198 5.6 Abschließende Bemerkungen..... 200 5.7 Literaturhinweise..... 204 5.8 Übungsaufgaben...205 6 Objektrelationaler Datenbankentwurf...209 6.1 Aspekte des Datenbankentwurfs...209 6.2 Anforderungsanalyse...211 6.3 Konzeptioneller Entwurf mit UML...212 6.3.1 Entwurf von Klassen...213 6.3.2 Entwurf von Assoziationen..... 216

x 6.3.3 Entwurf von Spezialisierungshierarchien..... 219 6.3.4 Generierung von Spezialisierungshierarchien...228 6.4 Logischer Entwurf mit objektrelationalem SQL...234 6.4.1 Abbildung von Klassen...234 6.4.2 Abbildung von Assoziationen.... 237 6.4.3 Abbildung von Spezialisierungshierarchien...241 6.4.4 Abbildung von abstrakten Klassen...246 6.5 Normalisierung...246 6.5.1 Anomalien...247 6.5.2 Funktionale Abhängigkeiten und Normalformen...248 6.6 Abschließende Bemerkungen...258 6.7 Literaturhinweise...259 6.8 Übungsaufgaben...259 7 Relationale Umsetzung objektrelationaler Konzepte...261 7.1 Umsetzung von Objektidentifikatoren und Referenzen...261 7.2 Umsetzung von Kollektionen...267 7.2.1 Kollektionstabellenansatz...267 7.2.2 Kollektionsspaltenansatz...275 7.3 Umsetzung von Spezialisierungshierarchien...... 280 7.3.1 Virtuelle Fragmentierung...281 7.3.2 Vertikale Fragmentierung...287 7.3.3 Horizontale Fragmentierung..... 292 7.3.4 Unterstützung von Anfragen...... 297 7.3.5 Unterstützung von Schemamanipulationen.... 305 7.3.6 Gegenüberstellung der Fragmentierungsarten...308 7.4 Umsetzung von Objektverhalten.... 310 7.5 Abschließende Bemerkungen...312 7.6 Literaturhinweise...314 7.7 Übungsaufgaben...315 8 Objektrelationale Datenbankanwendungsprogrammierung...317 8.1 JDBC: Dynamische SQL-Einbettung in Java... 318 8.1.1 Registrierung von JDBC-Treibern...320 8.1.2 Aufbau einer Datenbankverbindung...320 8.1.3 Senden von SQL-Anweisungen...321 8.1.4 Verarbeitung von Anfrageergebnissen...325 8.1.5 Fehlerbehandlung...329 8.1.6 Transaktionsanweisungen...330 8.1.7 Verarbeitung von SQL-LOBs...... 331 8.1.8 Verarbeitung von SQL-Arrays..... 333 8.1.9 Verarbeitung von SQL-Referenz...336 8.1.10 Verarbeitung von SQL-Tupeln.... 338

xi 8.1.11 Verarbeitung von Instanzen benutzerdefinierter Typen... 340 8.1.12 Benutzerdefinierte Typabbildung...341 8.2 SQLJ: Statische SQL-Einbettung in Java... 349 8.2.1 Architektur von SQLJ...351 8.2.2 SQLJ-Anweisungen...352 8.2.3 Hostvariablen und -ausdrücke...354 8.2.4 Iteratoren...355 8.2.5 Verbindungskontexte...357 8.2.6 Ausführungskontexte...359 8.2.7 Interoperation zwischen JDBC und SQLJ..... 360 8.3 Abschließende Bemerkungen..... 362 8.4 Literaturhinweise..... 363 8.5 Übungsaufgaben...363 9 Interne Strukturen und Tuning.... 365 9.1 Speicherung...365 9.1.1 Grundlagen der Speicherung.... 365 9.1.2 Speicherung von LOBs...368 9.1.3 Speicherung von OIDs und Referenzen...... 371 9.1.4 Speicherung von Kollektionen...371 9.1.5 Speicherung von Spezialisierungshierarchien...373 9.2 Indexstrukturen...... 375 9.2.1 Klassische Indexstrukturen...... 376 9.2.2 Indexstrukturen für benutzerdefinierte Routinen...380 9.2.3 Indexstrukturen für Referenzen...382 9.2.4 Indexstrukturen für LOBs...387 9.2.5 Indexstrukturen für Kollektionen...388 9.2.6 Indexstrukturen für Spezialisierungshierarchien...390 9.2.7 Indexstrukturen für benutzerdefinierte Typen...392 9.3 Tuning der internen Strukturen...393 9.4 Optimierung von Anfragen...396 9.4.1 Motivation der Optimierung.... 396 9.4.2 Phasen der Anfragebearbeitung...397 9.4.3 Übersetzung und Sichtexpansion...398 9.4.4 Logische Optimierung...399 9.4.5 Effiziente Basisalgorithmen..... 403 9.4.6 Kosten von Plänen...406 9.4.7 Kostenbasierte Auswahl...407 9.5 Abschließende Bemerkungen..... 409 9.6 Literaturhinweise..... 411 9.7 Übungsaufgaben...412

xii 10 Erweiterbarkeit...413 10.1 Der Begriff der Erweiterbarkeit..... 413 10.2 Erweiterbarkeit in Standard-SQL.... 414 10.2.1 Java-Methoden als externe Routinen...415 10.2.2 Java-Klassen als externe Datentypen...422 10.3 Erweiterbarkeit in kommerziellen ORDBMS...... 431 10.3.1 Informix DataBlades...431 10.3.2 Oracle Data Options...456 10.4 Abschließende Bemerkungen...463 10.5 Literaturhinweise...464 10.6 Übungsaufgaben...465 11 XML und objektrelationale Datenbanken...467 11.1 XML-Grundlagen...468 11.1.1 Struktur von XML-Dokumenten...468 11.1.2 Darstellung und Navigation in einem Dokumentbaum.... 471 11.1.3 Typisierung von XML-Dokumenten...475 11.2 Speicherung von XML-Dokumenten...480 11.2.1 Textbasierte Speicherung von XML-Dokumenten...481 11.2.2 Modellbasierte Speicherung von XML-Dokumenten...482 11.2.3 Strukturbasierte Speicherung von XML-Dokumenten..... 486 11.3 XML-Support in Oracle...493 11.3.1 Abbildung von XML auf Oracle-Datenbanken...493 11.3.2 Behandlung von XML-Schemata...494 11.3.3 Anfragen und Änderungen..... 498 11.3.4 XML-Sichten...503 11.3.5 Generierung von XML-Dokumenten...504 11.3.6 Indexierung...506 11.4 XML-Support in DB2.... 508 11.4.1 Abbildung von XML auf DB2-Datenbanken...508 11.4.2 Abbildung von DB2-Datenbanken auf XML...518 11.4.3 Anfragen und Änderungen..... 521 11.4.4 Indexierung...522 11.5 Abschließende Bemerkungen...523 11.6 Literaturhinweise...524 11.7 Übungsaufgaben...525 12 Resümee.... 527 Abkürzungsverzeichnis...529 Literaturverzeichnis...531 Index...539