Nicht aus der Schweiz? Besuchen Sie lehmanns.de

Datenbanksysteme

Das umfassende Lehrbuch

(Autor)

Buch | Hardcover
747 Seiten
2022 | 1. Auflage
Rheinwerk (Verlag)
978-3-8362-8422-6 (ISBN)
CHF 69,85 inkl. MwSt
zur Neuauflage
  • Titel erscheint in neuer Auflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
  • 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
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?
Wie bewerten Sie den Artikel?
Bitte geben Sie Ihre Bewertung ein:
Bitte geben Sie Daten ein:
Mehr entdecken
aus dem Bereich