Datenbanksysteme
Rheinwerk (Verlag)
978-3-8362-8422-6 (ISBN)
- Titel erscheint in neuer Auflage
- Artikel merken
- Systematische Einführung in SQL, ACID, Entity-Relationships, Datenbankentwicklung und -administration
- Relationale Datenbanken verstehen und anwenden
- Ihr Begleiter für Vorlesung, Tutorium und Praxis
Datenbanken erstellen, verwalten und administrieren
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.
Modellierung und Schemata
Wenn das Fundament nicht stimmt, kann die beste Anwendung nicht funktionieren. Michael Kofler zeigt Ihnen daher, wie Sie Datenbanken richtig modellieren und in passende Schemata überführen. Sie lernen die Arbeit mit Datenbanken von den Grundlagen des ACID-Prinzips über Entity Relationship-Modellen und Indizes umfassend kennen und erfahren, wie Sie mit den verschiedenen Datentypen arbeiten.
Mit Daten arbeiten
Eine Einführung in SQL legt den Grundstein für effiziente Datenabfragen. Darauf aufbauend lernen Sie auch fortgeschrittene SQL-Techniken wie Subqueries, Rekursion und Window-Funktionen kennen und erfahren anhand konkreter Beispiele, wie Datenbanken und Anwendungen zusammenspielen.
Daten sicher bereitstellen
Replikation, Backups, Logging, Access Control ... Daten zuverlässig bereitzustellen, ist nicht trivial. Neben einem Überblick über die unterschiedlichen Datenbankmanagementsysteme erfahren Sie, wie Sie Datenbanken effizient administrieren und sicher bereitstellen.
Ihr Begleiter für ein erfolgreiches Studium
Dieses umfassende Lehrbuch begleitet Sie in allen Phasen Ihres Studiums. Mit Übungen und Musterlösungen überprüfen Sie Ihren Lernfortschritt oder arbeiten den Stoff im Selbststudium durch. Nutzen Sie dazu den direkten Zugriff auf die Beispieldatenbanken – keine SQL-Installation notwendig.
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
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.
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
Erscheinungsdatum | 24.06.2022 |
---|---|
Verlagsort | Bonn |
Sprache | deutsch |
Maße | 168 x 240 mm |
Einbandart | gebunden |
Themenwelt | Mathematik / Informatik ► Informatik ► Datenbanken |
Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge | |
Mathematik / Informatik ► Informatik ► Software Entwicklung | |
Schlagworte | Acid • Data Science • Datenbank-Administration • Datenbank-Entwicklung • Hand-Buch Bücher Lernen Kurse Tipps Workshops Tutorials Training Ausbildung Studium • MySQL, Postgresql, Mariadb • NoSQL • Relationale Datenbanken • SQL • Transaktionen |
ISBN-10 | 3-8362-8422-7 / 3836284227 |
ISBN-13 | 978-3-8362-8422-6 / 9783836284226 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich