

Beschreibung
Das Handbuch für gutes DatenbankdesignDatenbanken sind das Rückgrat moderner IT-Systeme. Wie Sie sicher mit ihnen arbeiten, zeigt Ihnen Dr. Michael Kofler in diesem umfassenden Lehrbuch. Sie lernen grundlegende Begriffe und Konzepte kennen, die Sie für gutes D...Das Handbuch für gutes DatenbankdesignDatenbanken sind das Rückgrat moderner IT-Systeme. Wie Sie sicher mit ihnen arbeiten, zeigt Ihnen Dr. Michael Kofler in diesem umfassenden Lehrbuch. Sie lernen grundlegende Begriffe und Konzepte kennen, die Sie für gutes Datenbankdesign brauchen, und erfahren, wie Daten modelliert und strukturiert werden. 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.Neu in der 2. Auflage: MongoDB und NoSQL in der Praxis.Systematische Einführung in SQL, ACID, Entity-Relationships, Datenbankentwicklung und -AdministrationRelationale Datenbanken verstehen und anwendenMit Übungen und Musterlösungen zum SelbststudiumAus dem Inhalt:Datenbankmodellierung: vom ER-Modell zum perfekten SchemaDatentypenPrimary Keys, Foreign Keys und referenzielle IntegritätIndizesDaten mit SQL abfragen und ändernSQL für Fortgeschrittene: Subqueries, Transaktionen, Rekursion, DDLClient-ProgrammierungBenutzerverwaltung und Access ControlBackups und LoggingReplikation und High AvailabilityStored Procedures und TriggerNoSQL: Datenverarbeitung jenseits relationaler Datenbanken
»Das wirklich ganz herausragende Buch zur Erstellung, Verwaltung und Administration von Datenbanken ist sehr gut geeignet für Vorlesung, Tutorium und Praxis.«
Vorwort
Das umfassende Lehrbuch für Ausbildung, Beruf und Studium Auflage 2024
Autorentext
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.
Klappentext
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
Inhalt
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 ... Wie…