Datenbanksysteme
Das umfassende Lehrbuch für Ausbildung, Beruf und Studium
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...
Leider schon ausverkauft
Buch (Gebunden)
- Lastschrift, Kreditkarte, Paypal, Rechnung
- Kostenlose Rücksendung
Produktdetails
Produktinformationen zu „Datenbanksysteme “
Klappentext zu „Datenbanksysteme “
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 zu „Datenbanksysteme “
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 ...
... mehr
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
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
... weniger
Autoren-Porträt von Michael Kofler
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 undarbeitet als Lehrbeauftragter.
Bibliographische Angaben
- Autor: Michael Kofler
- 2022, Neuausgabe, 746 Seiten, Maße: 17,5 x 24,6 cm, Gebunden, Deutsch
- Verlag: Rheinwerk Verlag
- ISBN-10: 3836284227
- ISBN-13: 9783836284226
- Erscheinungsdatum: 11.08.2022
Kommentar zu "Datenbanksysteme"
Schreiben Sie einen Kommentar zu "Datenbanksysteme".
Kommentar verfassen