Dekorationsartikel gehören nicht zum Leistungsumfang.
Datenbanksysteme
Das umfassende Lehrbuch für Ausbildung, Beruf und Studium
Buch von Michael Kofler
Sprache: Deutsch

49,90 €*

inkl. MwSt.

Versandkostenfrei per Post / DHL

Aktuell nicht verfügbar

Kategorien:
Beschreibung
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 BegriffeDatenbankmodellierung: vom ER-Modell zum perfekten SchemaDatentypenPrimary Keys, Foreign Keys und referenzielle IntegritätIndizesSQL: Daten abfragen und ändernSQL für Fortgeschrittene: Subqueries, Transaktionen, Rekursion, DDLClient-ProgrammierungBenutzerverwaltung und Access ControlBackups und LoggingReplikation und High AvailabilityStored Procedures und Trigger
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 BegriffeDatenbankmodellierung: vom ER-Modell zum perfekten SchemaDatentypenPrimary Keys, Foreign Keys und referenzielle IntegritätIndizesSQL: Daten abfragen und ändernSQL für Fortgeschrittene: Subqueries, Transaktionen, Rekursion, DDLClient-ProgrammierungBenutzerverwaltung und Access ControlBackups und LoggingReplikation und High AvailabilityStored 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
Details
Erscheinungsjahr: 2022
Fachbereich: Programmiersprachen
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Buch
Seiten: 746
ISBN-13: 9783836284226
ISBN-10: 3836284227
Sprache: Deutsch
Herstellernummer: 459/08422
Autor: Kofler, Michael
Hersteller: Rheinwerk Verlag
Rheinwerk Computing
Maße: 46 x 176 x 246 mm
Von/Mit: Michael Kofler
Erscheinungsdatum: 11.08.2022
Gewicht: 1,504 kg
preigu-id: 121255461
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
Details
Erscheinungsjahr: 2022
Fachbereich: Programmiersprachen
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Buch
Seiten: 746
ISBN-13: 9783836284226
ISBN-10: 3836284227
Sprache: Deutsch
Herstellernummer: 459/08422
Autor: Kofler, Michael
Hersteller: Rheinwerk Verlag
Rheinwerk Computing
Maße: 46 x 176 x 246 mm
Von/Mit: Michael Kofler
Erscheinungsdatum: 11.08.2022
Gewicht: 1,504 kg
preigu-id: 121255461
Warnhinweis