Datenbanksysteme (gebundenes Buch)

Das umfassende Lehrbuch für Ausbildung, Beruf und Studium
ISBN/EAN: 9783367100156
Sprache: Deutsch
Umfang: 782 S.
Einband: gebundenes Buch
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
















       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.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











       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.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.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.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.1 ... DBMS-Auswahl ... 265

       7.2 ... Dimensionierung von Datenbanken ... 269

       7.3 ... Views ... 274

       7.4 ... Partitionen ... 281

       7.5 ... Wiederholungsfragen ... 286








       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











       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.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.1 ... Daten einfügen (INSERT) ... 412

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

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

       11.4 ... Wiederholungsaufgaben ... 424








       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.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.1 ... Volltextindex und Volltextsuche ... 495

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

       14.3 ... XML ... 506

       14.4 ... JSON ... 512

       14.5 ... Wiederholungsaufgaben ... 515











       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.1 ... Logging ... 539

       16.2 ... Backups ... 543

       16.3 ... Import und Export ... 551








       17.1 ... Replikation ... 555

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

       17.3 ... High Availability ... 566








       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.1 ... Konzepte der Client-Programmierung ... 591

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

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











       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.1 ... Installation ... 651

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

       21.3 ... Nicht relationales Datenbankdesign ... 662

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











       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.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