O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Einführung in SQL

Book Description

SQL kann Spaß machen! Es ist ein erhebendes Gefühl, eine verworrene Datenmanipulation oder einen komplizierten Report mit einer einzigen Anweisung zu bewältigen und dabei einen Haufen Arbeit vom Tisch zu bekommen. Wenn Sie SQL endlich auch souverän nutzen

Table of Contents

  1. Einführung in SQL
    1. Einleitung
      1. Wozu SQL lernen?
      2. Warum SQL mit diesem Buch lernen?
      3. Aufbau dieses Buchs
      4. Verwendete Konventionen
      5. Die Codebeispiele zu diesem Buch
      6. Verwendung der Codebeispiele
      7. Danksagungen
    2. 1. Der Hintergrund
      1. Einführung in Datenbanken
        1. Nicht-relationale Datenbanksysteme
        2. Das relationale Modell
        3. Ein wenig Fachjargon
      2. Was ist SQL?
        1. SQL-Anweisungen
        2. SQL: Eine nicht-prozedurale Sprache
        3. SQL-Beispiele
      3. Was ist MySQL?
      4. Weiteres Vorgehen
    3. 2. Datenbanken erstellen und mit Daten füllen
      1. Eine MySQL-Datenbank anlegen
      2. Das mysql-Kommandozeilen-Tool
      3. MySQL-Datentypen
        1. Zeichendaten
          1. Zeichensätze
          2. Textdaten
        2. Numerische Daten
        3. Temporale Daten
      4. Tabellen anlegen
        1. Schritt 1: Entwurf
        2. Schritt 2: Verfeinerung
        3. Schritt 3: Die SQL Schema-Anweisungen
      5. Tabellen füllen und ändern
        1. Daten einfügen
          1. Numerische Schlüsseldaten generieren
          2. Die insert-Anweisung
        2. Daten ändern
        3. Daten löschen
      6. Wenn aus guten Anweisungen schlechte werden
        1. Nicht eindeutiger Primärschlüssel
        2. Nicht existenter Fremdschlüssel
        3. Verstöße gegen Spaltenwerte
        4. Ungültige Datumskonvertierung
      7. Das Bank-Schema
    4. 3. Datenbankabfragen
      1. Die Mechanik von Abfragen
      2. Abfrageklauseln
      3. Die Select-Klausel
        1. Spalten-Aliase
        2. Duplikate entfernen
      4. Die From-Klausel
        1. Tabellen
          1. Von Unterabfragen generierte Tabellen
          2. Views
        2. Tabellenverknüpfungen
        3. Tabellen-Aliase definieren
      5. Die where-Klausel
      6. Die Klauseln group by und having
      7. Die order by-Klausel
        1. Auf- und absteigende Sortierung
        2. Sortieren mit Ausdrücken
        3. Sortieren nach numerischen Platzhaltern
      8. Übungen
        1. Übungen 3-1
        2. Übungen 3-2
        3. Übungen 3-3
        4. Übungen 3-4
    5. 4. Filtern
      1. Bedingungsauswertung
        1. Verwendung von Klammern
        2. Verwendung des Operators not
      2. Aufbau einer Bedingung
      3. Bedingungstypen
        1. Gleichheitsbedingungen
          1. Ungleichheitsbedingungen
          2. Daten mit Gleichheitsbedingungen modifizieren
        2. Wertebereichsbedingungen
          1. Der between-Operator
          2. String-Bereiche
        3. Mitgliedschaftsbedingungen
          1. Unterabfragen
          2. Verwendung von not in
        4. Bedingungen abgleichen
          1. Verwendung von Wildcards
          2. Verwendung von regulären Ausdrücken
      4. NULL: Ein böses Wort
      5. Übungen
        1. Übungen 4-1
        2. Übungen 4-2
        3. Übungen 4-3
        4. Übungen 4-4
    6. 5. Mehrere Tabellen abfragen
      1. Was ist ein Join?
        1. Kartesisches Produkt
        2. Inner Joins
        3. Die Join-Syntax von ANSI
      2. Joins mit drei oder mehr Tabellen
        1. Unterabfragen als Tabellen
        2. Zweimal dieselbe Tabelle verwenden
      3. Self-Joins
      4. Equi-Joins und Non-Equi-Joins
      5. Join-Bedingungen und Filterbedingungen
      6. Übungen
        1. Übungen 5-1
        2. Übungen 5-2
        3. Übungen 5-3
    7. 6. Umgang mit Mengen
      1. Grundlagen der Mengenlehre
      2. Mengenlehre in der Praxis
      3. Mengenoperatoren
        1. Der union-Operator
        2. Der intersect-Operator
        3. Der except-Operator
      4. Regeln für Mengenoperationen
        1. Ergebnisse zusammengesetzter Abfragen sortieren
        2. Präzedenz von Mengenoperationen
      5. Übungen
        1. Übungen 6-1
        2. Übungen 6-2
        3. Übungen 6-3
    8. 7. Daten generieren, konvertieren und manipulieren
      1. Der Umgang mit String-Daten
        1. String-Daten generieren
          1. Einfache Anführungszeichen
          2. Sonderzeichen einbinden
        2. String-Bearbeitung
          1. String-Funktionen, die Zahlen zurückgeben
          2. String-Funktionen, die Strings zurückgeben
      2. Der Umgang mit numerischen Daten
        1. Arithmetische Funktionen
        2. Die Genauigkeit von Zahlen steuern
        3. Vorzeichenbehaftete Daten
      3. Temporale Daten
        1. Zeitzonen
        2. Temporale Daten generieren
          1. String-Darstellungen von temporalen Daten
          2. Strings in Datumswerte konvertieren
          3. Funktionen zur Datumserzeugung
        3. Temporale Daten bearbeiten
          1. Temporale Funktionen, die Datumswerte zurückgeben
          2. Temporale Funktionen, die Strings zurückgeben
          3. Temporale Funktionen, die Zahlen zurückgeben
      4. Konvertierungsfunktionen
      5. Übungen
        1. Übungen 7-1
        2. Übungen 7-2
        3. Übungen 7-3
    9. 8. Gruppieren und Aggregieren von Daten
      1. Gruppieren von Daten
      2. Aggregatfunktionen
        1. Implizite und explizite Gruppen
        2. Unterschiedliche Werte zählen
        3. Ausdrücke
        4. Umgang mit Null-Werten
      3. Gruppen generieren
        1. Gruppieren auf einer einzelnen Spalte
        2. Gruppieren auf mehreren Spalten
        3. Gruppieren mit Ausdrücken
        4. Rollups generieren
      4. Gruppen-Filterbedingungen
      5. Übungen
        1. Übungen 8-1
        2. Übungen 8-2
        3. Übungen 8-3
        4. Übungen 8-4 (für Tüftler)
    10. 9. Unterabfragen
      1. Was ist eine Unterabfrage?
      2. Typen von Unterabfragen
      3. Nicht-korrelierte Unterabfragen
        1. Unterabfragen, die eine Spalte und mehrere Zeilen liefern
          1. Der in-Operator
          2. Der all-Operator
          3. Der any-Operator
        2. Unterabfragen, die mehrere Spalten liefern
      4. Korrelierte Unterabfragen
        1. Der exists-Operator
        2. Datenmanipulation mit korrelierten Unterabfragen
      5. Einsatz von Unterabfragen
        1. Unterabfragen als Datenquellen
          1. Tabellen erzeugen
          2. Task-orientierte Unterabfragen
        2. Unterabfragen in Filterbedingungen
        3. Unterabfragen zum Generieren von Ausdrücken
      6. Zusammenfassung zu Unterabfragen
      7. Übungen
        1. Übungen 9-1
        2. Übungen 9-2
        3. Übungen 9-3
        4. Übungen 9-4
    11. 10. Weitere Joins
      1. Outer Joins
        1. Left und Right Outer Joins
        2. Outer Joins mit drei Tabellen
        3. Self Outer Joins
      2. Cross Joins
      3. Natural Joins
      4. Übungen
        1. Übungen 10-1
        2. Übungen 10-2
        3. Übungen 10-3
        4. Übungen 10-4 (für Tüftler)
    12. 11. Bedingungslogik
      1. Was ist Bedingungslogik?
      2. Der Case-Ausdruck
        1. Searched Case-Ausdrücke
        2. Einfache Case-Ausdrücke
      3. Beispiele für Case-Ausdrücke
        1. Umwandlungen von Ergebnismengen
        2. Selektive Aggregation
        3. Prüfung auf Vorhandensein
        4. Fehler bei einer Division durch null
        5. Bedingte Updates
        6. Der Umgang mit null-Werten
      4. Übungen
        1. Übungen 11-1
        2. Übungen 11-2
    13. 12. Transaktionen
      1. Mehrbenutzer-Datenbanken
      2. Was ist eine Transaktion?
        1. Transaktion starten
        2. Transaktion beenden
        3. Savepoints
    14. 13. Indizes und Constraints
      1. Indizes
        1. Indexerstellung
          1. Eindeutige (unique) Indizes
          2. Mehrspalten-Indizes
        2. Indextypen
          1. B-Baum-Indizes
          2. Bitmap-Indizes
          3. Textindizes
        3. Verwendung von Indizes
        4. Der Nachteil von Indizes
      2. Constraints
        1. Constraints anlegen
        2. Constraints und Indizes
        3. Kaskadierende Constraints
    15. A. ER-Diagramm der Musterdatenbank
    16. B. MySQL-Erweiterungen für SQL
      1. Select-Erweiterungen
        1. Die limit-Klausel
          1. Der optionale zweite Parameter von limit
          2. Ranking-Abfragen
        2. Die into outfile-Klausel
      2. Kombinierte Insert/Update-Anweisungen
      3. Geordnete Updates und Deletes
      4. Updates und Deletes mit mehreren Tabellen
    17. C. Lösungen der Übungen
      1. Kapitel 3
        1. Kapitel 3-1
        2. Kapitel 3-2
        3. Kapitel 3-3
        4. Kapitel 3-4
      2. Kapitel 4
        1. Kapitel 4-1
        2. Kapitel 4-2
        3. Kapitel 4-3
        4. Kapitel 4-4
      3. Kapitel 5
        1. Kapitel 5-1
        2. Kapitel 5-2
        3. Kapitel 5-3
      4. Kapitel 6
        1. Kapitel 6-1
        2. Kapitel 6-2
        3. Kapitel 6-3
      5. Kapitel 7
        1. Kapitel 7-1
        2. Kapitel 7-2
        3. Kapitel 7-3
      6. Kapitel 8
        1. Kapitel 8-1
        2. Kapitel 8-2
        3. Kapitel 8-3
        4. Kapitel 8-4 (für Tüftler)
      7. Kapitel 9
        1. Kapitel 9-1
        2. Kapitel 9-2
        3. Kapitel 9-3
        4. Kapitel 9-4
      8. Kapitel 10
        1. Kapitel 10-1
        2. Kapitel 10-2
        3. Kapitel 10-3
        4. Kapitel 10-4 (für Tüftler)
      9. Kapitel 11
        1. Kapitel 11-1
        2. Kapitel 11-2
    18. D. Weitere Ressourcen
      1. SQL für Fortgeschrittene
      2. Datenbankprogrammierung
      3. Datenbankentwurf
      4. Datenbank-Tuning
      5. Datenbankadministration
      6. Reporting
    19. Über die Übersetzerin
    20. Kolophon