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

Gebundene Ausgabe
-60%3 Früher: 49,90 €3
19,99 €
inkl. MwSt. zzgl. Versandkosten
Preisbindung vom Verlag aufgehoben3
Vergleich zu frühere Preisbindung3

Produktdetails  
Verlag Rheinwerk Verlag
Auflage 2022
Seiten 746
Format 17,6  x  24,6  x  4,6 cm
Gewicht 1504 g
ISBN-10 3836284227
ISBN-13 9783836284226
Bestell-Nr 83628422

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

 

  • Grundlagen und Begriffe
  • Datenbankmodellierung: vom ER-Modell zum perfekten Schema
  • Datentypen
  • Primary Keys, Foreign Keys und referenzielle Integrität
  • Indizes
  • SQL: Daten 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
  •  

 

 

Inhaltsverzeichnis:



Materialien zum Buch ... 11


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



2. Grundlagen relationaler Datenbanken ... 45


2.1 ... Datenbank versus Datenbankmanagementsystem ... 45

2.2 ... Das relationale Modell ... 54

2.3 ... Transaktionen ... 63

2.4 ... Datensicherheit und ACID ... 66

2.5 ... Codds zwölf Gebote ... 76

2.6 ... Kritik am relationalen Modell ... 79

2.7 ... Wiederholungsfragen ... 84



3. Von relationalen Datenbanken zu NoSQL ... 89


3.1 ... Verteilte Datenbankmanagementsysteme ... 91

3.2 ... Objektorientierte Datenbanken ... 99

3.3 ... Online Analytical Processing (OLAP) ... 105

3.4 ... NoSQL ... 113

3.5 ... Wiederholungsfragen ... 128




TEIL II Datenbanken modellieren ... 131



4. Datenbankmodellierung ... 133


4.1 ... Datenbankschema ... 134

4.2 ... Modellierungsstufen ... 136

4.3 ... Modellierungstechniken ... 140

4.4 ... Das Entity-Relationship-Modell ... 144

4.5 ... Sonderfälle im ER-Modell ... 150

4.6 ... Alternative Diagrammformen und Notationen (IDEF1X, Min-Max, UML) ... 158

4.7 ... Vom ER-Diagramm zum Tabellenschema ... 168

4.8 ... Namensregeln ... 176

4.9 ... Normalformen ... 178

4.10 ... Normalisierungsbeispiel ... 190

4.11 ... Modellierung hierarchischer bzw. unstrukturierter Daten ... 193

4.12 ... Wiederholungsfragen ... 200



5. Datentypen ... 205


5.1 ... SQL und das Kommando »CREATE TABLE« ... 205

5.2 ... Ganze Zahlen ... 208

5.3 ... Gleit- und Festkommazahlen ... 210

5.4 ... Zeichenketten ... 214

5.5 ... Datum und Uhrzeit ... 218

5.6 ... Boolesche Zustände ... 220

5.7 ... Binäre Daten (BLOBs) ... 220

5.8 ... NULL, Defaultwerte und Werteinschränkungen (CHECKs) ... 223

5.9 ... Besondere Datentypen ... 226

5.10 ... Virtuelle Spalten (Generated Columns) ... 231

5.11 ... Beispiele ... 231

5.12 ... Wiederholungsfragen ... 234



6. Primary Keys, Foreign Keys und referenzielle Integrität ... 235


6.1 ... Primary Key (Primärschlüssel) ... 236

6.2 ... Foreign Keys (Fremdschlüssel) ... 248

6.3 ... Foreign-Key-Beispiele ... 256

6.4 ... Wiederholungsfragen ... 263



7. Indizes ... 265


7.1 ... Indexformen ... 266

7.2 ... Index-Interna und B-Trees ... 272

7.3 ... Indizes -- Pro und Kontra ... 286

7.4 ... Cache-Systeme für Abfragen ... 289

7.5 ... Wiederholungsfragen ... 291



8. Physische Modellierung ... 295


8.1 ... DBMS-Auswahl ... 295

8.2 ... Dimensionierung von Datenbanken ... 300

8.3 ... Views ... 304

8.4 ... Partitionen ... 311

8.5 ... Wiederholungsfragen ... 316



9. Modellierungsbeispiele ... 319


9.1 ... »books«-Datenbank ... 320

9.2 ... »todo«-Datenbank ... 322

9.3 ... »school«-Datenbank ... 331

9.4 ... »clouddb«-Datenbank ... 342

9.5 ... »sakila«-Datenbank ... 353

9.6 ... »employees«-Datenbank ... 359

9.7 ... Noch mehr Musterdatenbanken ... 362

9.8 ... Wiederholungsfragen ... 363




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



10. Relationale Algebra ... 369


10.1 ... Relationale Algebra ... 370

10.2 ... Relationenkalkül (relationaler Calculus) ... 380

10.3 ... Structured Query Language (SQL) ... 385

10.4 ... Elementare SQL-Syntaxregeln ... 390

10.5 ... Wiederholungsaufgaben ... 392



11. Daten abfragen (SELECT) ... 393


11.1 ... Zugriff auf die Beispieldatenbanken ... 393

11.2 ... Einfache Abfragen (WHERE, DISTINCT) ... 396

11.3 ... Tabellen verknüpfen (JOIN) ... 401

11.4 ... Ergebnisse gruppieren (GROUP BY) ... 412

11.5 ... Ergebnisse sortieren (ORDER BY) ... 417

11.6 ... Ergebnisse limitieren (LIMIT) ... 418

11.7 ... SELECT-Syntax-Zusammenfassung ... 420

11.8 ... Der Umgang mit NULL ... 420

11.9 ... Abfragen kombinieren (UNION) ... 423

11.10 ... Abfrageausführung und -optimierung ... 424

11.11 ... Wiederholungsaufgaben ... 435



12. Daten ändern (INSERT, UPDATE, DELETE) ... 437


12.1 ... Daten einfügen (INSERT) ... 437

12.2 ... Daten ändern (UPDATE) ... 443

12.3 ... Daten löschen (DELETE) ... 445

12.4 ... Wiederholungsaufgaben ... 448



13. Transaktionen ... 451


13.1 ... Transaktionen ... 452

13.2 ... Isolation Level ... 455

13.3 ... Dirty Read, Phantom Read und andere Isolation-Probleme ... 461

13.4 ... Locking-Verfahren ... 472

13.5 ... Multiversion Concurrency Control (MVCC) ... 479

13.6 ... Wiederholungsaufgaben ... 484



14. Subqueries, Rekursion, Zusatzfunktionen ... 487


14.1 ... SQL-Funktionen ... 487

14.2 ... Subqueries ... 494

14.3 ... Window-Funktionen (OVER) ... 500

14.4 ... Rekursion ... 503

14.5 ... Data Definition Language (DDL) ... 509

14.6 ... Systemkatalog ... 514

14.7 ... Wiederholungsaufgaben ... 519



15. Volltextsuche, geografische Daten, XML und JSON ... 521


15.1 ... Volltextindex und Volltextsuche ... 521

15.2 ... Geografische Daten (GIS-Funktionen) ... 526

15.3 ... XML ... 532

15.4 ... JSON ... 538

15.5 ... Wiederholungsaufgaben ... 541




TEIL IV Administration und Programmierung ... 543



16. Benutzerverwaltung ... 545


16.1 ... Authentifizierung ... 546

16.2 ... Privilegien und Rollen ... 548

16.3 ... Administration der Benutzerrechte (DCL) ... 552

16.4 ... Ein Blick hinter die Kulissen ... 558

16.5 ... Server-Konfiguration und -Absicherung ... 560



17. Logging und Backups ... 565


17.1 ... Logging ... 565

17.2 ... Backups ... 569

17.3 ... Import und Export ... 577



18. Replikation und High Availability ... 581


18.1 ... Replikation ... 581

18.2 ... Replikations-Setup in MySQL ... 588

18.3 ... High Availability ... 592



19. Stored Procedures und Trigger ... 593


19.1 ... Programmierung auf DBMS-Ebene versus Client-Code ... 593

19.2 ... Hello, Stored Procedure! ... 596

19.3 ... Stored Procedures und Funktionen ... 601

19.4 ... Fehlerabsicherung und Cursor ... 609

19.5 ... Administration und Sicherheit ... 613

19.6 ... Trigger ... 615



20. Client-Programmierung ... 617


20.1 ... Konzepte der Client-Programmierung ... 617

20.2 ... Beispiel 1: Java und JDBC ... 622

20.3 ... Beispiel 2: Kotlin und Exposed ... 626



A. MySQL installieren und einrichten ... 633


A.1 ... MySQL Workbench ... 634

A.2 ... Onlinezugriff auf die Beispieldatenbanken ... 636

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

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

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

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

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

A.8 ... Beispieldatenbanken lokal installieren ... 649

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



B. Lösungen ... 655


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

B.2 ... Kapitel 3: »Von relationalen Datenbanken zu NoSQL« ... 663

B.3 ... Kapitel 4: »Datenbankmodellierung« ... 670

B.4 ... Kapitel 5: »Datentypen« ... 682

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

B.6 ... Kapitel 7: »Indizes« ... 691

B.7 ... Kapitel 8: »Physische Modellierung« ... 697

B.8 ... Kapitel 9: »Modellierungsbeispiele« ... 700

B.9 ... Kapitel 10: »Relationale Algebra und SQL« ... 710

B.10 ... Kapitel 11: »Daten abfragen (SELECT)« ... 712

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

B.12 ... Kapitel 13: »Transaktionen« ... 721

B.13 ... Kapitel 14: »Subqueries, Rekursion, Zusatzfunktionen« ... 725

B.14 ... Kapitel 15: »Volltextsuche, geografische Daten, XML und JSON« ... 730



Index ... 733
 

Autorenporträt  
Mehr Angebote zum Thema