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

49,90 €*

inkl. MwSt.

Versandkostenfrei per Post / DHL

auf Lager, Lieferzeit 1-2 Werktage

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, 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
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
Über den Autor
Michael Kofler hat Telematik an der TU Graz studiert und ist einer der erfolgreichsten deutschsprachigen IT-Fachbuchautoren. Zu seinen Themengebieten zählen neben Linux auch IT-Sicherheit, Python, Swift, Java und der Raspberry Pi. Er ist Entwickler, berät Firmen und
arbeitet als Lehrbeauftragter.
Zusammenfassung
Mit Übungen und Musterlösungen zum Selbststudium
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)' ......
Details
Erscheinungsjahr: 2024
Fachbereich: Programmiersprachen
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Buch
Seiten: 782
Reihe: Rheinwerk Computing
Inhalt: 782 S.
ISBN-13: 9783367100156
ISBN-10: 3367100153
Sprache: Deutsch
Einband: Gebunden
Autor: Kofler, Michael
Auflage: 2. Auflage
Hersteller: Rheinwerk Verlag GmbH
Maße: 248 x 181 x 48 mm
Von/Mit: Michael Kofler
Erscheinungsdatum: 05.03.2024
Gewicht: 1,556 kg
preigu-id: 128120379
Über den Autor
Michael Kofler hat Telematik an der TU Graz studiert und ist einer der erfolgreichsten deutschsprachigen IT-Fachbuchautoren. Zu seinen Themengebieten zählen neben Linux auch IT-Sicherheit, Python, Swift, Java und der Raspberry Pi. Er ist Entwickler, berät Firmen und
arbeitet als Lehrbeauftragter.
Zusammenfassung
Mit Übungen und Musterlösungen zum Selbststudium
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)' ......
Details
Erscheinungsjahr: 2024
Fachbereich: Programmiersprachen
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Buch
Seiten: 782
Reihe: Rheinwerk Computing
Inhalt: 782 S.
ISBN-13: 9783367100156
ISBN-10: 3367100153
Sprache: Deutsch
Einband: Gebunden
Autor: Kofler, Michael
Auflage: 2. Auflage
Hersteller: Rheinwerk Verlag GmbH
Maße: 248 x 181 x 48 mm
Von/Mit: Michael Kofler
Erscheinungsdatum: 05.03.2024
Gewicht: 1,556 kg
preigu-id: 128120379
Warnhinweis

Ähnliche Produkte

Ähnliche Produkte