Datenbanken - Konzepte und Sprachen (eBook)
800 Seiten
MITP Verlags GmbH & Co. KG
978-3-95845-777-5 (ISBN)
Gunter Saake, Andreas Heuer und Kai-Uwe Sattler sind Professoren für Informatik an den Universitäten von Magdeburg, Rostock und Ilmenau.
Gunter Saake, Andreas Heuer und Kai-Uwe Sattler sind Professoren für Informatik an den Universitäten von Magdeburg, Rostock und Ilmenau.
Vorwort zur sechsten Auflage 5
Inhaltsverzeichnis 11
Grundlegende Konzepte 25
Motivation und Historie 25
Komponenten und Funktionen 31
Prinzipien und Aufgaben 32
Einsatzgebiete, Grenzen und Entwicklungstendenzen 34
Wann kommt was? 37
Beispielanwendung 38
Vertiefende Literatur 40
Übungsaufgaben 40
Relationale Datenbanken – Daten in Tabellen 41
Relationen für tabellarische Daten 41
Begriffe im Relationenmodell 42
Integritätsbedingungen: Schlüssel 43
Integritätsbedingungen: Fremdschlüssel 44
Datendefinition in SQL 45
Mögliche Wertebereiche in SQL 46
Beispiele für die Datendeklaration 46
Nullwerte 47
Grundoperationen: Die Relationenalgebra 47
Selektion 48
Projektion 49
Natürlicher Verbund 49
Umbenennung 51
Mengenoperationen 51
Qualität entworfener Tabellen 52
SQL als Anfragesprache 55
Änderungsoperationen in SQL 57
Die update-Anweisung 57
Die delete-Anweisung 59
Die insert-Anweisung 60
Sichten in SQL 61
Wie geht es weiter? 61
Übungsaufgaben 62
I Kernkonzepte relationaler Datenbanken 63
Architekturen von Datenbanksystemen 65
Schemaarchitektur und Datenunabhängigkeit 66
Systemarchitekturen 71
ANSI-SPARC-Architektur 71
Der Weg einer Anfrage 74
Fünf-Schichten-Architektur 76
Konkrete Systemarchitekturen 79
Anwendungsarchitekturen 83
Zusammenfassung 87
Vertiefende Literatur 87
Übungsaufgaben 88
Das Entity-Relationship-Modell 91
Datenbankmodelle 91
Grundlagen des Entity-Relationship-Modells 98
Grundkonzepte des klassischen ER-Modells 98
Ein einfaches Beispiel für ein ER-Schema 105
Semantik eines ER-Schemas 107
Eigenschaften von Beziehungen 107
Stelligkeit 108
Kardinalitäten und funktionale Beziehungen 111
Kardinalitäten in der klassischen Chen-Notation 114
Kardinalitäten in funktionaler Notation 115
Kardinalitäten in Intervallnotation 116
Weitere Konzepte im Entity-Relationship-Modell 121
Abhängige Entity-Typen 122
Die ist-Beziehung 123
Optionalität von Attributen 125
Zusammenfassung 126
Vertiefende Literatur 126
Übungsaufgaben 127
Relationenmodell und Relationenalgebra 129
Relationenmodell: Strukturteil 129
Schemata und Instanzen 130
Integritätsbedingungen 134
Relationenalgebra: Operationenteil 138
Kriterien für Anfragesprachen 139
Relationenalgebra 140
Änderungsoperationen 151
Allgemeine Grundprinzipien 152
Relationale Änderungsoperationen 153
Zusammenfassung 154
Vertiefende Literatur 154
Übungsaufgaben 154
Phasen des Datenbankentwurfs 159
Entwurfsaufgabe 159
Phasenmodell 162
Anforderungsanalyse 164
Konzeptioneller Entwurf 165
Verteilungsentwurf 167
Logischer Entwurf 168
Datendefinition 170
Physischer Entwurf 170
Implementierung und Wartung 171
Objektorientierte Entwurfsmethoden 171
Phasenbegleitende Methoden 172
Aspekte der Datenintegration 172
Heterogenität der Datenmodelle 173
Heterogene Datenbankschemata 173
Heterogenität auf der Datenebene 174
Schemakonflikte bei der Integration 175
Entity-Relationship-Abbildung auf das Relationenmodell 176
Informationskapazität 177
Beispiel für eine Abbildung auf das Relationenmodell 179
Abbildungsregeln für das relationale Modell 180
Zusammenfassung 189
Vertiefende Literatur 189
Übungsaufgaben 190
Relationaler Datenbankentwurf 191
Funktionale Abhängigkeiten 193
Definition funktionaler Abhängigkeiten 193
Ableitung von funktionalen Abhängigkeiten 195
Schemaeigenschaften 201
Änderungsanomalien 201
Normalformen 203
Minimalität 210
Transformationseigenschaften 211
Abhängigkeitstreue 211
Verbundtreue 213
Entwurfsverfahren 216
Ziele 216
Dekompositionsverfahren 217
Ausblick Syntheseverfahren 221
Zusammenfassung 222
Vertiefende Literatur 222
Übungsaufgaben 222
Die relationale Datenbanksprache SQL 225
SQL als Datendefinitionssprache 226
Erzeugen von Tabellen 227
Tabellen mit Integritätsbedingungen 231
Löschen und Ändern von Tabellendefinitionen 232
Erzeugen und Löschen von Indexen 234
SQL als relationale Anfragesprache 235
Überblick 236
Die from-Klausel 237
Die select-Klausel 240
Die where-Klausel 242
Mengenoperationen 246
Schachtelung von Anfragen 247
Mächtigkeit des SQL-Kerns 253
Änderungsoperationen in SQL 254
Übersicht über Änderungen in SQL 255
Die update-Anweisung 255
Die delete-Anweisung 257
Die insert-Anweisung 258
Die merge-Anweisung 259
Probleme bei SQL-Änderungen 260
Zusammenfassung 261
Vertiefende Literatur 261
Übungsaufgaben 262
II Erweiterte Konzepte für relationale Datenbanken 265
Erweiterter relationaler Datenbankentwurf 267
Überdeckungen von funktionalen Abhängigkeiten 268
Nicht-redundante Überdeckung 269
Reduzierte Überdeckung 271
Bildung von Äquivalenzklassen 273
Minimale Überdeckung 274
Ringförmige Überdeckung 275
Syntheseverfahren 276
Ablauf der Synthese 277
Erreichung der Verbundtreue 279
Verfeinerung des Entity-Relationship-Datenbankentwurfs 280
Mehrwertige Abhängigkeiten 281
Grundlagen 281
Schemaeigenschaften 284
Transformationseigenschaften 286
Weitere Abhängigkeiten und Normalformen 286
Verbundabhängigkeiten 286
Inklusionsabhängigkeiten 287
Weitere relationale Entwurfsverfahren 288
Weitere Anwendungen der relationalen Theorie 289
Zusammenfassung 290
Vertiefende Literatur 291
Übungsaufgaben 292
Grundlagen von relationalen Anfragen 293
Erweiterungen der Relationenalgebra 293
Anfragekalküle 297
Ein allgemeiner Kalkül 297
Ergebnisbestimmung einer Anfrage 299
Tupelkalkül 300
Definition des Tupelkalküls 300
Beispielanfragen im Tupelkalkül 301
Bezug zu SQL 302
Bereichskalkül 304
Sichere Anfragen 306
Beispielanfragen im Bereichskalkül 307
Eigenschaften des Bereichskalküls 309
Relationenalgebraoperationen im Bereichskalkül 309
Zusammenfassung 310
Vertiefende Literatur 310
Übungsaufgaben 312
Erweiterte Konzepte von SQL 315
Weitere Operationen und Prädikate 315
Skalare Ausdrücke 315
Prädikate 321
Quantoren und Mengenvergleiche 321
Behandlung von Nullwerten 324
Aggregation, Gruppierung und Sortierung 326
Aggregatfunktionen 326
Gruppierung 329
Sortierung 332
Erweiterte Aggregatfunktionen in SQL:2003 333
Top-k-Anfragen 338
Skyline-Anfragen 341
Äußere Verbunde 342
Künstliche Schlüssel und Sequenzgeneratoren 344
Benannte Anfragen und Rekursion 346
Benannte Anfragen 346
Rekursive Anfragen 347
Erkennung von Tupelmustern 355
SQL-Versionen 359
SEQUEL2 359
SQL-89 361
SQL-92 361
SQL:1999 und SQL:2003 363
SQL:2006 und SQL:2008 365
SQL:2011 und SQL:2016 365
Zusammenfassung 368
Vertiefende Literatur 368
Übungsaufgaben 368
Weitere relationale Datenbanksprachen 373
QUEL 374
Anfragen in QUEL 374
Änderungsoperationen in QUEL 377
Query by Example 377
Anfragen in QBE 378
Funktionen, Sortierung und Aggregierung in QBE 382
Formale Semantik von QBE 383
Ausdrucksfähigkeit von QBE 384
Änderungen in QBE 385
Anfragen in MS Access 387
Datalog 391
Grundbegriffe 391
Semantik rekursiver Regeln 393
Semantik und Auswertung von Datalog 394
Zusammenfassung 395
Vertiefende Literatur 396
Übungsaufgaben 396
Transaktionen, Integrität & Trigger
Grundlagen von Transaktionen 398
ACID-Prinzip 398
Probleme im Mehrbenutzerbetrieb 400
Transaktionssteuerung in SQL 405
Transaktionen und Integritätssicherung 408
Architekturen zur Integritätssicherung 409
Integritätssicherung durch Anwendung 410
Integritätsmonitor als Komponente des DBMS 410
Integritätssicherung durch Einkapselung 411
Integritätsbedingungen in SQL 412
Inhärente Integritätsbedingungen im Relationenmodell 413
Weitere Bedingungen in der SQL-DDL 413
Die assertion-Klausel 414
Verwaltung und Überprüfung von Bedingungen 415
Klassifikation von Integritätsbedingungen 416
Trigger 418
Methoden der Integritätssicherung 421
Integritätssicherung durch Trigger 422
Integritätssicherung durch Anfragemodifikation 424
Zusammenfassung 425
Vertiefende Literatur 426
Übungsaufgaben 427
Datenbankanwendungsentwicklung 429
Grundprinzipien 430
Programmiersprachenanbindung: Call-Level-Schnittstellen 432
SQL/CLI: Der Standard 433
ODBC 436
JDBC 437
Weitere Call-Level-Schnittstellen 442
Eingebettetes SQL 443
Statische Einbettung: Embedded SQL 444
Dynamische Einbettung: Dynamic SQL 451
SQLJ: Embedded SQL für Java 452
High-Level-Schnittstellen 454
Persistenz von Objekten 455
Grundlagen der Abbildung 456
JPA und Hibernate 459
Weitere Technologien 467
Prozedurale SQL-Erweiterungen und Datenbanksprachen 468
Vorteile von gespeicherten Prozeduren 469
SQL/PSM: Der Standard 470
PL/SQL von Oracle 477
Gespeicherte Prozeduren in Java 479
Anwendungsentwicklung in der Cloud 482
Database-as-a-Service und Cloud-Datenbanken 483
Klassische DBMS in der Cloud 484
NoSQL-Systeme in der Cloud 485
Zusammenfassung 485
Vertiefende Literatur 487
Übungsaufgaben 487
Sichten 489
Motivation und Begriffsbildung 490
Sichten und externe Schemata 491
Definition von Sichten 491
Definition von Sichten in SQL 492
Vorteile von Sichten 493
Probleme mit Sichten 494
Kriterien für Änderungen auf Sichten 495
Projektionssichten 496
Selektionssichten 498
Verbundsichten 499
Aggregierungssichten 501
Klassifikation der Problembereiche 502
Behandlung von Sichten in SQL 503
Auswertung von Anfragen an Sichten in SQL 504
Sichtänderungen in SQL-92 505
Sichtänderungen ab SQL:2003 506
Theorie änderbarer Sichten 508
Instead-of-Trigger für Sichtänderungen 510
Zusammenfassung 513
Vertiefende Literatur 513
Übungsaufgaben 515
Zugriffskontrolle & Privacy
Sicherheitsmodelle 519
Diskrete Sicherheitsmodelle 519
Verbindliche Sicherheitsmodelle 519
Rechtevergabe in SQL 520
Benutzer und Schemata 521
Rechtevergabe in SQL 521
Zurücknahme von Rechten 523
Rollenmodell in SQL:2003 524
Auditing 524
Authentifikation und Autorisierung 526
Privacy-Aspekte in Datenbanken 526
Statistische Datenbanken 527
Quasi-Identifikator 529
k-Anonymität 530
l-Diversität, t-Closeness, Differential Privacy 531
Datensparsame Anfrageverarbeitung 532
Zusammenfassung 535
Vertiefende Literatur 536
Übungsaufgaben 536
III Erweiterte Datenbankmodelle und -techniken 539
Multimediale Daten 541
Multimedia-Datenbanken 542
Grundbegriffe 542
Grundlagen des Multimedia Retrieval 546
Text Retrieval 553
Information Retrieval auf Texten 553
Grundtechniken des Text Retrieval 553
Deskribierung 555
Recherche 558
Ranking 563
Information-Retrieval-Systeme 566
SQL/MM 567
SQL/MM Full Text 568
SQL/MM Still Image 570
Der Datentyp Video 571
SQL/MM Spatial 572
Zusammenfassung 572
Vertiefende Literatur 572
Übungsaufgaben 574
Räumliche und temporale Daten 575
Verwaltung raumbezogener Daten 575
Grundbegriffe 576
Modellierung raumbezogener Daten 578
Prädikate und Anfragen auf raumbezogenen Daten 583
Oracle Spatial 590
Weitere Systeme 593
Temporale Daten 594
Grundbegriffe 595
Umsetzung in SQL 596
Temporale Schlüssel, Fremdschlüssel und Anfragen 598
Weitere Entwicklung und Einordnung 600
Zusammenfassung 601
Vertiefende Literatur 602
Übungsaufgaben 603
Objektorientierte und objektrelationale Modelle 605
Exkurs: Objektorientierte Datenbankmodelle 605
Abbildung von Objekten auf Relationen 607
Typkonstruktoren 608
Abbildung der Spezialisierungshierarchie 609
Objektrelationale Erweiterungen 611
Large Objects: BLOB und CLOB 612
Typkonstruktoren 612
Identitäten, Referenzen und Pfadausdrücke 617
Hierarchien und Vererbung 617
Methoden 619
Objektrelationale Konzepte in SQL:2003 619
Typsystem und DDL 620
Anfragen 627
Methoden in SQL:2003 630
Zusammenfassung 631
Vertiefende Literatur 631
Übungsaufgaben 632
XML, XQuery und SQL/XML 633
Semistrukturierte Datenmodelle 633
Merkmale semistrukturierter Datenmodelle 634
Datenmodelle für semistrukturierte Dokumente 635
XML 638
Bausteine von XML 638
Verarbeitung von XML 641
Datendefinition in XML 644
Dokumenttypdefinition 644
XML Schema 648
XML-Abbildung auf relationale Schemata 653
Navigation in XML-Dokumenten: XPath 654
Pfadausdrücke und Lokalisierungsschritte 655
Selektionsprädikate und Funktionen 659
Die Anfragesprache XQuery 661
FLWOR-Ausdrücke 662
Elementkonstruktoren 665
Verbunde und Gruppierungen 667
Ausdrücke und Vergleiche 671
Funktionen 674
SQL/XML: XML-Erweiterungen für SQL 676
XML-Datentypen 676
XML-Konstruktion mit SQL 678
Zusammenfassung 682
Vertiefende Literatur 683
Übungsaufgaben 684
NoSQL-Datenbanken 685
Exkurs: Big Data 686
Motivation für NoSQL 689
KV-Stores und das Wide-Column-Datenmodell 691
Datenmodell: Key-Value-Stores 691
Datenmodell: Wide Column 692
Document Stores 695
Das JSON-Format 695
Anfragen bei dokumentenorientierter Speicherung 696
Datenrepräsentation und Anfragen in MongoDB 697
NewSQL – relationale Datenbanken schlagen zurück 705
Zusammenfassung 709
Vertiefende Literatur 710
Übungsaufgaben 711
Graph-Datenbanken 713
Graph-Datenmodelle: Grundlagen 713
Repräsentation von Graphstrukturen 714
Operationen und Anfragen auf Graphen 715
Das Resource Description Framework 716
Das RDF-Modell 718
RDF-Repräsentationen 721
RDF Schema und Vokabulare 725
Die RDF-Anfragesprache SPARQL 729
Grundlagen 730
SPARQL-Elemente 731
Aggregation und Gruppierung 738
Weitere Anfragetypen 738
Updates 739
Property-Graph-Modelle 741
Anfragen in Cypher 744
Anfragen in Gremlin 750
Zusammenfassung 756
Vertiefende Literatur 757
Übungsaufgaben 758
Laufendes Beispiel 759
ER-Schema der Weindatenbank 759
Relationale Repräsentation 760
Vereinfachtes Schema und Beispieldaten 761
Zusätzliche Kapitel 763
Historische Modelle 763
Erweiterte Entwurfsmodelle 764
Erweiterte Modelle und Anfragealgebren 764
Objektorientierte und objektrelationale Modelle inklusive SQL:2003 764
Tutorial D 765
ECA-Regeln und aktive Datenbanken 765
Grundlegende Datenbanktechniken 765
SQL/JSON 766
Literaturverzeichnis 767
Sachindex 767
Erscheint lt. Verlag | 27.4.2018 |
---|---|
Reihe/Serie | mitp Professional |
Sprache | deutsch |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
Schlagworte | Datenbankarchitektur • Datenbanksysteme • DB • DBMS • Entity-Relationship-Modell • NewSQL • NoSQL • Quel • RDF • Relationale Datenbanken • SQL • XML |
ISBN-10 | 3-95845-777-0 / 3958457770 |
ISBN-13 | 978-3-95845-777-5 / 9783958457775 |
Haben Sie eine Frage zum Produkt? |
Größe: 15,7 MB
Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopierschutz. Eine Weitergabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persönlichen Nutzung erwerben.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich