Einstieg in SQL

  • Rheinwerk
  • Hardcover
  • 646 Seiten
  • 4. Auflage
  • 24,0 cm x 16,8 cm
  • Erscheinungsdatum: 05.12.2024
  • Artikelnummer 978-3-367-10546-5

Hardcover

lieferbar innerhalb von 3-4 Werktagen
Auf den Merkzettel

Den leichten Einstieg in SQL und die Modellierung von Daten finden Sie hier! Schritt für Schritt führt Sie Michael Laube in diesem Leitfaden durch die SQL-Kommandos und macht Sie mit allen wichtigen Befehlen vertraut. Auf diesem Fundament aufbauend lernen Sie, wie Sie Ihre Daten richtig modellieren, verknüpfen und bearbeiten. Mithilfe dieser Anleitungen wird die Datenmodellierung mit SQL einfach und unkompliziert: So schaffen Sie Ordnung und sorgen für performante Abfragen. Aus dem Inhalt: - Grundlagen kennenlernen und verstehen - Grundfunktionen der Tabellenabfrage - Zeilen einfügen, ändern und löschen (INSERT, UPDATE und DELETE) - Tabellen mit CREATE TABLE anlegen - Mengenoperationen - Datenbanken modellieren - Datenmodelle optimieren - Datenmodelle in Tabellen überführen - Beziehungen zwischen Tabellen: JOINs - Transaktionen - Skalarfunktionen - Bedingungslogik - Mit Zeit und Datum arbeiten - Spaltenwerte mit GROUP BY gruppieren - Unterabfragen - VIEWS: Abfragen in virtuellen Tabellen speichern - Performance optimieren

1. Grundlagen kennenlernen und verstehen ... 21




1.1 ... Die Tabelle als zentrales Element ... 21


1.2 ... Eine kleine Historie von SQL ... 23


1.3 ... Datenbanksysteme ... 24


1.4 ... SQL -- ein Standard und seine Umsetzung ... 25


1.5 ... Zu diesem Buch ... 27


1.6 ... MySQL unter Windows installieren ... 28


1.7 ... Die MySQL-Übungsdatenbank anlegen ... 36


1.8 ... Eine erste Abfrage an die Datenbank senden ... 39


1.9 ... Kommentarfunktion ... 42



2. Los geht's: Die Grundfunktionen der Tabellenabfrage (SELECT) ... 47




2.1 ... Mit einer SELECT-Anweisung Tabellen abfragen ... 47


2.2 ... Zeilen in einer Abfrage mit WHERE filtern ... 51


2.3 ... Filterbedingungen mit AND (NOT) und OR (NOT) logisch verknüpfen ... 91


2.4 ... Ergebniszeilen einer SELECT-Anweisung einschränken ... 109


2.5 ... Datensätze sortiert abfragen ... 111


2.6 ... Konstanten in die Spaltenauswahlliste aufnehmen ... 124


2.7 ... Spalten einen Alias zuordnen ... 127


2.8 ... Gleiche Ergebniszeilen ausschließen (DISTINCT) ... 131



3. Zeilen einfügen (INSERT), ändern (UPDATE) und löschen (DELETE, TRUNCATE) ... 135




3.1 ... Zeilen mit einer INSERT-Anweisung einfügen ... 135


3.2 ... Zeilen mit einer UPDATE-Anweisung ändern ... 145


3.3 ... Zeilen mit einer DELETE-Anweisung löschen ... 156


3.4 ... Alle Zeilen einer Tabelle mit einer TRUNCATE-Anweisung löschen ... 161



4. Tabellen anlegen (CREATE TABLE) ... 165




4.1 ... Datentypen ... 165


4.2 ... Datentypen umwandeln ... 179


4.3 ... Explizite und implizite Typkonvertierung ... 180


4.4 ... Einfache Tabellen mit CREATE TABLE erstellen ... 187


4.5 ... Spalten Einschränkungen (CONSTRAINTS) zuordnen ... 199


4.6 ... Spalten auf Tabellenebene Einschränkungen (CONSTRAINT) zuordnen ... 214



5. Mengenoperationen anwenden ... 229




5.1 ... Mengenoperationen auf Ergebnistabellen anwenden ... 229


5.2 ... Eine Vereinigungsmenge bilden (UNION) ... 236


5.3 ... Die Schnittmenge von Ergebnistabellen bilden (INTERSECT) ... 245


5.4 ... Eine Differenzmenge aus Ergebnistabellen bilden (EXCEPT) ... 250


5.5 ... Mengenoperationen in Kombination mit einer WHERE-Klausel verwenden ... 253


5.6 ... Vereinigungsmengen in Kombination mit einer ORDER BY-Klausel ... 255



6. Benutzer, Rollen und ihre Berechtigungen ... 259




6.1 ... Benutzer anlegen (CREATE USER) ... 260


6.2 ... Benutzer entfernen ... 261


6.3 ... Eine Verbindung für einen Datenbankbenutzer erstellen ... 262


6.4 ... Berechtigungen verwalten ... 268


6.5 ... Mit Rollen Berechtigungen zuordnen ... 270


6.6 ... Übungen ... 273



7. Datenbanken modellieren ... 279




7.1 ... Anforderungskatalog ... 279


7.2 ... Entitäten identifizieren und modellhaft abbilden ... 280


7.3 ... Beziehungen zwischen Entitäten festlegen ... 287


7.4 ... Datenmodelle in der UML-Notation darstellen ... 302


7.5 ... Übungen ... 305



8. Datenmodelle optimieren (Normalisierung) ... 309




8.1 ... Redundanzen erkennen ... 309


8.2 ... Die 1. Normalform anwenden ... 312


8.3 ... Die 2. Normalform anwenden ... 314


8.4 ... Die 3. Normalform anwenden ... 316


8.5 ... Denormalisierung ... 318


8.6 ... Übungen ... 320



9. Datenmodelle in Tabellen überführen ... 323




9.1 ... Die Ausbildungsdatenbank anlegen ... 323


9.2 ... Tabellen mit Beziehungen zu anderen Tabellen erstellen ... 325


9.3 ... Übung ... 332


9.4 ... Die referenzielle Integrität verstehen ... 334



10. Operationen auf Tabellen in Beziehungen anwenden ... 341




10.1 ... Zeilen in Tabellen einfügen, die in Beziehung zueinander stehen ... 341


10.2 ... Zeilen aus Tabellen, die in Beziehung stehen, mit JOIN verbunden abfragen ... 351


10.3 ... Beziehungen (Schlüsselbeziehungen) ändern ... 388


10.4 ... Beziehungen (Schlüsselbeziehungen) aufheben oder löschen ... 399



11. Transaktionen ... 411




11.1 ... Forderungen an relationale Datenbanksysteme ... 412


11.2 ... Transaktionen verstehen ... 414


11.3 ... Übungen ... 421



12. Tabellenstrukturen verändern ... 423




12.1 ... Eine Tabelle umbenennen ... 423


12.2 ... Spalten einer Tabelle ändern ... 425


12.3 ... Spalten hinzufügen und entfernen ... 438


12.4 ... Beziehungen zwischen Tabellen herstellen und entfernen ... 440


12.5 ... Übungen ... 443



13. Mit SQL rechnen ... 451




13.1 ... Spaltenwerte addieren ... 452


13.2 ... Spaltenwerte subtrahieren ... 454


13.3 ... Spaltenwerte multiplizieren ... 455


13.4 ... Spaltenwerte dividieren ... 455


13.5 ... Den Restwert einer Division von Spaltenwerten berechnen ... 456


13.6 ... Nach dem Ergebnis einer Berechnung filtern ... 457


13.7 ... Nach dem Ergebnis einer Berechnung sortieren lassen ... 458


13.8 ... Übungen ... 459



14. Skalarfunktionen anwenden ... 463




14.1 ... Funktionen für Textwerte ... 464


14.2 ... Funktionen für Zahlenwerte ... 476


14.3 ... Verschachtelte Funktionsaufrufe ... 482



15. Bedingungslogik ... 487




15.1 ... Die CASE-Klausel ... 487


15.2 ... Bedingungslogik in einer Spaltenauswahlliste einer SELECT-Anweisung anwenden ... 488


15.3 ... Bedingungslogik in einer ORDER BY-Klausel anwenden ... 490


15.4 ... Übungen ... 492



16. Mit Zeit und Datum arbeiten ... 495




16.1 ... Datumsformate ... 496


16.2 ... Skalarfunktionen für Zeit- und Datumsangaben in SQL nutzen ... 496


16.3 ... Zeit- und Datumsangaben formatieren ... 499


16.4 ... Datumsangaben extrahieren (EXTRACT) ... 515


16.5 ... Mit Datumsangaben rechnen ... 520



17. Spaltenwerte gruppieren (GROUP BY) ... 529




17.1 ... Die Aggregatfunktion COUNT anwenden ... 530


17.2 ... Die Aggregatfunktion SUM anwenden ... 535


17.3 ... Die Aggregatfunktion AVG anwenden ... 537


17.4 ... Die Aggregatfunktion MAX anwenden ... 539


17.5 ... NULL-Werte berücksichtigen ... 541


17.6 ... Nach aggregierten Werten einer Gruppierung filtern (HAVING) ... 545


17.7 ... Nach zwei oder mehr Spalten gruppieren ... 548



18. Mächtiges Werkzeug: Die Unterabfragen (Subqueries) ... 553




18.1 ... Unterabfragen, die in Korrelation zueinander stehen ... 554


18.2 ... Unterabfragen, die nicht in Korrelation zueinander stehen ... 560


18.3 ... Vergleichsoperatoren auf Unterabfragen mit ANY, SOME und ALL anwenden ... 566


18.4 ... Auf die Existenz von Ergebniszeilen aus Unterabfragen prüfen (EXISTS) ... 571



19. Views: Abfragen in virtuellen Tabellen speichern ... 575




19.1 ... Einfache Views anlegen ... 576


19.2 ... Views und ORDER BY ... 581


19.3 ... INSERT, UPDATE und DELETE auf Views anwenden ... 584


19.4 ... Views entfernen oder ersetzen ... 596



20. Abfragen mit einem Index optimieren ... 599




20.1 ... Einführung ... 599


20.2 ... Syntax: Index erstellen ... 602


20.3 ... Eine Tabelle mit vielen Zeilen generieren ... 602


20.4 ... Einen Index für eine Tabelle anlegen ... 604


20.5 ... Einen Index über mehrere Spalten anlegen ... 606


20.6 ... Den Index einer Tabelle löschen ... 609


20.7 ... Fremdschlüsselspalten indexieren ... 609


20.8 ... Übungen ... 613



21. Skalarfunktionen entwickeln ... 617




21.1 ... Funktionen mit einem Rückgabewert erstellen ... 618


21.2 ... Funktionen mit Parameter entwickeln ... 623


21.3 ... Funktionen entfernen ... 627


21.4 ... Übungen ... 628



22. Prozeduren entwickeln ... 631




22.1 ... Prozeduren ausführen ... 631


22.2 ... Prozeduren anlegen ... 632


22.3 ... Übung ... 636



Index ... 639

Michael Laube
Michael Laube arbeitet im Bereich Logistik eines öffentlichen Auftraggebers. Zu seinen täglichen Aufgaben zählt es, Produktstammdaten zu verarbeiten und unterschiedliche Anforderungen im Bereich der Informatik zu koordinieren und umzusetzen. Er nutzt relationale Datenbanken und die Abfragesprache SQL, um die Produktstammdaten aufzubereiten und Anwendern zur Verfügung zu stellen. Außerdem entwickelt er als Sun Certified Java Programmer und Sun Certified Web Component Developer unternehmensweite Anwendungen.

Bitte beachten Sie die Kontaktangaben des Herstellers bei Fragen zur Produktsicherheit.
 
Kontakt für Produktsicherheit
Rheinwerk Verlag GmbH
Rheinwerkallee 4
53229 Bonn
E-Mail: service@rheinwerk-verlag.de