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

Gebundene Ausgabe
49,90 €
inkl. MwSt. versandkostenfrei!

Produktdetails  
Verlag Rheinwerk Verlag
Auflage 2. Auflage, 05.03.2024
Seiten 782
Format 17,8 x 4,7 x 24,5 cm
Gewicht 1559 g
ISBN-10 3367100153
ISBN-13 9783367100156
Bestell-Nr 36710015A

Produktbeschreibung  

Datenbanken sind das Rückgrat moderner IT-Systeme. Wie Sie sicher mit ihnen arbeiten, zeigt Ihnen Dr. Michael Kofler in diesem umfassenden Handbuch. Sie lernen grundlegende Begriffe und Konzepte kennen, die Sie für gutes Datenbankdesign brauchen, und erfahren, wie Sie Daten modelliere und strukturieren. Ein Schnellkurs in SQL zeigt Ihnen, wie Daten abgefragt und geändert werden, Praxiswissen zur Client-Entwicklung und DBMS-Administration machen Sie fit für den Berufsalltag, Übungen und anschauliche Beispiele helfen Ihnen beim Selbststudium und der Prüfungsvorbereitung.



Aus dem Inhalt:



  • Datenbankmodellierung: vom ER-Modell zum perfekten Schema

  • Datentypen

  • Primary Keys, Foreign Keys und referenzielle Integrität

  • Indizes

  • Daten mit SQL abfragen und ändern

  • SQL für Fortgeschrittene: Subqueries, Transaktionen, Rekursion, DDL

  • Client-Programmierung

  • Benutzerverwaltung und Access Control

  • Backups und Logging

  • Replikation und High Availability

  • Stored Procedures und Trigger

  • NoSQL: Datenverarbeitung jenseits relationaler Datenbanken


Inhalt:



  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

Autorenporträt  
Mehr Angebote zum Thema