Datenbanksysteme

Inhaltsverzeichnis



  Materialien zum Buch ... 12

  Vorwort ... 13

TEIL I.  Grundlagen ... 17

  1.  Wozu Datenbanken? ... 19

       1.1 ... Datenbanken sind allgegenwärtig ... 19

       1.2 ... Warum eine Excel-Tabelle nicht ausreicht ... 24

       1.3 ... Die erste eigene Datenbank ... 27

       1.4 ... Realisierung des Beispiels mit der MySQL Workbench ... 35

  2.  Grundlagen relationaler Datenbanken ... 47

       2.1 ... Datenbank versus Datenbankmanagementsystem ... 47

       2.2 ... Das relationale Modell ... 56

       2.3 ... Transaktionen ... 65

       2.4 ... Datensicherheit und ACID ... 68

       2.5 ... Codds zwölf Gebote ... 78

       2.6 ... Kritik am relationalen Modell ... 81

       2.7 ... Wiederholungsfragen ... 86

TEIL II.  Datenbanken modellieren ... 91

  3.  Datenbankmodellierung ... 93

       3.1 ... Datenbankschema ... 94

       3.2 ... Modellierungsstufen ... 96

       3.3 ... Modellierungstechniken ... 100

       3.4 ... Das Entity-Relationship-Modell ... 104

       3.5 ... Sonderfälle im ER-Modell ... 110

       3.6 ... Alternative Diagrammformen und Notationen (IDEF1X, Min-Max, UML) ... 118

       3.7 ... Vom ER-Diagramm zum Tabellenschema ... 129

       3.8 ... Namensregeln ... 137

       3.9 ... Normalformen ... 142

       3.10 ... Normalisierungsbeispiel ... 154

       3.11 ... Modellierung hierarchischer bzw. unstrukturierter Daten ... 157

       3.12 ... Wiederholungsfragen ... 164

  4.  Datentypen ... 169

       4.1 ... SQL und das Kommando »CREATE TABLE« ... 169

       4.2 ... Ganze Zahlen ... 172

       4.3 ... Gleit- und Festkommazahlen ... 174

       4.4 ... Zeichenketten ... 178

       4.5 ... Datum und Uhrzeit ... 183

       4.6 ... Boolesche Zustände ... 184

       4.7 ... Binäre Daten (BLOBs) ... 185

       4.8 ... NULL, Defaultwerte und Werteinschränkungen (CHECKs) ... 188

       4.9 ... Besondere Datentypen ... 191

       4.10 ... Eigene Datentypen ... 195

       4.11 ... Virtuelle Spalten (Generated Columns) ... 197

       4.12 ... Beispiele ... 198

       4.13 ... Wiederholungsfragen ... 200

  5.  Primary Keys, Foreign Keys und referenzielle Integrität ... 203

       5.1 ... Primary Keys (Primärschlüssel) ... 204

       5.2 ... Foreign Keys (Fremdschlüssel) ... 217

       5.3 ... Foreign-Key-Beispiele ... 225

       5.4 ... Wiederholungsfragen ... 232

  6.  Indizes ... 235

       6.1 ... Indexformen ... 236

       6.2 ... Index-Interna und B-Trees ... 242

       6.3 ... Indizes -- Pro und Kontra ... 257

       6.4 ... Cache-Systeme für Abfragen ... 260

       6.5 ... Wiederholungsfragen ... 262

  7.  Physische Modellierung ... 265

       7.1 ... DBMS-Auswahl ... 265

       7.2 ... Dimensionierung von Datenbanken ... 269

       7.3 ... Views ... 274

       7.4 ... Partitionen ... 281

       7.5 ... Wiederholungsfragen ... 286

  8.  Modellierungsbeispiele ... 289

       8.1 ... »books«-Datenbank ... 290

       8.2 ... »todo«-Datenbank ... 292

       8.3 ... »school«-Datenbank ... 301

       8.4 ... »clouddb«-Datenbank ... 312

       8.5 ... »sakila«-Datenbank ... 323

       8.6 ... »employees«-Datenbank ... 329

       8.7 ... Noch mehr Musterdatenbanken ... 332

       8.8 ... Wiederholungsfragen ... 334

TEIL III.  Structured Query Language (SQL) ... 337

  9.  Relationale Algebra und SQL ... 339

       9.1 ... Relationale Algebra ... 340

       9.2 ... Relationenkalkül (relationaler Calculus) ... 350

       9.3 ... Structured Query Language (SQL) ... 355

       9.4 ... Elementare SQL-Syntaxregeln ... 360

       9.5 ... Wiederholungsaufgaben ... 362

10.  Daten abfragen (SELECT) ... 365

       10.1 ... Zugriff auf die Beispieldatenbanken ... 365

       10.2 ... Einfache Abfragen (WHERE, DISTINCT) ... 368

       10.3 ... Tabellen verknüpfen (JOIN) ... 373

       10.4 ... Ergebnisse gruppieren (GROUP BY) ... 385

       10.5 ... Ergebnisse sortieren (ORDER BY) ... 389

       10.6 ... Ergebnisse limitieren (LIMIT) ... 390

       10.7 ... SELECT-Syntax-Zusammenfassung ... 392

       10.8 ... Der Umgang mit NULL ... 393

       10.9 ... Abfragen kombinieren (UNION) ... 395

       10.10 ... Abfrageausführung und -optimierung ... 396

       10.11 ... Wiederholungsaufgaben ... 407

11.  Daten ändern (INSERT, UPDATE, DELETE) ... 411

       11.1 ... Daten einfügen (INSERT) ... 412

       11.2 ... Daten ändern (UPDATE) ... 417

       11.3 ... Daten löschen (DELETE) ... 421

       11.4 ... Wiederholungsaufgaben ... 424

12.  Transaktionen ... 425

       12.1 ... Transaktionen in SQL ... 426

       12.2 ... Isolation Level ... 429

       12.3 ... Dirty Read, Phantom Read und andere Isolation-Probleme ... 435

       12.4 ... Locking-Verfahren ... 446

       12.5 ... Multiversion Concurrency Control (MVCC) ... 453

       12.6 ... Wiederholungsaufgaben ... 458

13.  Subqueries, Rekursion, Zusatzfunktionen ... 461

       13.1 ... SQL-Funktionen ... 461

       13.2 ... Subqueries ... 468

       13.3 ... Window-Funktionen (OVER) ... 474

       13.4 ... Rekursion ... 479

       13.5 ... Data Definition Language (DDL) ... 484

       13.6 ... Systemkatalog ... 489

       13.7 ... Wiederholungsaufgaben ... 494

14.  Volltextsuche, geografische Daten, XML und JSON ... 495

       14.1 ... Volltextindex und Volltextsuche ... 495

       14.2 ... Geografische Daten (GIS-Funktionen) ... 500

       14.3 ... XML ... 506

       14.4 ... JSON ... 512

       14.5 ... Wiederholungsaufgaben ... 515

TEIL IV.  Administration und Programmierung ... 517

15.  Benutzerverwaltung ... 519

       15.1 ... Authentifizierung ... 520

       15.2 ... Privilegien und Rollen ... 522

       15.3 ... Administration der Benutzerrechte (DCL) ... 526

       15.4 ... Ein Blick hinter die Kulissen ... 532

       15.5 ... Server-Konfiguration und -Absicherung ... 534

16.  Logging und Backups ... 539

       16.1 ... Logging ... 539

       16.2 ... Backups ... 543

       16.3 ... Import und Export ... 551

17.  Replikation und High Availability ... 555

       17.1 ... Replikation ... 555

       17.2 ... Replikations-Setup in MySQL ... 562

       17.3 ... High Availability ... 566

18.  Stored Procedures und Trigger ... 567

       18.1 ... Programmierung auf DBMS-Ebene versus Client-Code ... 567

       18.2 ... Hello, Stored Procedure! ... 570

       18.3 ... Stored Procedures und Funktionen ... 575

       18.4 ... Fehlerabsicherung und Cursor ... 583

       18.5 ... Administration und Sicherheit ... 587

       18.6 ... Trigger ... 589

19.  Client-Programmierung ... 591

       19.1 ... Konzepte der Client-Programmierung ... 591

       19.2 ... Beispiel 1: Java und JDBC ... 596

       19.3 ... Beispiel 2: Kotlin und Exposed ... 600

TEIL V.  NoSQL ... 607

20.  Von relationalen Datenbanken zu NoSQL ... 609

       20.1 ... Verteilte Datenbankmanagementsysteme ... 610

       20.2 ... Objektorientierte Datenbanken ... 619

       20.3 ... Online Analytical Processing (OLAP) ... 625

       20.4 ... NoSQL ... 633

       20.5 ... Wiederholungsfragen ... 648

21.  MongoDB ... 651

       21.1 ... Installation ... 651

       21.2 ... Abfragen durchführen ... 656

       21.3 ... Nicht relationales Datenbankdesign ... 662

       21.4 ... »todo«-Datenbank ... 665

  Anhang ... 669

  A.  MySQL installieren und einrichten ... 669

       A.1 ... MySQL Workbench ... 670

       A.2 ... Onlinezugriff auf die Beispieldatenbanken ... 672

       A.3 ... MySQL-Server unter Windows installieren ... 673

       A.4 ... MySQL-Server unter macOS installieren ... 676

       A.5 ... MySQL-Server unter Linux installieren ... 677

       A.6 ... Der Kommando-Client mysql ... 679

       A.7 ... Die MySQL-Shell mysqlsh ... 683

       A.8 ... Beispieldatenbanken lokal installieren ... 685

       A.9 ... Server-Konfiguration für den Unterricht ... 686

  B.  Lösungen ... 691

       B.1 ... Kapitel 2: »Grundlagen relationaler Datenbanken« ... 691

       B.2 ... Kapitel 3: »Datenbankmodellierung« ... 699

       B.3 ... Kapitel 4: »Datentypen« ... 711

       B.4 ... Kapitel 5: »Primary Keys, Foreign Keys und referenzielle Integrität« ... 714

       B.5 ... Kapitel 6: »Indizes« ... 720

       B.6 ... Kapitel 7: »Physische Modellierung« ... 726

       B.7 ... Kapitel 8: »Modellierungsbeispiele« ... 729

       B.8 ... Kapitel 9: »Relationale Algebra und SQL« ... 738

       B.9 ... Kapitel 10: »Daten abfragen (SELECT)« ... 741

       B.10 ... Kapitel 11: »Daten ändern (INSERT, UPDATE, DELETE)« ... 747

       B.11 ... Kapitel 12: »Transaktionen« ... 750

       B.12 ... Kapitel 13: »Subqueries, Rekursion, Zusatzfunktionen« ... 753

       B.13 ... Kapitel 14: »Volltextsuche, geografische Daten, XML und JSON« ... 759

       B.14 ... Kapitel 20: »Von relationalen Datenbanken zu NoSQL« ... 760

  Index ... 769

Datenbanksysteme

Das umfassende Lehrbuch für Ausbildung, Beruf und Studium – Auflage 2024

Buch (Gebundene Ausgabe)

51,30 €

inkl. gesetzl. MwSt.

Datenbanksysteme

Ebenfalls verfügbar als:

Gebundenes Buch

Gebundenes Buch

ab 51,30 €
eBook

eBook

ab 49,90 €

Beschreibung

Details

Verkaufsrang

36047

Einband

Gebundene Ausgabe

Erscheinungsdatum

05.03.2024

Verlag

Rheinwerk

Seitenzahl

782

Beschreibung

Rezension

»Das wirklich ganz herausragende Buch zur Erstellung, Verwaltung und Administration von Datenbanken ist sehr gut geeignet für Vorlesung, Tutorium und Praxis.« Ahadesign.eu 202403

Details

Verkaufsrang

36047

Einband

Gebundene Ausgabe

Erscheinungsdatum

05.03.2024

Verlag

Rheinwerk

Seitenzahl

782

Maße (L/B/H)

24,8/18,1/4,8 cm

Gewicht

1556 g

Auflage

2. Auflage

Sprache

Deutsch

ISBN

978-3-367-10015-6

Weitere Bände von Rheinwerk Computing

Unsere Kundinnen und Kunden meinen

0.0

0 Bewertungen

Informationen zu Bewertungen

Zur Abgabe einer Bewertung ist eine Anmeldung im Konto notwendig. Die Authentizität der Bewertungen wird von uns nicht überprüft. Wir behalten uns vor, Bewertungstexte, die unseren Richtlinien widersprechen, entsprechend zu kürzen oder zu löschen.

Verfassen Sie die erste Bewertung zu diesem Artikel

Helfen Sie anderen Kund*innen durch Ihre Meinung

Erste Bewertung verfassen

Unsere Kundinnen und Kunden meinen

0.0

0 Bewertungen filtern

Weitere Artikel finden Sie in

Die Leseprobe wird geladen.
  • Datenbanksysteme


  •   Materialien zum Buch ... 12

      Vorwort ... 13

    TEIL I.  Grundlagen ... 17

      1.  Wozu Datenbanken? ... 19

           1.1 ... Datenbanken sind allgegenwärtig ... 19

           1.2 ... Warum eine Excel-Tabelle nicht ausreicht ... 24

           1.3 ... Die erste eigene Datenbank ... 27

           1.4 ... Realisierung des Beispiels mit der MySQL Workbench ... 35

      2.  Grundlagen relationaler Datenbanken ... 47

           2.1 ... Datenbank versus Datenbankmanagementsystem ... 47

           2.2 ... Das relationale Modell ... 56

           2.3 ... Transaktionen ... 65

           2.4 ... Datensicherheit und ACID ... 68

           2.5 ... Codds zwölf Gebote ... 78

           2.6 ... Kritik am relationalen Modell ... 81

           2.7 ... Wiederholungsfragen ... 86

    TEIL II.  Datenbanken modellieren ... 91

      3.  Datenbankmodellierung ... 93

           3.1 ... Datenbankschema ... 94

           3.2 ... Modellierungsstufen ... 96

           3.3 ... Modellierungstechniken ... 100

           3.4 ... Das Entity-Relationship-Modell ... 104

           3.5 ... Sonderfälle im ER-Modell ... 110

           3.6 ... Alternative Diagrammformen und Notationen (IDEF1X, Min-Max, UML) ... 118

           3.7 ... Vom ER-Diagramm zum Tabellenschema ... 129

           3.8 ... Namensregeln ... 137

           3.9 ... Normalformen ... 142

           3.10 ... Normalisierungsbeispiel ... 154

           3.11 ... Modellierung hierarchischer bzw. unstrukturierter Daten ... 157

           3.12 ... Wiederholungsfragen ... 164

      4.  Datentypen ... 169

           4.1 ... SQL und das Kommando »CREATE TABLE« ... 169

           4.2 ... Ganze Zahlen ... 172

           4.3 ... Gleit- und Festkommazahlen ... 174

           4.4 ... Zeichenketten ... 178

           4.5 ... Datum und Uhrzeit ... 183

           4.6 ... Boolesche Zustände ... 184

           4.7 ... Binäre Daten (BLOBs) ... 185

           4.8 ... NULL, Defaultwerte und Werteinschränkungen (CHECKs) ... 188

           4.9 ... Besondere Datentypen ... 191

           4.10 ... Eigene Datentypen ... 195

           4.11 ... Virtuelle Spalten (Generated Columns) ... 197

           4.12 ... Beispiele ... 198

           4.13 ... Wiederholungsfragen ... 200

      5.  Primary Keys, Foreign Keys und referenzielle Integrität ... 203

           5.1 ... Primary Keys (Primärschlüssel) ... 204

           5.2 ... Foreign Keys (Fremdschlüssel) ... 217

           5.3 ... Foreign-Key-Beispiele ... 225

           5.4 ... Wiederholungsfragen ... 232

      6.  Indizes ... 235

           6.1 ... Indexformen ... 236

           6.2 ... Index-Interna und B-Trees ... 242

           6.3 ... Indizes -- Pro und Kontra ... 257

           6.4 ... Cache-Systeme für Abfragen ... 260

           6.5 ... Wiederholungsfragen ... 262

      7.  Physische Modellierung ... 265

           7.1 ... DBMS-Auswahl ... 265

           7.2 ... Dimensionierung von Datenbanken ... 269

           7.3 ... Views ... 274

           7.4 ... Partitionen ... 281

           7.5 ... Wiederholungsfragen ... 286

      8.  Modellierungsbeispiele ... 289

           8.1 ... »books«-Datenbank ... 290

           8.2 ... »todo«-Datenbank ... 292

           8.3 ... »school«-Datenbank ... 301

           8.4 ... »clouddb«-Datenbank ... 312

           8.5 ... »sakila«-Datenbank ... 323

           8.6 ... »employees«-Datenbank ... 329

           8.7 ... Noch mehr Musterdatenbanken ... 332

           8.8 ... Wiederholungsfragen ... 334

    TEIL III.  Structured Query Language (SQL) ... 337

      9.  Relationale Algebra und SQL ... 339

           9.1 ... Relationale Algebra ... 340

           9.2 ... Relationenkalkül (relationaler Calculus) ... 350

           9.3 ... Structured Query Language (SQL) ... 355

           9.4 ... Elementare SQL-Syntaxregeln ... 360

           9.5 ... Wiederholungsaufgaben ... 362

    10.  Daten abfragen (SELECT) ... 365

           10.1 ... Zugriff auf die Beispieldatenbanken ... 365

           10.2 ... Einfache Abfragen (WHERE, DISTINCT) ... 368

           10.3 ... Tabellen verknüpfen (JOIN) ... 373

           10.4 ... Ergebnisse gruppieren (GROUP BY) ... 385

           10.5 ... Ergebnisse sortieren (ORDER BY) ... 389

           10.6 ... Ergebnisse limitieren (LIMIT) ... 390

           10.7 ... SELECT-Syntax-Zusammenfassung ... 392

           10.8 ... Der Umgang mit NULL ... 393

           10.9 ... Abfragen kombinieren (UNION) ... 395

           10.10 ... Abfrageausführung und -optimierung ... 396

           10.11 ... Wiederholungsaufgaben ... 407

    11.  Daten ändern (INSERT, UPDATE, DELETE) ... 411

           11.1 ... Daten einfügen (INSERT) ... 412

           11.2 ... Daten ändern (UPDATE) ... 417

           11.3 ... Daten löschen (DELETE) ... 421

           11.4 ... Wiederholungsaufgaben ... 424

    12.  Transaktionen ... 425

           12.1 ... Transaktionen in SQL ... 426

           12.2 ... Isolation Level ... 429

           12.3 ... Dirty Read, Phantom Read und andere Isolation-Probleme ... 435

           12.4 ... Locking-Verfahren ... 446

           12.5 ... Multiversion Concurrency Control (MVCC) ... 453

           12.6 ... Wiederholungsaufgaben ... 458

    13.  Subqueries, Rekursion, Zusatzfunktionen ... 461

           13.1 ... SQL-Funktionen ... 461

           13.2 ... Subqueries ... 468

           13.3 ... Window-Funktionen (OVER) ... 474

           13.4 ... Rekursion ... 479

           13.5 ... Data Definition Language (DDL) ... 484

           13.6 ... Systemkatalog ... 489

           13.7 ... Wiederholungsaufgaben ... 494

    14.  Volltextsuche, geografische Daten, XML und JSON ... 495

           14.1 ... Volltextindex und Volltextsuche ... 495

           14.2 ... Geografische Daten (GIS-Funktionen) ... 500

           14.3 ... XML ... 506

           14.4 ... JSON ... 512

           14.5 ... Wiederholungsaufgaben ... 515

    TEIL IV.  Administration und Programmierung ... 517

    15.  Benutzerverwaltung ... 519

           15.1 ... Authentifizierung ... 520

           15.2 ... Privilegien und Rollen ... 522

           15.3 ... Administration der Benutzerrechte (DCL) ... 526

           15.4 ... Ein Blick hinter die Kulissen ... 532

           15.5 ... Server-Konfiguration und -Absicherung ... 534

    16.  Logging und Backups ... 539

           16.1 ... Logging ... 539

           16.2 ... Backups ... 543

           16.3 ... Import und Export ... 551

    17.  Replikation und High Availability ... 555

           17.1 ... Replikation ... 555

           17.2 ... Replikations-Setup in MySQL ... 562

           17.3 ... High Availability ... 566

    18.  Stored Procedures und Trigger ... 567

           18.1 ... Programmierung auf DBMS-Ebene versus Client-Code ... 567

           18.2 ... Hello, Stored Procedure! ... 570

           18.3 ... Stored Procedures und Funktionen ... 575

           18.4 ... Fehlerabsicherung und Cursor ... 583

           18.5 ... Administration und Sicherheit ... 587

           18.6 ... Trigger ... 589

    19.  Client-Programmierung ... 591

           19.1 ... Konzepte der Client-Programmierung ... 591

           19.2 ... Beispiel 1: Java und JDBC ... 596

           19.3 ... Beispiel 2: Kotlin und Exposed ... 600

    TEIL V.  NoSQL ... 607

    20.  Von relationalen Datenbanken zu NoSQL ... 609

           20.1 ... Verteilte Datenbankmanagementsysteme ... 610

           20.2 ... Objektorientierte Datenbanken ... 619

           20.3 ... Online Analytical Processing (OLAP) ... 625

           20.4 ... NoSQL ... 633

           20.5 ... Wiederholungsfragen ... 648

    21.  MongoDB ... 651

           21.1 ... Installation ... 651

           21.2 ... Abfragen durchführen ... 656

           21.3 ... Nicht relationales Datenbankdesign ... 662

           21.4 ... »todo«-Datenbank ... 665

      Anhang ... 669

      A.  MySQL installieren und einrichten ... 669

           A.1 ... MySQL Workbench ... 670

           A.2 ... Onlinezugriff auf die Beispieldatenbanken ... 672

           A.3 ... MySQL-Server unter Windows installieren ... 673

           A.4 ... MySQL-Server unter macOS installieren ... 676

           A.5 ... MySQL-Server unter Linux installieren ... 677

           A.6 ... Der Kommando-Client mysql ... 679

           A.7 ... Die MySQL-Shell mysqlsh ... 683

           A.8 ... Beispieldatenbanken lokal installieren ... 685

           A.9 ... Server-Konfiguration für den Unterricht ... 686

      B.  Lösungen ... 691

           B.1 ... Kapitel 2: »Grundlagen relationaler Datenbanken« ... 691

           B.2 ... Kapitel 3: »Datenbankmodellierung« ... 699

           B.3 ... Kapitel 4: »Datentypen« ... 711

           B.4 ... Kapitel 5: »Primary Keys, Foreign Keys und referenzielle Integrität« ... 714

           B.5 ... Kapitel 6: »Indizes« ... 720

           B.6 ... Kapitel 7: »Physische Modellierung« ... 726

           B.7 ... Kapitel 8: »Modellierungsbeispiele« ... 729

           B.8 ... Kapitel 9: »Relationale Algebra und SQL« ... 738

           B.9 ... Kapitel 10: »Daten abfragen (SELECT)« ... 741

           B.10 ... Kapitel 11: »Daten ändern (INSERT, UPDATE, DELETE)« ... 747

           B.11 ... Kapitel 12: »Transaktionen« ... 750

           B.12 ... Kapitel 13: »Subqueries, Rekursion, Zusatzfunktionen« ... 753

           B.13 ... Kapitel 14: »Volltextsuche, geografische Daten, XML und JSON« ... 759

           B.14 ... Kapitel 20: »Von relationalen Datenbanken zu NoSQL« ... 760

      Index ... 769