Thomas Kudraß
Taschenbuch Datenbanken
Taschenbuch Datenbanken
7
1 Datenbanken: Grundlagen und Überblick
23
1.1 Dateien und Dateisysteme
23
1.2 Terminologie
24
1.3 Merkmale eines DBMS
27
1.3.1 Aufgaben eines DBMS
27
1.3.2 Vorteile des Datenbankeinsatzes
28
1.3.3 Nachteile von Datenbanksystemen
29
1.3.4 Produkte
29
1.4 Architektur eines Datenbanksystems
30
1.4.1 Architekturen
30
1.4.2 Schemaarchitektur
31
1.4.2.1 Datenbankschema
31
1.4.2.2 Drei-Ebenen-Architektur
32
1.4.3 Datenunabhängigkeit
33
1.5 Benutzerrollen bei Entwurf und Betrieb von Datenbanken
34
1.6 Datenbanken und Informationssysteme
36
1.7 Fachgebiet Datenbanken im Überblick
37
1.7.1 Themenbereiche und Zusammenhänge
37
1.7.2 Einordnung des Fachs innerhalb der Informatik
39
1.8 Historische Entwicklung
41
1.8.1 Frühzeit
42
1.8.2 Prärelationale DBMS
42
1.8.3 Durchbruch der relationalen Datenbanken
43
1.8.4 Neue Anwendungsfelder für Datenbanken
44
1.8.5 Neuzeit
44
1.9 Datenbanken in der Forschung
45
1.9.1 Fachverbände
45
1.9.2 Aktuelle Forschungstrends
46
2 Informationsmodellierung
48
2.1 Datenbankentwurf
48
2.1.1 Phasenmodell
48
2.1.2 Anforderungsanalyse
49
2.1.3 Konzeptioneller Entwurf
50
2.1.4 Logischer Entwurf
51
2.1.5 Datendefinition
52
2.1.6 Physischer Entwurf
53
2.1.7 Implementierung und Wartung
53
2.2 Grundlagen des Entity-Relationship-Modells (ERM)
53
2.2.1 Semantische Datenmodelle
54
2.2.2 Grundkonzepte des klassischen ERM
54
2.2.2.1 Konzepte auf der Instanzebene
55
2.2.2.2 Konzepte auf der Typebene
56
2.2.2.3 Rollenmodellierung
57
2.2.3 Kardinalitäten von Beziehungstypen
58
2.2.3.1 Kardinalitäten im klassischen ERM
58
2.2.3.2 Intervalle und Komplexitätsgrade
58
2.2.4 Existenzabhängigkeit vs. Optionalität
59
2.2.5 Rekursive und n-äre Beziehungstypen
60
2.2.5.1 Rekursive Beziehungstypen
60
2.2.5.2 N-äre Beziehungstypen
61
2.2.6 Attribute
62
2.2.7 Modellierungsbeispiel
63
2.3 Erweiterungen des ERM
64
2.3.1 Erweiterungen bei Attributen
64
2.3.2 Generalisierung und Spezialisierung
65
2.3.3 Aggregation
68
2.3.4 Modellierung zeitlicher Aspekte
69
3 Relationales Datenmodell
71
3.1 Konzepte und Grundbegriffe des relationalen Datenmodells
71
3.1.1 Relationen, Tupel, Attribute und Wertebereiche
71
3.1.2 Eigenschaften von Relationen
73
3.2 Integritätsbedingungen
74
3.2.1 Grundbegriffe
74
3.2.2 Entitätsintegrität
75
3.2.3 Referenzielle Integrität
75
3.2.3.1 Begriff
75
3.2.3.2 Regeln für Fremdschlüssel
76
3.2.3.3 Gewährleistung der referenziellen Integrität bei kritischen DML-Operationen
77
3.3 Abbildung des EERM auf das relationale Datenmodell
79
3.3.1 Problemstellung
79
3.3.2 Abbildungsregeln für Attribute und Entitytypen
79
3.3.3 Abbildungsregeln für Beziehungstypen
80
3.3.4 Abbildungsregeln für die Generalisierung
83
3.4 Optimierung von Relationen
84
3.4.1 Problemstellung
84
3.4.2 Anomalien bei DML-Operationen auf Relationen
85
3.4.3 Abhängigkeiten
86
3.4.3.1 Funktionale Abhängigkeiten
86
3.4.3.2 Mehrwertige Abhängigkeiten
87
3.4.4 Verbundtreue und Abhängigkeitstreue
88
3.4.5 Normalformenlehre
89
3.4.5.1 Erste Normalform (1NF)
89
3.4.5.2 Zweite Normalform (2NF)
90
3.4.5.3 Dritte Normalform (3NF)
91
3.4.5.4 Boyce-Codd-Normalform (BCNF)
92
3.4.5.5 Vierte Normalform (4NF)
93
3.4.5.6 Fünfte Normalform (5NF)
94
3.4.5.7 Denormalisierung
96
3.5 Operationen der Relationenalgebra
96
3.5.1 Einführung
96
3.5.2 Relationenorientierte Operationen
97
3.5.3 Mengenoperationen
99
3.5.4 Relationenalgebra und relationale Sprachen
100
3.5.5 Relationenkalkül
101
4 Die Datenbanksprache SQL
103
4.1 Grundkonzepte
103
4.2 Historie
105
4.3 Spezifikationsdokumente
106
4.4 Beispieldatenbank
107
4.5 Datenbankanfragen
107
4.5.1 Einführende Beispielanfragen
108
4.5.2 Grundgerüst von Anfragen
109
4.5.3 Anfragen mit Aggregatfunktionen
111
4.5.4 Anfragen mit Tabellenfunktionen
112
4.5.5 Anfragen mit Mengenoperationen
112
4.5.6 Anfragen mit Verbundoperationen
114
4.5.7 Verschachtelte Anfragen
116
4.5.8 Rekursive Anfragen
118
4.5.9 Anfragen mit sortierter Ausgabe
119
4.6 Datenmanipulation
120
4.6.1 Einfügen von Tabellenzeilen
120
4.6.2 Ändern von Tabellenzeilen
121
4.6.3 Löschen von Tabellenzeilen
122
4.6.4 Zusammenführen von Tabellenzeilen
122
4.7 Datendefinition
123
4.7.1 SQL-Datentypen
123
4.7.2 Erzeugen und Löschen von Schemata
128
4.7.3 Erzeugen, Ändern und Löschen von Tabellen
128
4.7.4 Erzeugen und Löschen von Domänen
131
4.7.5 Erzeugen und Löschen von Integritätsbedingungen
132
4.7.6 Erzeugen und Löschen von Sichten
134
4.7.7 Erzeugen und Löschen von Routinen
135
4.7.7.1 Prozedurale SQL-Konstrukte
135
4.7.7.2 Erzeugen von SQL-Routinen
139
4.7.7.3 Erzeugen von externen Routinen
140
4.7.7.4 Löschen von Routinen
140
4.7.8 Erzeugen und Löschen von Triggern
141
4.7.9 Erzeugen und Löschen von Sequenzgeneratoren
142
4.8 Transaktionssteuerung
142
4.8.1 Transaktionsanweisungen
143
4.8.2 Isolationsebenen
144
4.8.3 Überprüfung von Integritätsbedingungen
145
4.9 Zugriffskontrolle
145
4.9.1 Vergabe von Zugriffsrechten
145
4.9.2 Zurücknahme von Zugriffsrechten
147
4.9.3 Erzeugen und Löschen von Rollen
147
5 Datenbank-Anwendungsprogrammierung
148
5.1 Grundlagen der Datenbank-Anwendungsprogrammierung
148
5.1.1 Impedance Mismatch
148
5.1.2 Einbettungstechniken
149
5.1.3 Einbettungsarten
149
5.1.3.1 Statische Programmierspracheneinbettung
149
5.1.3.2 Dynamische Programmierspracheneinbettung
150
5.1.4 Architekturansätze
151
5.1.4.1 Fat-Client-Architektur
152
5.1.4.2 Thin-Client-Architektur
152
5.1.4.3 Thin-Client-Architektur mit Applikationsserver
154
5.2 Embedded SQL
155
5.2.1 Grundidee und Architektur
155
5.2.2 Syntax
156
5.2.3 Host-Variablen
156
5.2.4 Das Cursor-Konzept
156
5.2.5 Statische Einbettung
158
5.2.6 Dynamische Einbettung
159
5.2.7 Indikatorvariablen
160
5.2.8 SQLJ
160
5.3 Aufrufschnittstellen
162
5.3.1 Überblick
162
5.3.2 SQL/CLI
162
5.3.3 JDBC
164
5.3.3.1 Treibertypen
165
5.3.3.2 Verbindung aufbauen
165
5.3.3.3 Verbindung schließen
167
5.3.3.4 Transaktionen
167
5.3.3.5 Leseanweisungen – das ResultSet
168
5.3.3.6 Änderungen
169
5.3.3.7 Zugriff auf Metadaten
171
5.4 Relationale Datenbankprogrammiersprachen
172
5.4.1 Datenbankinterne Ansätze
172
5.4.1.1 SQL/PSM
172
5.4.1.2 Benutzerdefinierte Routinen
173
5.4.1.3 Trigger
174
5.4.2 4GL-Programmiersprachen
178
5.4.2.1 Überblick
178
5.4.2.2 Beispiel: ABAP
178
5.5 Objektrelationale Abbildung
181
5.5.1 Java Persistence API (JPA)
183
5.5.1.1 Schemaabbildung
184
5.5.1.2 Datenzugriff
185
5.5.1.3 Formulieren von Anfragen
187
5.5.2 JDO – Java Data Objects
188
5.5.3 Entity Beans
192
6 Datenbanken im Web
193
6.1 Grundlagen des Web
193
6.2 Eigenschaften von Webanwendungen
195
6.2.1 Anforderungen
196
6.2.2 Webseiten
196
6.2.3 Dynamische Webseiten
199
6.2.4 Adressierung
201
6.2.5 Kommunikation
202
6.3 Datenbankanbindung im Web
204
6.3.1 Architekturen
205
6.3.2 Programmierung
206
6.3.3 Überblick
208
6.4 Datenbankanbindung über Datenexport
210
6.5 Clientseitige Datenbankanbindung
210
6.5.1 Skripteinbettung
211
6.5.2 Programmeinbettung
213
6.5.3 Weitere Techniken
216
6.6 Serverseitige Datenbankanbindung
216
6.6.1 Webseitengeneratoren
216
6.6.2 Skripteinbettung
219
6.6.3 Programmeinbettung
223
6.6.4 Applikationsserver
225
6.6.5 Webservices
227
7 Komponenten eines Datenbankmanagementsystems
231
7.1 Architektur von DBMS
231
7.1.1 Schichtenmodell
231
7.1.2 Prozessarchitektur
233
7.2 Pufferverwaltung
234
7.2.1 Notwendigkeit und Aufgabe
235
7.2.2 Speicherzuteilung
236
7.2.3 Seitenersetzung
237
7.3 Speicher- und Zugriffssystem
238
7.3.1 Aufgabe
239
7.3.2 Seiten und Sätze
239
7.3.3 Adressierung von Sätzen
241
7.4 Anfrageprozessor
242
7.4.1 Basisoperatoren
242
7.4.1.1 Unäre Operatoren
243
7.4.1.2 Binäre Operatoren
245
7.4.2 Anfrageplanung und -optimierung
246
7.4.3 Kosten und Statistiken
251
7.5 Transaktionsverwaltung
253
7.5.1 Aufgabe
253
7.5.2 Serialisierbarkeit
255
7.5.3 Sperrverfahren
257
7.5.4 Nicht sperrende Verfahren
261
7.6 Recovery
263
7.6.1 Fehlerklassen
263
7.6.2 Recovery-Strategien
264
7.6.3 Logging
265
7.6.4 Wiederanlauf im Fehlerfall
268
7.6.5 Schattenspeicherverfahren
270
7.7 Datenbanktechniken für moderne Hardware-Architekturen
270
8 Dateiorganisation und Indexe
273
8.1 Organisation von Dateien
273
8.1.1 Formen der Dateiorganisation
273
8.1.2 Dateiorganisationsformen im Vergleich
273
8.1.2.1 Basisoperationen
274
8.1.2.2 Kosten
274
8.2 Zugriffsstrukturen
275
8.2.1 Grundlagen von Zugriffsverfahren
275
8.2.2 Eigenschaften von Indexen
276
8.3 Baumbasierte Verfahren
278
8.3.1 ISAM-Bäume
278
8.3.2 Balancierte Mehrwegbäume
279
8.3.3 Digitale Bäume
281
8.4 Hash-Verfahren
282
8.4.1 Prinzip des Hashing
282
8.4.2 Erweiterbares Hashing
283
8.4.3 Weitere Hash-Verfahren
284
8.5 Mehrdimensionale Zugriffsverfahren
285
8.5.1 Mehrdimensionale Baumverfahren
285
8.5.2 Grid-File
285
8.6 Clusterung und Partitionierung
287
8.6.1 Clusterung
287
8.6.2 Partitionierung
287
8.7 Umsetzung in SQL-Systemen
288
8.7.1 Definition von Tabellen
289
8.7.2 Definition von Indexen
289
9 Optimierung von Datenbanken und Leistungsbewertung
291
9.1 Motivation der Datenbankoptimierung
291
9.1.1 Kosten von Datenbankanfragen
292
9.1.2 Optimierungspotenzial
293
9.1.3 Zielbestimmung der Datenbankoptimierung
294
9.2 Phasen der Datenbankoptimierung
296
9.3 Phase 1.1 – Optimierung des Datenbankschemas
297
9.3.1 Konzeptuelles Schema
298
9.3.1.1 Attribute
298
9.3.1.2 Tabellen
298
9.3.1.3 Redundanz
300
9.3.2 Externes Schema
301
9.3.2.1 Sichten
302
9.3.2.2 Prozedurale SQL-Erweiterungen
302
9.3.3 Internes Schema
302
9.3.3.1 Materialisierte Sichten
302
9.3.3.2 Zugriffspfadstrukturen
303
9.4 Phase 1.2 – Anwendungsoptimierung
305
9.4.1 Optimierung von Unternehmensfunktionen
305
9.4.2 Optimierung der Anwendung
305
9.4.3 Optimierungen im Mehrbenutzerbetrieb
306
9.4.4 Formulierung von SQL-Anweisungen
308
9.5 Phase 2 – Hauptspeicheroptimierung
310
9.5.1 Gestaltung des Datenbankpuffers
310
9.5.1.1 Komponenten des Datenbankpuffers
311
9.5.1.2 Größe des Datenbankpuffers
312
9.5.1.3 Blockfüllgrad
312
9.5.2 Schreiben des Datenbankpuffers
313
9.5.2.1 Sicherungspunkt-Intervalle
313
9.5.2.2 Protokolldatei
314
9.5.3 Optimierer
314
9.5.3.1 Statistiken
315
9.5.3.2 Planhinweise (Hints)
315
9.6 Phase 3 – Optimierung der Sekundärspeicherzugriffe
316
9.6.1 Zusammenspiel mit dem Betriebssystem
316
9.6.2 Verteilung der Eingabe-/Ausgabelast
317
9.6.2.1 Verteilung der Daten- und Indexdateien
317
9.6.2.2 Verteilung der Daten
317
9.6.2.3 Verteilung der Protokolldatei
318
9.6.2.4 RAID-Level
318
9.6.3 Optimierung physischer Speicherstrukturen
319
9.6.3.1 Blockgröße
319
9.6.3.2 Cluster-Techniken
320
9.6.3.3 Kompressions-Techniken
321
9.6.3.4 Reorganisation
321
9.7 Leistungsbewertung
322
9.7.1 Transaction Processing Performance Council
323
9.7.2 Vergleichbarkeit der Benchmark-Ergebnisse
324
10 Objektrelationale Datenbanken
326
10.1 Objektorientierte Konzepte
326
10.1.1 Objekte
326
10.1.2 Methoden
327
10.1.3 Kapselung
327
10.1.4 Objektidentität
327
10.1.5 Klassen
328
10.1.6 Spezialisierung
329
10.2 Objektorientierung in Datenbanken
330
10.3 Objektrelationale Standard-SQL-Konzepte
331
10.3.1 Typkonstruktoren
332
10.3.2 Distinct-Typen
334
10.3.3 Strukturierte Typen
334
10.3.4 Methoden
337
10.3.5 Benutzerdefinierte Konstruktoren
339
10.3.6 Benutzerdefinierte Casts
340
10.3.7 Benutzerdefinierte Ordnungen
341
10.3.8 Typisierte Tabellen
342
10.3.9 Typisierte Sichten
343
10.4 Objektrelationale Anfragen
345
10.4.1 Anfragen auf Kollektionen
345
10.4.2 Anfragen mit Pfadausdrücken
346
10.4.3 Anfragen mit Methodenaufrufen
346
10.4.4 Anfragen auf flachen Tabellenextensionen
347
10.4.5 Typspezifische Anfragen
347
10.4.6 Anfragen mit temporärer Typanpassung
347
11 XML und Datenbanken
349
11.1 Überblick über XML
349
11.1.1 Der XML-Standard und verwandte Standards
349
11.1.2 XML Schema
351
11.2 Anfragesprachen für XML
354
11.2.1 Pfadausdrücke (XPath und XQuery)
355
11.2.2 XQuery
356
11.3 XML und relationale Datenbanksysteme
360
11.3.1 Relationale Speicherung von XML
360
11.3.2 SQL/XML
362
11.3.3 Realisierung in kommerziellen Systemen
365
11.4 Reine XML-Datenbanksysteme
370
12 NoSQL-Datenbanksysteme
372
12.1 Motivation und Grundbegriffe
372
12.2 Klassifikation
373
12.2.1 Key-Value-Datenbanksysteme
374
12.2.1.1 Datenmodell und Schema
374
12.2.1.2 Anfragen und Datenmanipulation
375
12.2.1.3 Einsatzbereiche und Systeme
375
12.2.2 Dokumentenorientierte Datenbanksysteme
376
12.2.2.1 Datenmodell und Schema
376
12.2.2.2 Anfragen und Datenmanipulation
377
12.2.2.3 Einsatzbereiche und Systeme
378
12.2.3 Column-Family-Datenbanksysteme
378
12.2.3.1 Datenmodell und Schema
378
12.2.3.2 Anfragen und Datenmanipulation
381
12.2.3.3 Einsatzbereiche und Systeme
381
12.2.4 Weitere NoSQL-Datenbanksysteme
382
12.3 Datenmodellierung
382
12.3.1 Generelle Aspekte der Datenmodellierung in NoSQL-Datenbanksystemen
382
12.3.2 Datenmodellierung für dokumentenorientierte Datenbanken
384
12.3.3 Datenmodellierung für Column-Family-Datenbanken
386
12.3.3.1 Eingebettete Speicherung in Column-Family-Daten-banksystemen
386
12.3.3.2 Spaltenfamilien
388
12.3.4 Datenmodellierung für Key-Value-Datenbanken
389
12.4 Anwendungsentwicklung mit NoSQL-Datenbanksystemen
389
12.4.1 MapReduce
390
12.4.1.1 MapReduce-Prinzip
391
12.4.1.2 MapReduce-Beispiel
392
12.4.1.3 MapReduce-Frameworks
393
12.4.1.4 MapReduce-Trends
393
12.4.2 Schema-Management
393
12.5 Skalierbarkeit, Verfügbarkeit und Konsistenz
394
12.6 Auswahl eines geeigneten Datenbanksystems
396
12.6.1 Kriterienkatalog
396
12.6.2 Performance
396
12.6.3 Polyglotte Persistenz
397
13 Verteilte und föderierte Datenbanksysteme
398
13.1 Überblick, Grundbegriffe, Abgrenzung
398
13.1.1 Verteilte vs. parallele Datenbanksysteme
399
13.1.2 Verteilte vs. föderierte Datenbanksysteme
401
13.2 Schemaarchitektur und Entwurf verteilter Datenbanksysteme
404
13.3 Fragmentierung
405
13.3.1 Horizontale Fragmentierung
405
13.3.2 Vertikale Fragmentierung
407
13.3.3 Kombinierte Fragmentierung
407
13.4 Verteilungstransparenz
408
13.4.1 Vorteile verteilter Datenbanksysteme
408
13.4.2 Transparenzeigenschaften verteilter Datenbanksysteme
408
13.5 Verteilte Anfrageverarbeitung
409
13.5.1 Datenlokalisierung
411
13.5.2 Globale Optimierung der Join-Auswertung
413
13.6 Transaktionsverwaltung in verteilten Datenbanksystemen
416
13.6.1 Koordination
416
13.6.2 Synchronisation
418
13.6.3 Deadlock-Behandung
419
13.6.4 Synchronisation bei Replikation
420
13.7 Föderierte Datenbanksysteme
421
13.7.1 Autonomie und Heterogenität
422
13.7.2 Architektur föderierter DBS
423
13.7.3 Integrationsprozess
424
13.7.4 Anfrageverarbeitung in föderierten DBS
425
13.7.5 Synchronisation in föderierten DBS
426
13.8 Cloud-Datenbanken
427
13.8.1 Cloud Data Management und Big Data
427
13.8.2 Das CAP-Theorem
428
13.8.3 Database as a Service (DBaaS)
429
13.8.4 Skalierbarkeit und Verfügbarkeit
430
13.9 Trends
432
14 Data Warehouse
434
14.1 Architektur
434
14.1.1 Datenquellen
434
14.1.2 Back-End-Bereich
434
14.1.2.1 Monitore
435
14.1.2.2 Extraktionskomponenten
436
14.1.2.3 Transformationskomponente
437
14.1.2.4 Ladekomponente
438
14.1.3 Datenbank
438
14.1.3.1 Data Warehouse
438
14.1.3.2 Data Marts
440
14.1.3.3 Archiv-Datenbank
441
14.1.4 Front-End-Werkzeuge
441
14.1.4.1 Berichts- und Anfragewerkzeuge
441
14.1.4.2 OLAP-Werkzeuge
442
14.1.4.3 Data-Mining-Werkzeuge
442
14.1.4.4 Sonstige Front-End-Werkzeuge
442
14.1.5 Sonstige Werkzeuge
443
14.1.5.1 DWS-Manager
443
14.1.5.2 Metadaten-Repository
443
14.2 Multidimensionale Datenmodelle
444
14.2.1 Statische Aspekte
444
14.2.2 Dynamische Aspekte
448
14.3 Speicherung und Schemagestaltung
450
14.3.1 Relationale Speicherung
450
14.3.2 Multidimensionale Speicherung
451
14.3.3 Spaltenorientierte Speicherung
452
14.4 Erweiterung relationaler Datenbanken
455
14.4.1 Materialisierte Sichten
456
14.4.2 Partitionierung
457
14.4.3 Bitmap-Index
459
14.4.4 SQL-Erweiterungen zum Einfügen
460
14.4.5 Komplexes Gruppieren
461
14.4.6 Star Query
462
14.4.7 Bulk Loader
464
15 Data Mining
465
15.1 KDD-Prozess
465
15.2 Clustering
466
15.2.1 Definition und Beispiele
466
15.2.2 Anforderungen und Probleme
467
15.2.3 Verfahren
467
15.2.3.1 Partitionierende Verfahren
468
15.2.3.2 Hierarchische Verfahren
469
15.2.3.3 Dichtebasierte Methoden
472
15.3 Assoziationsanalyse
472
15.3.1 Definition und Beispiel
472
15.3.2 Anforderungen und Probleme
472
15.3.3 Verfahren
473
15.4 Klassifikation
476
15.4.1 Definition und Beispiele
476
15.4.2 Anforderungen
476
15.4.3 Verfahren
477
15.4.3.1 Entscheidungsbaum-Klassifikatoren
477
15.4.3.2 Regelbasierte Klassifikatoren
477
15.4.3.3 Weitere Verfahren
478
15.5 Anomalieentdeckung
478
15.5.1 Definition und Beispiele
478
15.5.2 Anforderungen und Probleme
479
15.5.3 Verfahren
479
15.5.3.1 Grafische und statistikbasierte Verfahren
480
15.5.3.2 Distanzbasierte Ansätze
480
16 Multimedia-Datenbanken
482
16.1 Einführung
482
16.2 Mediendaten
486
16.3 Suche nach Mediendaten
489
16.3.1 Textsuche
489
16.3.2 Bildsuche
491
16.3.3 Audiosuche
492
16.3.4 Videosuche
493
16.4 Mediendatentypen
494
16.5 Einbettung in Datenbanksysteme
498
16.5.1 Schemastrukturen
498
16.5.2 Anfrageformulierung
500
16.6 Einsatz
501
17 Geodatenbanken
503
17.1 Geodaten
503
17.1.1 Eigenschaften von Geodaten
503
17.1.2 Metadaten
505
17.2 Datenschemata
506
17.2.1 Standardisierung
506
17.2.2 ISO 19107 Spatial Schema
506
17.2.3 ISO 19125 Simple Feature Access
508
17.2.3.1 Datenschema
508
17.2.3.2 Datenrepräsentationen
510
17.2.4 ISO/IEC 13249-3 SQL/MM Spatial
511
17.2.5 Räumliche Bezugssysteme
512
17.2.5.1 EPSG-Bezugssysteme
514
17.2.5.2 Lineare Bezugssysteme
514
17.3 Funktionen
514
17.3.1 Geometrische Funktionen
515
17.3.2 Topologische Prädikate
516
17.3.2.1 Boolesches Modell
516
17.3.2.2 Dimensionsmodell
517
17.4 Räumliche Anfragen
519
17.4.1 Räumliche Basisanfragen
519
17.4.1.1 Räumliche Selektion
519
17.4.1.2 Räumlicher Verbund
520
17.4.1.3 Nächste-Nachbarn-Anfrage
521
17.4.2 Mehrstufige Anfragebearbeitung
521
17.4.3 Approximationen
522
17.5 Räumliche Indexe
524
17.5.1 Grundtechniken
524
17.5.1.1 Clipping
524
17.5.1.2 Punkttransformationen
525
17.5.1.3 Raumfüllende Kurven
525
17.5.1.4 Überlappende Blockregionen
526
17.5.2 Quadtrees
527
17.5.3 R-Bäume
529
17.6 Geodatenbanksysteme
531
Abkürzungsverzeichnis
533
Literaturverzeichnis
538
Sachwortverzeichnis
558
© 2009-2024 ciando GmbH