Kudraß | Taschenbuch Datenbanken | E-Book | sack.de
E-Book

E-Book, Deutsch, 576 Seiten

Kudraß Taschenbuch Datenbanken

E-Book, Deutsch, 576 Seiten

ISBN: 978-3-446-44026-5
Verlag: Carl Hanser
Format: PDF
Kopierschutz: Wasserzeichen (»Systemvoraussetzungen)



Das Taschenbuch Datenbanken
-wendet sich an Studierende von Universitäten, Hochschulen und Berufsakademien sowie an Softwareingenieure und Praktiker der Informationstechnik
-gibt einen fachlich fundierten Überblick über die Grundlagen und Anwendungen von Datenbanken und spannt den Bogen über Datenbankentwurf, die Anfragesprache SQL bis zu Anwendungs- und Webprogrammierung, Implementierungstechniken, verteilte Datenbanken und Business Intelligence
-behandelt neben Grundlagen und Technologien relationaler Datenbanken auch darüber hinausgehende Entwicklungen wie objektorientierte und XML-Erweiterungen sowie Geo- und Multimedia-Datenbanken
-vermittelt Datenbankwissen in konzentrierter und übersichtlicher Form aus Anwender- und aus Entwicklerperspektive
-dient dem schnellen Nachschlagen von Fachbegriffen
-eignet sich als kompaktes und gut strukturiertes Nachschlagewerk auch besonders zur Prüfungsvorbereitung
-enthält in der 2. Auflage zahlreiche Überarbeitungen, Aktualisierungen und neue Schwerpunkte wie NoSQL
-wird ergänzt und aktualisiert durch eine Website: www.tb-datenbanken.de
Kudraß Taschenbuch Datenbanken jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Taschenbuch Datenbanken;7
1.1;1 Datenbanken: Grundlagen und Überblick;23
1.1.1;1.1 Dateien und Dateisysteme;23
1.1.2;1.2 Terminologie;24
1.1.3;1.3 Merkmale eines DBMS;27
1.1.3.1;1.3.1 Aufgaben eines DBMS ;27
1.1.3.2;1.3.2 Vorteile des Datenbankeinsatzes ;28
1.1.3.3;1.3.3 Nachteile von Datenbanksystemen ;29
1.1.3.4;1.3.4 Produkte ;29
1.1.4;1.4 Architektur eines Datenbanksystems;30
1.1.4.1;1.4.1 Architekturen ;30
1.1.4.2;1.4.2 Schemaarchitektur ;31
1.1.4.2.1;1.4.2.1 Datenbankschema ;31
1.1.4.2.2;1.4.2.2 Drei-Ebenen-Architektur ;32
1.1.4.3;1.4.3 Datenunabhängigkeit ;33
1.1.5;1.5 Benutzerrollen bei Entwurf und Betrieb von Datenbanken;34
1.1.6;1.6 Datenbanken und Informationssysteme;36
1.1.7;1.7 Fachgebiet Datenbanken im Überblick;37
1.1.7.1;1.7.1 Themenbereiche und Zusammenhänge ;37
1.1.7.2;1.7.2 Einordnung des Fachs innerhalb der Informatik ;39
1.1.8;1.8 Historische Entwicklung;41
1.1.8.1;1.8.1 Frühzeit ;42
1.1.8.2;1.8.2 Prärelationale DBMS ;42
1.1.8.3;1.8.3 Durchbruch der relationalen Datenbanken ;43
1.1.8.4;1.8.4 Neue Anwendungsfelder für Datenbanken ;44
1.1.8.5;1.8.5 Neuzeit ;44
1.1.9;1.9 Datenbanken in der Forschung;45
1.1.9.1;1.9.1 Fachverbände ;45
1.1.9.2;1.9.2 Aktuelle Forschungstrends ;46
1.2;2 Informationsmodellierung;48
1.2.1;2.1 Datenbankentwurf;48
1.2.1.1;2.1.1 Phasenmodell ;48
1.2.1.2;2.1.2 Anforderungsanalyse ;49
1.2.1.3;2.1.3 Konzeptioneller Entwurf ;50
1.2.1.4;2.1.4 Logischer Entwurf ;51
1.2.1.5;2.1.5 Datendefinition ;52
1.2.1.6;2.1.6 Physischer Entwurf ;53
1.2.1.7;2.1.7 Implementierung und Wartung ;53
1.2.2;2.2 Grundlagen des Entity-Relationship-Modells (ERM);53
1.2.2.1;2.2.1 Semantische Datenmodelle ;54
1.2.2.2;2.2.2 Grundkonzepte des klassischen ERM ;54
1.2.2.2.1;2.2.2.1 Konzepte auf der Instanzebene ;55
1.2.2.2.2;2.2.2.2 Konzepte auf der Typebene ;56
1.2.2.2.3;2.2.2.3 Rollenmodellierung ;57
1.2.2.3;2.2.3 Kardinalitäten von Beziehungstypen ;58
1.2.2.3.1;2.2.3.1 Kardinalitäten im klassischen ERM ;58
1.2.2.3.2;2.2.3.2 Intervalle und Komplexitätsgrade ;58
1.2.2.4;2.2.4 Existenzabhängigkeit vs. Optionalität ;59
1.2.2.5;2.2.5 Rekursive und n-äre Beziehungstypen ;60
1.2.2.5.1;2.2.5.1 Rekursive Beziehungstypen ;60
1.2.2.5.2;2.2.5.2 N-äre Beziehungstypen ;61
1.2.2.6;2.2.6 Attribute ;62
1.2.2.7;2.2.7 Modellierungsbeispiel ;63
1.2.3;2.3 Erweiterungen des ERM;64
1.2.3.1;2.3.1 Erweiterungen bei Attributen ;64
1.2.3.2;2.3.2 Generalisierung und Spezialisierung ;65
1.2.3.3;2.3.3 Aggregation ;68
1.2.3.4;2.3.4 Modellierung zeitlicher Aspekte ;69
1.3;3 Relationales Datenmodell;71
1.3.1;3.1 Konzepte und Grundbegriffe des relationalen Datenmodells;71
1.3.1.1;3.1.1 Relationen, Tupel, Attribute und Wertebereiche ;71
1.3.1.2;3.1.2 Eigenschaften von Relationen ;73
1.3.2;3.2 Integritätsbedingungen;74
1.3.2.1;3.2.1 Grundbegriffe ;74
1.3.2.2;3.2.2 Entitätsintegrität ;75
1.3.2.3;3.2.3 Referenzielle Integrität ;75
1.3.2.3.1;3.2.3.1 Begriff ;75
1.3.2.3.2;3.2.3.2 Regeln für Fremdschlüssel ;76
1.3.2.3.3;3.2.3.3 Gewährleistung der referenziellen Integrität bei kritischen DML-Operationen ;77
1.3.3;3.3 Abbildung des EERM auf das relationale Datenmodell;79
1.3.3.1;3.3.1 Problemstellung ;79
1.3.3.2;3.3.2 Abbildungsregeln für Attribute und Entitytypen ;79
1.3.3.3;3.3.3 Abbildungsregeln für Beziehungstypen ;80
1.3.3.4;3.3.4 Abbildungsregeln für die Generalisierung ;83
1.3.4;3.4 Optimierung von Relationen;84
1.3.4.1;3.4.1 Problemstellung ;84
1.3.4.2;3.4.2 Anomalien bei DML-Operationen auf Relationen ;85
1.3.4.3;3.4.3 Abhängigkeiten ;86
1.3.4.3.1;3.4.3.1 Funktionale Abhängigkeiten ;86
1.3.4.3.2;3.4.3.2 Mehrwertige Abhängigkeiten ;87
1.3.4.4;3.4.4 Verbundtreue und Abhängigkeitstreue ;88
1.3.4.5;3.4.5 Normalformenlehre ;89
1.3.4.5.1;3.4.5.1 Erste Normalform (1NF) ;89
1.3.4.5.2;3.4.5.2 Zweite Normalform (2NF) ;90
1.3.4.5.3;3.4.5.3 Dritte Normalform (3NF) ;91
1.3.4.5.4;3.4.5.4 Boyce-Codd-Normalform (BCNF) ;92
1.3.4.5.5;3.4.5.5 Vierte Normalform (4NF) ;93
1.3.4.5.6;3.4.5.6 Fünfte Normalform (5NF) ;94
1.3.4.5.7;3.4.5.7 Denormalisierung ;96
1.3.5;3.5 Operationen der Relationenalgebra;96
1.3.5.1;3.5.1 Einführung ;96
1.3.5.2;3.5.2 Relationenorientierte Operationen ;97
1.3.5.3;3.5.3 Mengenoperationen ;99
1.3.5.4;3.5.4 Relationenalgebra und relationale Sprachen ;100
1.3.5.5;3.5.5 Relationenkalkül ;101
1.4;4 Die Datenbanksprache SQL;103
1.4.1;4.1 Grundkonzepte;103
1.4.2;4.2 Historie;105
1.4.3;4.3 Spezifikationsdokumente;106
1.4.4;4.4 Beispieldatenbank;107
1.4.5;4.5 Datenbankanfragen;107
1.4.5.1;4.5.1 Einführende Beispielanfragen ;108
1.4.5.2;4.5.2 Grundgerüst von Anfragen ;109
1.4.5.3;4.5.3 Anfragen mit Aggregatfunktionen ;111
1.4.5.4;4.5.4 Anfragen mit Tabellenfunktionen ;112
1.4.5.5;4.5.5 Anfragen mit Mengenoperationen ;112
1.4.5.6;4.5.6 Anfragen mit Verbundoperationen ;114
1.4.5.7;4.5.7 Verschachtelte Anfragen ;116
1.4.5.8;4.5.8 Rekursive Anfragen ;118
1.4.5.9;4.5.9 Anfragen mit sortierter Ausgabe ;119
1.4.6;4.6 Datenmanipulation;120
1.4.6.1;4.6.1 Einfügen von Tabellenzeilen ;120
1.4.6.2;4.6.2 Ändern von Tabellenzeilen ;121
1.4.6.3;4.6.3 Löschen von Tabellenzeilen ;122
1.4.6.4;4.6.4 Zusammenführen von Tabellenzeilen ;122
1.4.7;4.7 Datendefinition;123
1.4.7.1;4.7.1 SQL-Datentypen ;123
1.4.7.2;4.7.2 Erzeugen und Löschen von Schemata ;128
1.4.7.3;4.7.3 Erzeugen, Ändern und Löschen von Tabellen ;128
1.4.7.4;4.7.4 Erzeugen und Löschen von Domänen ;131
1.4.7.5;4.7.5 Erzeugen und Löschen von Integritätsbedingungen ;132
1.4.7.6;4.7.6 Erzeugen und Löschen von Sichten ;134
1.4.7.7;4.7.7 Erzeugen und Löschen von Routinen ;135
1.4.7.7.1;4.7.7.1 Prozedurale SQL-Konstrukte ;135
1.4.7.7.2;4.7.7.2 Erzeugen von SQL-Routinen ;139
1.4.7.7.3;4.7.7.3 Erzeugen von externen Routinen ;140
1.4.7.7.4;4.7.7.4 Löschen von Routinen ;140
1.4.7.8;4.7.8 Erzeugen und Löschen von Triggern ;141
1.4.7.9;4.7.9 Erzeugen und Löschen von Sequenzgeneratoren ;142
1.4.8;4.8 Transaktionssteuerung;142
1.4.8.1;4.8.1 Transaktionsanweisungen ;143
1.4.8.2;4.8.2 Isolationsebenen ;144
1.4.8.3;4.8.3 Überprüfung von Integritätsbedingungen ;145
1.4.9;4.9 Zugriffskontrolle;145
1.4.9.1;4.9.1 Vergabe von Zugriffsrechten ;145
1.4.9.2;4.9.2 Zurücknahme von Zugriffsrechten ;147
1.4.9.3;4.9.3 Erzeugen und Löschen von Rollen ;147
1.5;5 Datenbank-Anwendungsprogrammierung;148
1.5.1;5.1 Grundlagen der Datenbank-Anwendungsprogrammierung;148
1.5.1.1;5.1.1 Impedance Mismatch ;148
1.5.1.2;5.1.2 Einbettungstechniken ;149
1.5.1.3;5.1.3 Einbettungsarten ;149
1.5.1.3.1;5.1.3.1 Statische Programmierspracheneinbettung ;149
1.5.1.3.2;5.1.3.2 Dynamische Programmierspracheneinbettung ;150
1.5.1.4;5.1.4 Architekturansätze ;151
1.5.1.4.1;5.1.4.1 Fat-Client-Architektur ;152
1.5.1.4.2;5.1.4.2 Thin-Client-Architektur ;152
1.5.1.4.3;5.1.4.3 Thin-Client-Architektur mit Applikationsserver ;154
1.5.2;5.2 Embedded SQL;155
1.5.2.1;5.2.1 Grundidee und Architektur ;155
1.5.2.2;5.2.2 Syntax ;156
1.5.2.3;5.2.3 Host-Variablen ;156
1.5.2.4;5.2.4 Das Cursor-Konzept ;156
1.5.2.5;5.2.5 Statische Einbettung ;158
1.5.2.6;5.2.6 Dynamische Einbettung ;159
1.5.2.7;5.2.7 Indikatorvariablen ;160
1.5.2.8;5.2.8 SQLJ ;160
1.5.3;5.3 Aufrufschnittstellen;162
1.5.3.1;5.3.1 Überblick ;162
1.5.3.2;5.3.2 SQL/CLI ;162
1.5.3.3;5.3.3 JDBC ;164
1.5.3.3.1;5.3.3.1 Treibertypen ;165
1.5.3.3.2;5.3.3.2 Verbindung aufbauen ;165
1.5.3.3.3;5.3.3.3 Verbindung schließen ;167
1.5.3.3.4;5.3.3.4 Transaktionen ;167
1.5.3.3.5;5.3.3.5 Leseanweisungen – das ResultSet ;168
1.5.3.3.6;5.3.3.6 Änderungen ;169
1.5.3.3.7;5.3.3.7 Zugriff auf Metadaten ;171
1.5.4;5.4 Relationale Datenbankprogrammiersprachen;172
1.5.4.1;5.4.1 Datenbankinterne Ansätze ;172
1.5.4.1.1;5.4.1.1 SQL/PSM ;172
1.5.4.1.2;5.4.1.2 Benutzerdefinierte Routinen ;173
1.5.4.1.3;5.4.1.3 Trigger ;174
1.5.4.2;5.4.2 4GL-Programmiersprachen ;178
1.5.4.2.1;5.4.2.1 Überblick ;178
1.5.4.2.2;5.4.2.2 Beispiel: ABAP ;178
1.5.5;5.5 Objektrelationale Abbildung;181
1.5.5.1;5.5.1 Java Persistence API (JPA) ;183
1.5.5.1.1;5.5.1.1 Schemaabbildung ;184
1.5.5.1.2;5.5.1.2 Datenzugriff ;185
1.5.5.1.3;5.5.1.3 Formulieren von Anfragen ;187
1.5.5.2;5.5.2 JDO – Java Data Objects ;188
1.5.5.3;5.5.3 Entity Beans ;192
1.6;6 Datenbanken im Web;193
1.6.1;6.1 Grundlagen des Web;193
1.6.2;6.2 Eigenschaften von Webanwendungen;195
1.6.2.1;6.2.1 Anforderungen ;196
1.6.2.2;6.2.2 Webseiten ;196
1.6.2.3;6.2.3 Dynamische Webseiten ;199
1.6.2.4;6.2.4 Adressierung ;201
1.6.2.5;6.2.5 Kommunikation ;202
1.6.3;6.3 Datenbankanbindung im Web;204
1.6.3.1;6.3.1 Architekturen ;205
1.6.3.2;6.3.2 Programmierung ;206
1.6.3.3;6.3.3 Überblick ;208
1.6.4;6.4 Datenbankanbindung über Datenexport;210
1.6.5;6.5 Clientseitige Datenbankanbindung;210
1.6.5.1;6.5.1 Skripteinbettung ;211
1.6.5.2;6.5.2 Programmeinbettung ;213
1.6.5.3;6.5.3 Weitere Techniken ;216
1.6.6;6.6 Serverseitige Datenbankanbindung;216
1.6.6.1;6.6.1 Webseitengeneratoren ;216
1.6.6.2;6.6.2 Skripteinbettung ;219
1.6.6.3;6.6.3 Programmeinbettung ;223
1.6.6.4;6.6.4 Applikationsserver ;225
1.6.6.5;6.6.5 Webservices ;227
1.7;7 Komponenten eines Datenbankmanagementsystems;231
1.7.1;7.1 Architektur von DBMS;231
1.7.1.1;7.1.1 Schichtenmodell ;231
1.7.1.2;7.1.2 Prozessarchitektur ;233
1.7.2;7.2 Pufferverwaltung;234
1.7.2.1;7.2.1 Notwendigkeit und Aufgabe ;235
1.7.2.2;7.2.2 Speicherzuteilung ;236
1.7.2.3;7.2.3 Seitenersetzung ;237
1.7.3;7.3 Speicher- und Zugriffssystem;238
1.7.3.1;7.3.1 Aufgabe ;239
1.7.3.2;7.3.2 Seiten und Sätze ;239
1.7.3.3;7.3.3 Adressierung von Sätzen ;241
1.7.4;7.4 Anfrageprozessor;242
1.7.4.1;7.4.1 Basisoperatoren ;242
1.7.4.1.1;7.4.1.1 Unäre Operatoren ;243
1.7.4.1.2;7.4.1.2 Binäre Operatoren ;245
1.7.4.2;7.4.2 Anfrageplanung und -optimierung ;246
1.7.4.3;7.4.3 Kosten und Statistiken ;251
1.7.5;7.5 Transaktionsverwaltung;253
1.7.5.1;7.5.1 Aufgabe ;253
1.7.5.2;7.5.2 Serialisierbarkeit ;255
1.7.5.3;7.5.3 Sperrverfahren ;257
1.7.5.4;7.5.4 Nicht sperrende Verfahren ;261
1.7.6;7.6 Recovery;263
1.7.6.1;7.6.1 Fehlerklassen ;263
1.7.6.2;7.6.2 Recovery-Strategien ;264
1.7.6.3;7.6.3 Logging ;265
1.7.6.4;7.6.4 Wiederanlauf im Fehlerfall ;268
1.7.6.5;7.6.5 Schattenspeicherverfahren ;270
1.7.7;7.7 Datenbanktechniken für moderne Hardware-Architekturen;270
1.8;8 Dateiorganisation und Indexe;273
1.8.1;8.1 Organisation von Dateien;273
1.8.1.1;8.1.1 Formen der Dateiorganisation ;273
1.8.1.2;8.1.2 Dateiorganisationsformen im Vergleich ;273
1.8.1.2.1;8.1.2.1 Basisoperationen ;274
1.8.1.2.2;8.1.2.2 Kosten ;274
1.8.2;8.2 Zugriffsstrukturen;275
1.8.2.1;8.2.1 Grundlagen von Zugriffsverfahren ;275
1.8.2.2;8.2.2 Eigenschaften von Indexen ;276
1.8.3;8.3 Baumbasierte Verfahren;278
1.8.3.1;8.3.1 ISAM-Bäume ;278
1.8.3.2;8.3.2 Balancierte Mehrwegbäume ;279
1.8.3.3;8.3.3 Digitale Bäume ;281
1.8.4;8.4 Hash-Verfahren;282
1.8.4.1;8.4.1 Prinzip des Hashing ;282
1.8.4.2;8.4.2 Erweiterbares Hashing ;283
1.8.4.3;8.4.3 Weitere Hash-Verfahren ;284
1.8.5;8.5 Mehrdimensionale Zugriffsverfahren;285
1.8.5.1;8.5.1 Mehrdimensionale Baumverfahren ;285
1.8.5.2;8.5.2 Grid-File ;285
1.8.6;8.6 Clusterung und Partitionierung;287
1.8.6.1;8.6.1 Clusterung ;287
1.8.6.2;8.6.2 Partitionierung ;287
1.8.7;8.7 Umsetzung in SQL-Systemen;288
1.8.7.1;8.7.1 Definition von Tabellen ;289
1.8.7.2;8.7.2 Definition von Indexen ;289
1.9;9 Optimierung von Datenbanken und Leistungsbewertung;291
1.9.1;9.1 Motivation der Datenbankoptimierung;291
1.9.1.1;9.1.1 Kosten von Datenbankanfragen ;292
1.9.1.2;9.1.2 Optimierungspotenzial ;293
1.9.1.3;9.1.3 Zielbestimmung der Datenbankoptimierung ;294
1.9.2;9.2 Phasen der Datenbankoptimierung;296
1.9.3;9.3 Phase 1.1 – Optimierung des Datenbankschemas;297
1.9.3.1;9.3.1 Konzeptuelles Schema ;298
1.9.3.1.1;9.3.1.1 Attribute ;298
1.9.3.1.2;9.3.1.2 Tabellen ;298
1.9.3.1.3;9.3.1.3 Redundanz ;300
1.9.3.2;9.3.2 Externes Schema ;301
1.9.3.2.1;9.3.2.1 Sichten ;302
1.9.3.2.2;9.3.2.2 Prozedurale SQL-Erweiterungen ;302
1.9.3.3;9.3.3 Internes Schema ;302
1.9.3.3.1;9.3.3.1 Materialisierte Sichten ;302
1.9.3.3.2;9.3.3.2 Zugriffspfadstrukturen ;303
1.9.4;9.4 Phase 1.2 – Anwendungsoptimierung;305
1.9.4.1;9.4.1 Optimierung von Unternehmensfunktionen ;305
1.9.4.2;9.4.2 Optimierung der Anwendung ;305
1.9.4.3;9.4.3 Optimierungen im Mehrbenutzerbetrieb ;306
1.9.4.4;9.4.4 Formulierung von SQL-Anweisungen ;308
1.9.5;9.5 Phase 2 – Hauptspeicheroptimierung;310
1.9.5.1;9.5.1 Gestaltung des Datenbankpuffers ;310
1.9.5.1.1;9.5.1.1 Komponenten des Datenbankpuffers ;311
1.9.5.1.2;9.5.1.2 Größe des Datenbankpuffers ;312
1.9.5.1.3;9.5.1.3 Blockfüllgrad ;312
1.9.5.2;9.5.2 Schreiben des Datenbankpuffers ;313
1.9.5.2.1;9.5.2.1 Sicherungspunkt-Intervalle ;313
1.9.5.2.2;9.5.2.2 Protokolldatei ;314
1.9.5.3;9.5.3 Optimierer ;314
1.9.5.3.1;9.5.3.1 Statistiken ;315
1.9.5.3.2;9.5.3.2 Planhinweise (Hints) ;315
1.9.6;9.6 Phase 3 – Optimierung der Sekundärspeicherzugriffe;316
1.9.6.1;9.6.1 Zusammenspiel mit dem Betriebssystem ;316
1.9.6.2;9.6.2 Verteilung der Eingabe-/Ausgabelast ;317
1.9.6.2.1;9.6.2.1 Verteilung der Daten- und Indexdateien ;317
1.9.6.2.2;9.6.2.2 Verteilung der Daten ;317
1.9.6.2.3;9.6.2.3 Verteilung der Protokolldatei ;318
1.9.6.2.4;9.6.2.4 RAID-Level ;318
1.9.6.3;9.6.3 Optimierung physischer Speicherstrukturen ;319
1.9.6.3.1;9.6.3.1 Blockgröße ;319
1.9.6.3.2;9.6.3.2 Cluster-Techniken ;320
1.9.6.3.3;9.6.3.3 Kompressions-Techniken ;321
1.9.6.3.4;9.6.3.4 Reorganisation ;321
1.9.7;9.7 Leistungsbewertung;322
1.9.7.1;9.7.1 Transaction Processing Performance Council ;323
1.9.7.2;9.7.2 Vergleichbarkeit der Benchmark-Ergebnisse ;324
1.10;10 Objektrelationale Datenbanken;326
1.10.1;10.1 Objektorientierte Konzepte;326
1.10.1.1;10.1.1 Objekte ;326
1.10.1.2;10.1.2 Methoden ;327
1.10.1.3;10.1.3 Kapselung ;327
1.10.1.4;10.1.4 Objektidentität ;327
1.10.1.5;10.1.5 Klassen ;328
1.10.1.6;10.1.6 Spezialisierung ;329
1.10.2;10.2 Objektorientierung in Datenbanken;330
1.10.3;10.3 Objektrelationale Standard-SQL-Konzepte;331
1.10.3.1;10.3.1 Typkonstruktoren ;332
1.10.3.2;10.3.2 Distinct-Typen ;334
1.10.3.3;10.3.3 Strukturierte Typen ;334
1.10.3.4;10.3.4 Methoden ;337
1.10.3.5;10.3.5 Benutzerdefinierte Konstruktoren ;339
1.10.3.6;10.3.6 Benutzerdefinierte Casts ;340
1.10.3.7;10.3.7 Benutzerdefinierte Ordnungen ;341
1.10.3.8;10.3.8 Typisierte Tabellen ;342
1.10.3.9;10.3.9 Typisierte Sichten ;343
1.10.4;10.4 Objektrelationale Anfragen;345
1.10.4.1;10.4.1 Anfragen auf Kollektionen ;345
1.10.4.2;10.4.2 Anfragen mit Pfadausdrücken ;346
1.10.4.3;10.4.3 Anfragen mit Methodenaufrufen ;346
1.10.4.4;10.4.4 Anfragen auf flachen Tabellenextensionen ;347
1.10.4.5;10.4.5 Typspezifische Anfragen ;347
1.10.4.6;10.4.6 Anfragen mit temporärer Typanpassung ;347
1.11;11 XML und Datenbanken;349
1.11.1;11.1 Überblick über XML;349
1.11.1.1;11.1.1 Der XML-Standard und verwandte Standards ;349
1.11.1.2;11.1.2 XML Schema ;351
1.11.2;11.2 Anfragesprachen für XML;354
1.11.2.1;11.2.1 Pfadausdrücke (XPath und XQuery) ;355
1.11.2.2;11.2.2 XQuery ;356
1.11.3;11.3 XML und relationale Datenbanksysteme;360
1.11.3.1;11.3.1 Relationale Speicherung von XML ;360
1.11.3.2;11.3.2 SQL/XML ;362
1.11.3.3;11.3.3 Realisierung in kommerziellen Systemen ;365
1.11.4;11.4 Reine XML-Datenbanksysteme;370
1.12;12 NoSQL-Datenbanksysteme;372
1.12.1;12.1 Motivation und Grundbegriffe;372
1.12.2;12.2 Klassifikation;373
1.12.2.1;12.2.1 Key-Value-Datenbanksysteme ;374
1.12.2.1.1;12.2.1.1 Datenmodell und Schema ;374
1.12.2.1.2;12.2.1.2 Anfragen und Datenmanipulation ;375
1.12.2.1.3;12.2.1.3 Einsatzbereiche und Systeme ;375
1.12.2.2;12.2.2 Dokumentenorientierte Datenbanksysteme ;376
1.12.2.2.1;12.2.2.1 Datenmodell und Schema ;376
1.12.2.2.2;12.2.2.2 Anfragen und Datenmanipulation ;377
1.12.2.2.3;12.2.2.3 Einsatzbereiche und Systeme ;378
1.12.2.3;12.2.3 Column-Family-Datenbanksysteme ;378
1.12.2.3.1;12.2.3.1 Datenmodell und Schema ;378
1.12.2.3.2;12.2.3.2 Anfragen und Datenmanipulation ;381
1.12.2.3.3;12.2.3.3 Einsatzbereiche und Systeme ;381
1.12.2.4;12.2.4 Weitere NoSQL-Datenbanksysteme ;382
1.12.3;12.3 Datenmodellierung;382
1.12.3.1;12.3.1 Generelle Aspekte der Datenmodellierung in NoSQL-Datenbanksystemen ;382
1.12.3.2;12.3.2 Datenmodellierung für dokumentenorientierte Datenbanken ;384
1.12.3.3;12.3.3 Datenmodellierung für Column-Family-Datenbanken ;386
1.12.3.3.1;12.3.3.1 Eingebettete Speicherung in Column-Family-Daten-banksystemen ;386
1.12.3.3.2;12.3.3.2 Spaltenfamilien ;388
1.12.3.4;12.3.4 Datenmodellierung für Key-Value-Datenbanken ;389
1.12.4;12.4 Anwendungsentwicklung mit NoSQL-Datenbanksystemen;389
1.12.4.1;12.4.1 MapReduce ;390
1.12.4.1.1;12.4.1.1 MapReduce-Prinzip ;391
1.12.4.1.2;12.4.1.2 MapReduce-Beispiel ;392
1.12.4.1.3;12.4.1.3 MapReduce-Frameworks ;393
1.12.4.1.4;12.4.1.4 MapReduce-Trends ;393
1.12.4.2;12.4.2 Schema-Management ;393
1.12.5;12.5 Skalierbarkeit, Verfügbarkeit und Konsistenz;394
1.12.6;12.6 Auswahl eines geeigneten Datenbanksystems;396
1.12.6.1;12.6.1 Kriterienkatalog ;396
1.12.6.2;12.6.2 Performance ;396
1.12.6.3;12.6.3 Polyglotte Persistenz ;397
1.13;13 Verteilte und föderierte Datenbanksysteme;398
1.13.1;13.1 Überblick, Grundbegriffe, Abgrenzung;398
1.13.1.1;13.1.1 Verteilte vs. parallele Datenbanksysteme ;399
1.13.1.2;13.1.2 Verteilte vs. föderierte Datenbanksysteme ;401
1.13.2;13.2 Schemaarchitektur und Entwurf verteilter Datenbanksysteme;404
1.13.3;13.3 Fragmentierung;405
1.13.3.1;13.3.1 Horizontale Fragmentierung ;405
1.13.3.2;13.3.2 Vertikale Fragmentierung ;407
1.13.3.3;13.3.3 Kombinierte Fragmentierung ;407
1.13.4;13.4 Verteilungstransparenz;408
1.13.4.1;13.4.1 Vorteile verteilter Datenbanksysteme ;408
1.13.4.2;13.4.2 Transparenzeigenschaften verteilter Datenbanksysteme ;408
1.13.5;13.5 Verteilte Anfrageverarbeitung;409
1.13.5.1;13.5.1 Datenlokalisierung ;411
1.13.5.2;13.5.2 Globale Optimierung der Join-Auswertung ;413
1.13.6;13.6 Transaktionsverwaltung in verteilten Datenbanksystemen;416
1.13.6.1;13.6.1 Koordination ;416
1.13.6.2;13.6.2 Synchronisation ;418
1.13.6.3;13.6.3 Deadlock-Behandung ;419
1.13.6.4;13.6.4 Synchronisation bei Replikation ;420
1.13.7;13.7 Föderierte Datenbanksysteme;421
1.13.7.1;13.7.1 Autonomie und Heterogenität ;422
1.13.7.2;13.7.2 Architektur föderierter DBS ;423
1.13.7.3;13.7.3 Integrationsprozess ;424
1.13.7.4;13.7.4 Anfrageverarbeitung in föderierten DBS ;425
1.13.7.5;13.7.5 Synchronisation in föderierten DBS ;426
1.13.8;13.8 Cloud-Datenbanken;427
1.13.8.1;13.8.1 Cloud Data Management und Big Data ;427
1.13.8.2;13.8.2 Das CAP-Theorem ;428
1.13.8.3;13.8.3 Database as a Service (DBaaS) ;429
1.13.8.4;13.8.4 Skalierbarkeit und Verfügbarkeit ;430
1.13.9;13.9 Trends;432
1.14;14 Data Warehouse;434
1.14.1;14.1 Architektur;434
1.14.1.1;14.1.1 Datenquellen ;434
1.14.1.2;14.1.2 Back-End-Bereich ;434
1.14.1.2.1;14.1.2.1 Monitore ;435
1.14.1.2.2;14.1.2.2 Extraktionskomponenten ;436
1.14.1.2.3;14.1.2.3 Transformationskomponente ;437
1.14.1.2.4;14.1.2.4 Ladekomponente ;438
1.14.1.3;14.1.3 Datenbank ;438
1.14.1.3.1;14.1.3.1 Data Warehouse ;438
1.14.1.3.2;14.1.3.2 Data Marts ;440
1.14.1.3.3;14.1.3.3 Archiv-Datenbank ;441
1.14.1.4;14.1.4 Front-End-Werkzeuge ;441
1.14.1.4.1;14.1.4.1 Berichts- und Anfragewerkzeuge ;441
1.14.1.4.2;14.1.4.2 OLAP-Werkzeuge ;442
1.14.1.4.3;14.1.4.3 Data-Mining-Werkzeuge ;442
1.14.1.4.4;14.1.4.4 Sonstige Front-End-Werkzeuge ;442
1.14.1.5;14.1.5 Sonstige Werkzeuge ;443
1.14.1.5.1;14.1.5.1 DWS-Manager ;443
1.14.1.5.2;14.1.5.2 Metadaten-Repository ;443
1.14.2;14.2 Multidimensionale Datenmodelle;444
1.14.2.1;14.2.1 Statische Aspekte ;444
1.14.2.2;14.2.2 Dynamische Aspekte ;448
1.14.3;14.3 Speicherung und Schemagestaltung;450
1.14.3.1;14.3.1 Relationale Speicherung ;450
1.14.3.2;14.3.2 Multidimensionale Speicherung ;451
1.14.3.3;14.3.3 Spaltenorientierte Speicherung ;452
1.14.4;14.4 Erweiterung relationaler Datenbanken;455
1.14.4.1;14.4.1 Materialisierte Sichten ;456
1.14.4.2;14.4.2 Partitionierung ;457
1.14.4.3;14.4.3 Bitmap-Index ;459
1.14.4.4;14.4.4 SQL-Erweiterungen zum Einfügen ;460
1.14.4.5;14.4.5 Komplexes Gruppieren ;461
1.14.4.6;14.4.6 Star Query ;462
1.14.4.7;14.4.7 Bulk Loader ;464
1.15;15 Data Mining;465
1.15.1;15.1 KDD-Prozess;465
1.15.2;15.2 Clustering;466
1.15.2.1;15.2.1 Definition und Beispiele ;466
1.15.2.2;15.2.2 Anforderungen und Probleme ;467
1.15.2.3;15.2.3 Verfahren ;467
1.15.2.3.1;15.2.3.1 Partitionierende Verfahren ;468
1.15.2.3.2;15.2.3.2 Hierarchische Verfahren ;469
1.15.2.3.3;15.2.3.3 Dichtebasierte Methoden ;472
1.15.3;15.3 Assoziationsanalyse;472
1.15.3.1;15.3.1 Definition und Beispiel ;472
1.15.3.2;15.3.2 Anforderungen und Probleme ;472
1.15.3.3;15.3.3 Verfahren ;473
1.15.4;15.4 Klassifikation;476
1.15.4.1;15.4.1 Definition und Beispiele ;476
1.15.4.2;15.4.2 Anforderungen ;476
1.15.4.3;15.4.3 Verfahren ;477
1.15.4.3.1;15.4.3.1 Entscheidungsbaum-Klassifikatoren ;477
1.15.4.3.2;15.4.3.2 Regelbasierte Klassifikatoren ;477
1.15.4.3.3;15.4.3.3 Weitere Verfahren ;478
1.15.5;15.5 Anomalieentdeckung;478
1.15.5.1;15.5.1 Definition und Beispiele ;478
1.15.5.2;15.5.2 Anforderungen und Probleme ;479
1.15.5.3;15.5.3 Verfahren ;479
1.15.5.3.1;15.5.3.1 Grafische und statistikbasierte Verfahren ;480
1.15.5.3.2;15.5.3.2 Distanzbasierte Ansätze ;480
1.16;16 Multimedia-Datenbanken;482
1.16.1;16.1 Einführung;482
1.16.2;16.2 Mediendaten;486
1.16.3;16.3 Suche nach Mediendaten;489
1.16.3.1;16.3.1 Textsuche ;489
1.16.3.2;16.3.2 Bildsuche ;491
1.16.3.3;16.3.3 Audiosuche ;492
1.16.3.4;16.3.4 Videosuche ;493
1.16.4;16.4 Mediendatentypen;494
1.16.5;16.5 Einbettung in Datenbanksysteme;498
1.16.5.1;16.5.1 Schemastrukturen ;498
1.16.5.2;16.5.2 Anfrageformulierung ;500
1.16.6;16.6 Einsatz;501
1.17;17 Geodatenbanken;503
1.17.1;17.1 Geodaten;503
1.17.1.1;17.1.1 Eigenschaften von Geodaten ;503
1.17.1.2;17.1.2 Metadaten ;505
1.17.2;17.2 Datenschemata;506
1.17.2.1;17.2.1 Standardisierung ;506
1.17.2.2;17.2.2 ISO 19107 Spatial Schema ;506
1.17.2.3;17.2.3 ISO 19125 Simple Feature Access ;508
1.17.2.3.1;17.2.3.1 Datenschema ;508
1.17.2.3.2;17.2.3.2 Datenrepräsentationen ;510
1.17.2.4;17.2.4 ISO/IEC 13249-3 SQL/MM Spatial ;511
1.17.2.5;17.2.5 Räumliche Bezugssysteme ;512
1.17.2.5.1;17.2.5.1 EPSG-Bezugssysteme ;514
1.17.2.5.2;17.2.5.2 Lineare Bezugssysteme ;514
1.17.3;17.3 Funktionen;514
1.17.3.1;17.3.1 Geometrische Funktionen ;515
1.17.3.2;17.3.2 Topologische Prädikate ;516
1.17.3.2.1;17.3.2.1 Boolesches Modell ;516
1.17.3.2.2;17.3.2.2 Dimensionsmodell ;517
1.17.4;17.4 Räumliche Anfragen;519
1.17.4.1;17.4.1 Räumliche Basisanfragen ;519
1.17.4.1.1;17.4.1.1 Räumliche Selektion ;519
1.17.4.1.2;17.4.1.2 Räumlicher Verbund ;520
1.17.4.1.3;17.4.1.3 Nächste-Nachbarn-Anfrage ;521
1.17.4.2;17.4.2 Mehrstufige Anfragebearbeitung ;521
1.17.4.3;17.4.3 Approximationen ;522
1.17.5;17.5 Räumliche Indexe;524
1.17.5.1;17.5.1 Grundtechniken ;524
1.17.5.1.1;17.5.1.1 Clipping ;524
1.17.5.1.2;17.5.1.2 Punkttransformationen ;525
1.17.5.1.3;17.5.1.3 Raumfüllende Kurven ;525
1.17.5.1.4;17.5.1.4 Überlappende Blockregionen ;526
1.17.5.2;17.5.2 Quadtrees ;527
1.17.5.3;17.5.3 R-Bäume ;529
1.17.6;17.6 Geodatenbanksysteme;531
1.18;Abkürzungsverzeichnis;533
1.19;Literaturverzeichnis;538
1.20;Sachwortverzeichnis;558


-Datenbanken: Grundlagen und Überblick
-Informationsmodellierung
-Relationales Datenmodell
-Die Datenbanksprache SQL
-Datenbankanwendungsprogrammierung
-Datenbanken im Web
-Komponenten eines Datenbankmanagementsystems
-Dateiorganisation und Indexe
-Optimierung von Datenbanken und Leistungsbewertung
-Objektrelationale Datenbanken
-XML und Datenbanken
-Verteilte und föderierte Datenbanksysteme
-Data Warehouse
-Data Mining
-Multimedia-Datenbanken
-Geodatenbanken
-Datenbanken in OLTP-Systemen


Kudraß, Thomas
Prof. Dr.-Ing. Thomas Kudraß ist Professor für Datenbanken an der HTWK Leipzig (Fakultät Informatik und Medien) und hat bereits an mehreren Büchern zum Thema Datenbanken mitgewirkt.

Prof. Dr.-Ing. Thomas Kudraß ist Professor für Datenbanken an der HTWK Leipzig (Fakultät Informatik und Medien) und hat bereits an mehreren Büchern zum Thema Datenbanken mitgewirkt.


Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.