Einstieg in SQL
Datenbank und SQL - ohne Vorkenntnisse einsteigen. Syntax, Abfragen und Datenmodellierung. Mit Übungen, Musterlösungen und Praxistipps. Inkl. Übungsdatenbank zum Download
Einstieg in SQL
Datenbank und SQL - ohne Vorkenntnisse einsteigen. Syntax, Abfragen und Datenmodellierung. Mit Übungen, Musterlösungen und Praxistipps. Inkl. Übungsdatenbank zum Download
- Gebundenes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Den leichten Einstieg in SQL und die Datenmodellierung finden Sie hier! Schritt für Schritt führt Sie dieser Leitfaden durch den SQL-Befehlsschatz und macht Sie mit allen wichtigen Befehlen vertraut. Das Beherrschen der SQL-Befehle ist jedoch nur das Fundament. Darauf aufbauend lernen Sie, wie Sie Ihre Daten richtig modellieren, verknüpfen und bearbeiten. So schaffen Sie Ordnung und sorgen für performante Abfragen.
Aus dem Inhalt:
Grundlagen kennenlernen und verstehenGrundfunktionen der TabellenabfrageZeilen einfügen, ändern und löschen (INSERT, UPDATE und DELETE)Tabellen mit CREATE…mehr
Aus dem Inhalt:
Grundlagen kennenlernen und verstehenGrundfunktionen der TabellenabfrageZeilen einfügen, ändern und löschen (INSERT, UPDATE und DELETE)Tabellen mit CREATE TABLE anlegenMengenoperationenDatenbanken modellierenDatenmodelle optimierenDatenmodelle in Tabellen überführenBeziehungen zwischen Tabellen: JOINsTransaktionenSkalarfunktionenBedingungslogikMit Zeit und Datum arbeitenSpaltenwerte mit GROUP BY gruppierenUnterabfragenVIEWS: Abfragen in virtuellen Tabellen speichernPerformance optimieren
- Produktdetails
- Rheinwerk Computing
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/07070
- 2., überarb. Aufl.
- Seitenzahl: 608
- Erscheinungstermin: 31. Juli 2019
- Deutsch
- Abmessung: 244mm x 176mm x 39mm
- Gewicht: 1247g
- ISBN-13: 9783836270700
- ISBN-10: 3836270706
- Artikelnr.: 55793203
- Rheinwerk Computing
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/07070
- 2., überarb. Aufl.
- Seitenzahl: 608
- Erscheinungstermin: 31. Juli 2019
- Deutsch
- Abmessung: 244mm x 176mm x 39mm
- Gewicht: 1247g
- ISBN-13: 9783836270700
- ISBN-10: 3836270706
- Artikelnr.: 55793203
1. Grundlagen kennenlernen und verstehen ... 19
1.1 ... Die Tabelle als zentrales Element ... 19
1.2 ... Eine kleine Historie von SQL ... 21
1.3 ... Datenbanksysteme ... 22
1.4 ... SQL -- ein Standard und seine Umsetzung ... 23
1.5 ... Zu diesem Buch ... 24
1.6 ... MySQL unter Windows installieren ... 26
1.7 ... Die MySQL-Übungsdatenbank anlegen ... 34
1.8 ... Eine erste Abfrage an die Datenbank senden ... 38
1.9 ... Kommentarfunktion ... 41
2. Los geht's: Die Grundfunktionen der Tabellenabfrage (SELECT) ... 45
2.1 ... Mit einer SELECT-Anweisung Tabellen abfragen ... 45
2.2 ... Zeilen in einer Abfrage mit WHERE filtern ... 49
2.3 ... Filterbedingungen mit AND (NOT) und OR (NOT) logisch verknüpfen ... 88
2.4 ... Ergebniszeilen einer SELECT-Anweisung einschränken ... 106
2.5 ... Datensätze sortiert abfragen ... 109
2.6 ... Konstanten in die Spaltenauswahlliste aufnehmen ... 121
2.7 ... Spalten einen Alias zuordnen ... 124
2.8 ... Gleiche Ergebniszeilen ausschließen (DISTINCT) ... 128
3. Zeilen einfügen (INSERT), ändern (UPDATE) und löschen (DELETE, TRUNCATE) ... 133
3.1 ... Zeilen mit einer INSERT-Anweisung einfügen ... 133
3.2 ... Zeilen mit einer UPDATE-Anweisung ändern ... 143
3.3 ... Zeilen mit einer DELETE-Anweisung löschen ... 154
3.4 ... Alle Zeilen einer Tabelle mit einer TRUNCATE-Anweisung löschen ... 158
4. Tabellen anlegen (CREATE TABLE) ... 161
4.1 ... Datentypen ... 161
4.2 ... Datentypen umwandeln ... 174
4.3 ... Explizite und implizite Typkonvertierung ... 175
4.4 ... Einfache Tabellen mit CREATE TABLE erstellen ... 182
4.5 ... Spalten Einschränkungen (CONSTRAINTS) zuordnen ... 195
4.6 ... Spalten auf Tabellenebene Einschränkungen (CONSTRAINT) zuordnen ... 209
5. Mengenoperationen anwenden ... 223
5.1 ... Mengenoperationen auf Ergebnistabellen anwenden ... 223
5.2 ... Funktionsweise von Mengenoperationen mit UNION ... 230
5.3 ... Die Schnittmenge von Ergebnistabellen bilden (INTERSECT) ... 238
5.4 ... Eine Differenzmenge aus Ergebnistabellen bilden (EXCEPT) ... 241
5.5 ... Mengenoperationen in Kombination mit einer WHERE-Klausel verwenden ... 243
5.6 ... Vereinigungsmengen in Kombination mit einer ORDER BY-Klausel ... 246
6. Benutzer, Rollen und ihre Berechtigungen ... 249
6.1 ... Benutzer anlegen (CREATE USER) ... 250
6.2 ... Benutzer entfernen ... 251
6.3 ... Eine Verbindung für einen Datenbankbenutzer erstellen ... 252
6.4 ... Berechtigungen verwalten ... 256
6.5 ... Mit Rollen Berechtigungen zuordnen ... 258
6.6 ... Übungen ... 262
7. Datenbanken modellieren ... 267
7.1 ... Anforderungskatalog ... 267
7.2 ... Entitäten identifizieren und modellhaft abbilden ... 268
7.3 ... Beziehungen zwischen Entitäten festlegen ... 275
7.4 ... Datenmodelle in der UML-Notation darstellen ... 289
7.5 ... Übungen ... 292
8. Datenmodelle optimieren (Normalisierung) ... 295
8.1 ... Redundanzen erkennen ... 295
8.2 ... Die 1. Normalform anwenden ... 298
8.3 ... Die 2. Normalform anwenden ... 300
8.4 ... Die 3. Normalform anwenden ... 303
8.5 ... Denormalisierung ... 304
8.6 ... Übungen ... 306
9. Datenmodelle in Tabellen überführen ... 309
9.1 ... Die Ausbildungsdatenbank anlegen ... 309
9.2 ... Tabellen mit Beziehungen zu anderen Tabellen erstellen ... 311
9.3 ... Übung ... 318
9.4 ... Die referenzielle Integrität verstehen ... 320
10. Operationen auf Tabellen in Beziehungen anwenden ... 327
10.1 ... Zeilen in Tabellen einfügen, die in Beziehung zueinander stehen ... 327
10.2 ... Zeilen aus Tabellen, die in Beziehung stehen, mit JOIN verbunden abfragen ... 337
10.3 ... Beziehungen (Schlüsselbeziehungen) ändern ... 375
10.4 ... Beziehungen (Schlüsselbeziehungen) aufheben oder löschen ... 386
11. Transaktionen ... 397
11.1 ... Forderungen an relationale Datenbanksysteme ... 398
11.2 ... Transaktionen verstehen ... 400
11.3 ... Übungen ... 407
12. Tabellenstrukturen verändern ... 409
12.1 ... Eine Tabelle umbenennen ... 409
12.2 ... Spalten einer Tabelle ändern ... 411
12.3 ... Spalten hinzufügen und entfernen ... 424
12.4 ... Beziehungen zwischen Tabellen herstellen und entfernen ... 426
12.5 ... Übungen ... 429
13. Mit SQL rechnen ... 437
13.1 ... Spaltenwerte addieren ... 438
13.2 ... Spaltenwerte subtrahieren ... 440
13.3 ... Spaltenwerte multiplizieren ... 440
13.4 ... Spaltenwerte dividieren ... 441
13.5 ... Den Restwert einer Division von Spaltenwerten berechnen ... 442
13.6 ... Nach dem Ergebnis einer Berechnung filtern ... 443
13.7 ... Nach dem Ergebnis einer Berechnung sortieren lassen ... 443
13.8 ... Übungen ... 445
14. Skalarfunktionen anwenden ... 449
14.1 ... Funktionen für Textwerte ... 450
14.2 ... Funktionen für Zahlenwerte ... 463
14.3 ... Verschachtelte Funktionsaufrufe ... 469
14.4 ... Übungen ... 472
15. Bedingungslogik ... 475
15.1 ... Die CASE-Klausel ... 475
15.2 ... Bedingungslogik in einer Spaltenauswahlliste einer SELECT-Anweisung anwenden ... 476
15.3 ... Bedingungslogik in einer ORDER BY-Klausel anwenden ... 478
15.4 ... Übungen ... 480
16. Mit Zeit und Datum arbeiten ... 483
16.1 ... Datumsformate ... 483
16.2 ... Skalarfunktionen für Zeit- und Datumsangaben in SQL nutzen ... 484
16.3 ... Zeit- und Datumsangaben formatieren ... 487
16.4 ... Datumsangaben extrahieren (EXTRACT) ... 502
16.5 ... Mit Datumsangaben rechnen ... 507
17. Spaltenwerte gruppieren (GROUP BY) ... 515
17.1 ... Die Aggregatfunktion COUNT anwenden ... 516
17.2 ... Die Aggregatfunktion SUM anwenden ... 521
17.3 ... Die Aggregatfunktion AVG anwenden ... 523
17.4 ... Die Aggregatfunktion MAX anwenden ... 525
17.5 ... NULL-Werte berücksichtigen ... 526
17.6 ... Nach aggregierten Werten einer Gruppierung filtern (HAVING) ... 531
17.7 ... Nach zwei oder mehr Spalten gruppieren ... 533
18. Mächtiges Werkzeug: Die Unterabfragen (Subqueries) ... 537
18.1 ... Unterabfragen, die in Korrelation zueinander stehen ... 538
18.2 ... Unterabfragen, die nicht in Korrelation zueinander stehen ... 544
18.3 ... Vergleichsoperatoren auf Unterabfragen mit ANY, SOME und ALL anwenden ... 550
18.4 ... Auf die Existenz von Ergebniszeilen aus Unterabfragen prüfen (EXISTS) ... 555
19. Views: Abfragen in virtuellen Tabellen speichern ... 561
19.1 ... Einfache Views anlegen ... 562
19.2 ... Views und ORDER BY ... 567
19.3 ... INSERT, UPDATE und DELETE auf Views anwenden ... 570
19.4 ... Views entfernen oder ersetzen ... 581
20. Performance von Abfragen optimieren (Index) ... 583
20.1 ... Einführung ... 583
20.2 ... Syntax: Index erstellen ... 586
20.3 ... Eine Tabelle mit vielen Zeilen generieren ... 586
20.4 ... Einen Index für eine Tabelle anlegen ... 588
20.5 ... Einen Index über mehrere Spalten anlegen ... 590
20.6 ... Den Index einer Tabelle löschen ... 592
20.7 ... Fremdschlüsselspalten indexieren ... 593
20.8 ... Übungen ... 596
Index ... 601
1. Grundlagen kennenlernen und verstehen ... 19
1.1 ... Die Tabelle als zentrales Element ... 19
1.2 ... Eine kleine Historie von SQL ... 21
1.3 ... Datenbanksysteme ... 22
1.4 ... SQL -- ein Standard und seine Umsetzung ... 23
1.5 ... Zu diesem Buch ... 24
1.6 ... MySQL unter Windows installieren ... 26
1.7 ... Die MySQL-Übungsdatenbank anlegen ... 34
1.8 ... Eine erste Abfrage an die Datenbank senden ... 38
1.9 ... Kommentarfunktion ... 41
2. Los geht's: Die Grundfunktionen der Tabellenabfrage (SELECT) ... 45
2.1 ... Mit einer SELECT-Anweisung Tabellen abfragen ... 45
2.2 ... Zeilen in einer Abfrage mit WHERE filtern ... 49
2.3 ... Filterbedingungen mit AND (NOT) und OR (NOT) logisch verknüpfen ... 88
2.4 ... Ergebniszeilen einer SELECT-Anweisung einschränken ... 106
2.5 ... Datensätze sortiert abfragen ... 109
2.6 ... Konstanten in die Spaltenauswahlliste aufnehmen ... 121
2.7 ... Spalten einen Alias zuordnen ... 124
2.8 ... Gleiche Ergebniszeilen ausschließen (DISTINCT) ... 128
3. Zeilen einfügen (INSERT), ändern (UPDATE) und löschen (DELETE, TRUNCATE) ... 133
3.1 ... Zeilen mit einer INSERT-Anweisung einfügen ... 133
3.2 ... Zeilen mit einer UPDATE-Anweisung ändern ... 143
3.3 ... Zeilen mit einer DELETE-Anweisung löschen ... 154
3.4 ... Alle Zeilen einer Tabelle mit einer TRUNCATE-Anweisung löschen ... 158
4. Tabellen anlegen (CREATE TABLE) ... 161
4.1 ... Datentypen ... 161
4.2 ... Datentypen umwandeln ... 174
4.3 ... Explizite und implizite Typkonvertierung ... 175
4.4 ... Einfache Tabellen mit CREATE TABLE erstellen ... 182
4.5 ... Spalten Einschränkungen (CONSTRAINTS) zuordnen ... 195
4.6 ... Spalten auf Tabellenebene Einschränkungen (CONSTRAINT) zuordnen ... 209
5. Mengenoperationen anwenden ... 223
5.1 ... Mengenoperationen auf Ergebnistabellen anwenden ... 223
5.2 ... Funktionsweise von Mengenoperationen mit UNION ... 230
5.3 ... Die Schnittmenge von Ergebnistabellen bilden (INTERSECT) ... 238
5.4 ... Eine Differenzmenge aus Ergebnistabellen bilden (EXCEPT) ... 241
5.5 ... Mengenoperationen in Kombination mit einer WHERE-Klausel verwenden ... 243
5.6 ... Vereinigungsmengen in Kombination mit einer ORDER BY-Klausel ... 246
6. Benutzer, Rollen und ihre Berechtigungen ... 249
6.1 ... Benutzer anlegen (CREATE USER) ... 250
6.2 ... Benutzer entfernen ... 251
6.3 ... Eine Verbindung für einen Datenbankbenutzer erstellen ... 252
6.4 ... Berechtigungen verwalten ... 256
6.5 ... Mit Rollen Berechtigungen zuordnen ... 258
6.6 ... Übungen ... 262
7. Datenbanken modellieren ... 267
7.1 ... Anforderungskatalog ... 267
7.2 ... Entitäten identifizieren und modellhaft abbilden ... 268
7.3 ... Beziehungen zwischen Entitäten festlegen ... 275
7.4 ... Datenmodelle in der UML-Notation darstellen ... 289
7.5 ... Übungen ... 292
8. Datenmodelle optimieren (Normalisierung) ... 295
8.1 ... Redundanzen erkennen ... 295
8.2 ... Die 1. Normalform anwenden ... 298
8.3 ... Die 2. Normalform anwenden ... 300
8.4 ... Die 3. Normalform anwenden ... 303
8.5 ... Denormalisierung ... 304
8.6 ... Übungen ... 306
9. Datenmodelle in Tabellen überführen ... 309
9.1 ... Die Ausbildungsdatenbank anlegen ... 309
9.2 ... Tabellen mit Beziehungen zu anderen Tabellen erstellen ... 311
9.3 ... Übung ... 318
9.4 ... Die referenzielle Integrität verstehen ... 320
10. Operationen auf Tabellen in Beziehungen anwenden ... 327
10.1 ... Zeilen in Tabellen einfügen, die in Beziehung zueinander stehen ... 327
10.2 ... Zeilen aus Tabellen, die in Beziehung stehen, mit JOIN verbunden abfragen ... 337
10.3 ... Beziehungen (Schlüsselbeziehungen) ändern ... 375
10.4 ... Beziehungen (Schlüsselbeziehungen) aufheben oder löschen ... 386
11. Transaktionen ... 397
11.1 ... Forderungen an relationale Datenbanksysteme ... 398
11.2 ... Transaktionen verstehen ... 400
11.3 ... Übungen ... 407
12. Tabellenstrukturen verändern ... 409
12.1 ... Eine Tabelle umbenennen ... 409
12.2 ... Spalten einer Tabelle ändern ... 411
12.3 ... Spalten hinzufügen und entfernen ... 424
12.4 ... Beziehungen zwischen Tabellen herstellen und entfernen ... 426
12.5 ... Übungen ... 429
13. Mit SQL rechnen ... 437
13.1 ... Spaltenwerte addieren ... 438
13.2 ... Spaltenwerte subtrahieren ... 440
13.3 ... Spaltenwerte multiplizieren ... 440
13.4 ... Spaltenwerte dividieren ... 441
13.5 ... Den Restwert einer Division von Spaltenwerten berechnen ... 442
13.6 ... Nach dem Ergebnis einer Berechnung filtern ... 443
13.7 ... Nach dem Ergebnis einer Berechnung sortieren lassen ... 443
13.8 ... Übungen ... 445
14. Skalarfunktionen anwenden ... 449
14.1 ... Funktionen für Textwerte ... 450
14.2 ... Funktionen für Zahlenwerte ... 463
14.3 ... Verschachtelte Funktionsaufrufe ... 469
14.4 ... Übungen ... 472
15. Bedingungslogik ... 475
15.1 ... Die CASE-Klausel ... 475
15.2 ... Bedingungslogik in einer Spaltenauswahlliste einer SELECT-Anweisung anwenden ... 476
15.3 ... Bedingungslogik in einer ORDER BY-Klausel anwenden ... 478
15.4 ... Übungen ... 480
16. Mit Zeit und Datum arbeiten ... 483
16.1 ... Datumsformate ... 483
16.2 ... Skalarfunktionen für Zeit- und Datumsangaben in SQL nutzen ... 484
16.3 ... Zeit- und Datumsangaben formatieren ... 487
16.4 ... Datumsangaben extrahieren (EXTRACT) ... 502
16.5 ... Mit Datumsangaben rechnen ... 507
17. Spaltenwerte gruppieren (GROUP BY) ... 515
17.1 ... Die Aggregatfunktion COUNT anwenden ... 516
17.2 ... Die Aggregatfunktion SUM anwenden ... 521
17.3 ... Die Aggregatfunktion AVG anwenden ... 523
17.4 ... Die Aggregatfunktion MAX anwenden ... 525
17.5 ... NULL-Werte berücksichtigen ... 526
17.6 ... Nach aggregierten Werten einer Gruppierung filtern (HAVING) ... 531
17.7 ... Nach zwei oder mehr Spalten gruppieren ... 533
18. Mächtiges Werkzeug: Die Unterabfragen (Subqueries) ... 537
18.1 ... Unterabfragen, die in Korrelation zueinander stehen ... 538
18.2 ... Unterabfragen, die nicht in Korrelation zueinander stehen ... 544
18.3 ... Vergleichsoperatoren auf Unterabfragen mit ANY, SOME und ALL anwenden ... 550
18.4 ... Auf die Existenz von Ergebniszeilen aus Unterabfragen prüfen (EXISTS) ... 555
19. Views: Abfragen in virtuellen Tabellen speichern ... 561
19.1 ... Einfache Views anlegen ... 562
19.2 ... Views und ORDER BY ... 567
19.3 ... INSERT, UPDATE und DELETE auf Views anwenden ... 570
19.4 ... Views entfernen oder ersetzen ... 581
20. Performance von Abfragen optimieren (Index) ... 583
20.1 ... Einführung ... 583
20.2 ... Syntax: Index erstellen ... 586
20.3 ... Eine Tabelle mit vielen Zeilen generieren ... 586
20.4 ... Einen Index für eine Tabelle anlegen ... 588
20.5 ... Einen Index über mehrere Spalten anlegen ... 590
20.6 ... Den Index einer Tabelle löschen ... 592
20.7 ... Fremdschlüsselspalten indexieren ... 593
20.8 ... Übungen ... 596
Index ... 601