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

SQL für Dummies, 5., aktualisierte Auflage

Book Description

In "SQL für Dummies" gibt es alles Wissenswerte rund um die Abfragesprache SQL: Aufbau eines Datenbankmanagementsystems, die SQL-Hauptkomponenten sowie die Strukturierung, Erstellung, Abfrage und Sicherung der Daten.

Table of Contents

  1. Coverpage
  2. Titlepage
  3. Copyright
  4. Über den Autor
  5. Über die Übersetzer
  6. Inhaltsverzeichnis
  7. Einführung
    1. Über dieses Buch
    2. Wer sollte dieses Buch lesen?
    3. Wie dieses Buch aufgebaut ist
      1. Teil I: Grundbegriffe
      2. Teil II: Datenbanken mit SQL erstellen
      3. Teil III: Daten speichern und abrufen
      4. Teil IV: Kontrollmechanismen
      5. Teil V: SQL in der Praxis
      6. Teil VI: SQL für Fortgeschrittene
      7. Teil VII: Der Top-Ten-Teil
    4. Symbole, die in diesem Buch verwendet werden
    5. Wie es weitergeht
  8. Teil I Grundbegriffe
    1. Kapitel 1 Grundlagen relationaler Datenbanken
      1. Die Übersicht über Dinge behalten
      2. Was ist eine Datenbank?
      3. Datenbankgröße und -komplexität
      4. Was ist ein Datenbankverwaltungssystem?
      5. Flache Dateien
      6. Datenbankmodelle
        1. Das relationale Modell
        2. Warum das relationale Modell besser ist
        3. Komponenten einer relationalen Datenbank
        4. Was sind Relationen?
        5. Views oder Sichten
        6. Schemata, Domänen und Einschränkungen
        7. Schemata
        8. Domänen
        9. Einschränkungen
        10. Das Objektmodell fordert das relationale Modell heraus
        11. Das objektrelationale Modell
      7. Überlegungen zum Datenbankentwurf
    2. Kapitel 2 SQL-Grundlagen
      1. Was SQL ist und was es nicht ist
      2. Ein (sehr) kurzer historischer Überblick
      3. SQL-Anweisungen
      4. Reservierte Wörter
      5. Datentypen
        1. Genaue Zahlen
        2. Der Datentyp INTEGER
        3. Der Datentyp SMALLINT
        4. Der Datentyp BIGINT
        5. Der Datentyp NUMERIC
        6. Der Datentyp DECIMAL
        7. Annähernd genaue Zahlen
        8. Der Datentyp REAL
        9. Der Datentyp DOUBLE PRECISION
        10. Der Datentyp FLOAT
        11. Zeichenketten
        12. Der Datentyp CHARACTER
        13. Der Datentyp CHARACTER VARYING
        14. Der Datentyp CHARACTER LARGE OBJECT
        15. Die Datentypen NATIONAL CHARACTER, NATIONAL CHARACTER VARYING und NATIONAL CHARACTER LARGE OBJECT
        16. Binäre Zeichenketten
        17. Der Datentyp BINARY
        18. Der Datentyp BINARY VARYING
        19. Der Datentyp BINARY LARGE OBJECT
        20. Boolesche Werte
        21. Datums- und Zeitwerte
        22. Der Datentyp DATE
        23. Der Datentyp TIME WITHOUT TIME ZONE
        24. Der Datentyp TIMESTAMP WITHOUT TIME ZONE
        25. Der Datentyp TIME WITH TIME ZONE
        26. Der Datentyp TIMESTAMP WITH TIME ZONE
        27. Intervalle
        28. Der Datentyp XML
        29. Der Datentyp ROW
        30. Datentypen für Auflistungen
        31. Der Datentyp ARRAY
        32. Der Datentyp MULTISET
        33. REF-Typen
        34. Benutzerdefinierte Typen
        35. Eindeutige Typen (DISTINCT)
        36. Strukturierte Typen
        37. Zusammenfassung der Datentypen
      6. Nullwerte
      7. Einschränkungen
      8. SQL in einem Client/Server-System benutzen
        1. Der Server
        2. Der Client
      9. SQL mit dem Internet oder einem Intranet benutzen
    3. Kapitel 3 Die Komponenten Von SQL
      1. Data Definition Language
        1. Wenn »Mach' es einfach!« kein guter Rat ist
        2. Tabellen erstellen
        3. Sichten
        4. Sichten aus einzelnen Tabellen
        5. Die Mehrtabellensicht
        6. Tabellen in Schemata zusammenfassen
        7. Ordnung durch Kataloge
        8. Die DDL-Anweisungen kennen lernen
        9. CREATE
        10. ALTER
        11. DROP
      2. Data Manipulation Language
        1. Ausdrücke
        2. Numerische Ausdrücke
        3. Stringausdrücke
        4. Datum/Zeit- und Intervall-Ausdrücke
        5. Boolesche Ausdrücke
        6. Benutzerdefinierte Ausdrücke
        7. Zeilenausdrücke
        8. Auflistungsausdrücke
        9. Referenzausdrücke
        10. Prädikate
        11. Logische Verknüpfungen
        12. Mengenfunktionen
        13. COUNT
        14. MAX
        15. MIN
        16. SUM
        17. AVG
        18. Unterabfragen
      3. DCL (Data Control Language)
        1. Transaktionen
        2. Benutzer und Rechte
        3. Einschränkungen der referenziellen Integrität können Ihre Daten gefährden
        4. Die Verantwortung für die Sicherheit delegieren
  9. Teil II Datenbanken mit SQL erstellen
    1. Kapitel 4 Eine einfache Datenbankstruktur erstellen und verwalten
      1. Entscheiden, was in die Datenbank gehört
      2. Eine Datenbanktabelle erstellen
      3. Eine Tabelle in der Datenblattansicht erstellen
      4. Eine Tabelle in der Entwurfsansicht erstellen
      5. Die Struktur einer Tabelle ändern
      6. Einen Index definieren
      7. Eine Tabelle löschen
      8. Das gleiche Beispiel mit SQLs DDL erstellen
        1. SQL mit Microsoft Access nutzen
        2. Eine Tabelle erstellen
        3. Einen Index erstellen
        4. Die Tabellenstruktur ändern
        5. Eine Tabelle löschen
        6. Einen Index löschen
      9. Überlegungen zur Portierbarkeit
    2. Kapitel 5 Eine relationale Datenbank mit mehreren Tabellen erstellen
      1. Die Datenbank entwerfen
        1. Schritt 1: Objekte definieren
        2. Schritt 2: Tabellen und Spalten identifizieren
        3. Schritt 3: Tabellen definieren
        4. Domänen, Zeichensätze, Sortierfolgen und Übersetzungstabellen
        5. Schlüssel für den schnellen Zugriff
        6. Primärschlüssel
        7. Fremdschlüssel
      2. Mit Indizes arbeiten
        1. Was ist eigentlich ein Index?
        2. Wozu ist ein Index gut?
        3. Einen Index verwalten
      3. Datenintegrität
        1. Integrität von Entitäten
        2. Integrität von Domänen
        3. Referenzielle Integrität
        4. Probleme zwischen über- und untergeordneten Tabellen
        5. Kaskadierende Löschungen – vorsichtig verwenden
        6. Alternative Methoden, um Aktualisierungsanomalien zu vermeiden
        7. Und gerade als Sie dachten, alles wäre sicher …
        8. Potenzielle Problembereiche
        9. Einschränkungen
      4. Die Datenbank normalisieren
        1. Erste Normalform
        2. Zweite Normalform
        3. Dritte Normalform
        4. Domain-Key-Normalform (DK/NF)
        5. Abnorme Formen
  10. Teil III Daten speichern und abrufen
    1. Kapitel 6 Daten einer Datenbank bearbeiten
      1. Daten abrufen
      2. Eine Sicht erstellen
        1. FROM-Tabellen
        2. Mit einer Auswahlbedingung
        3. Mit einem geänderten Attribut
      3. Sichten aktualisieren
      4. Neue Daten hinzufügen
        1. Daten zeilenweise einfügen
        2. Daten nur in ausgewählte Spalten einfügen
        3. Zeilen blockweise in eine Tabelle einfügen
        4. Daten aus einer fremden Datei kopieren
        5. Zeilen von einer Tabelle in eine andere übertragen
        6. Ausgewählte Spalten und Zeilen von einer Tabelle in eine andere übertragen
      5. Vorhandene Daten aktualisieren
      6. Daten übertragen
      7. Überholte Daten löschen
    2. Kapitel 7 Werte festlegen
      1. Werte
        1. Zeilenwerte
        2. Literale
        3. Variablen
        4. Spezielle Variablen
        5. Spaltenreferenzen
      2. Wertausdrücke
        1. String-Wertausdrücke
        2. Numerische Wertausdrücke
        3. Datums- und Zeit-Wertausdrücke
        4. Intervall-Wertausdrücke
        5. Bedingungs-Wertausdrücke
      3. Funktionen
        1. Mit Mengenfunktionen summieren
        2. COUNT
        3. AVG
        4. MAX
        5. MIN
        6. SUM
        7. Wertfunktionen
        8. Stringfunktionen
        9. Numerische Funktionen
        10. Datums- und Zeitfunktionen
    3. Kapitel 8 SQL-Wertausdrücke – fortgeschrittener Teil
      1. CASE-Bedingungsausdrücke
        1. CASE mit Suchbedingungen verwenden
        2. Werte bedingungsabhängig aktualisieren
        3. Bedingungen vermeiden, die Fehler verursachen
        4. CASE mit Werten verwenden
        5. Ein Sonderfall: CASE – NULLIF
        6. Ein weiterer Sonderfall: CASE – COALESCE
      2. Umwandlungen von Datentypen mit CAST
        1. CAST in SQL verwenden
        2. CAST als Mittler zwischen SQL und Host-Sprachen
      3. Datensatzwertausdrücke
    4. Kapitel 9 Daten zielsicher finden
      1. Modifizierende Klauseln
      2. Die Klausel FROM
      3. Die Klausel WHERE
        1. Vergleichsprädikate
        2. BETWEEN
        3. IN und NOT IN
        4. LIKE und NOT LIKE
        5. SIMILAR
        6. NULL
        7. ALL, SOME, ANY
        8. EXISTS
        9. UNIQUE
        10. DISTINCT
        11. OVERLAPS
        12. MATCH
        13. Regeln der referenziellen Integrität und das Prädikat MATCH
      4. Logische Verknüpfungen
        1. AND
        2. OR
        3. NOT
      5. Die Klausel GROUP BY
      6. HAVING
      7. ORDER BY
    5. Kapitel 10 Relationale Operatoren
      1. UNION
        1. UNION ALL
        2. UNION CORRESPONDING
      2. INTERSECT
      3. EXCEPT
      4. Verknüpfungen
        1. Die einfache Verknüpfung
        2. Gleichheitsverknüpfung – Equi-Join
        3. Kreuzverknüpfungen – Cross-Join
        4. Natürliche Verknüpfungen – Natural-Join
        5. Bedingte Verknüpfungen
        6. Spaltennamenverknüpfungen
        7. Innere Verknüpfungen – INNER JOIN
        8. Äußere Verknüpfungen – OUTER JOIN)
        9. Die linke äußere Verknüpfung – LEFT OUTER JOIN
        10. Rechte äußere Verknüpfung – RIGHT OUTER JOIN
        11. Vollständige äußere Verknüpfung – FULL OUTER JOIN
        12. Vereinigungsverknüpfungen – Union Join
      5. ON im Vergleich zu WHERE
    6. Kapitel 11 Tief graben mit Verschachtelten Abfragen
      1. Was Unterabfragen erledigen
        1. Verschachtelte Abfragen, die eine Zeilenmenge zurückgeben
        2. Unterabfragen und das Schlüsselwort IN
        3. Unterabfragen und das Schlüsselwort NOT IN
        4. Verschachtelte Abfragen, die einen einzelnen Wert zurückgeben
        5. Die quantifizierenden Vergleichsoperatoren ALL, SOME und ANY
        6. Verschachtelte Abfragen als Existenztest
        7. EXISTS
        8. NOT EXISTS
        9. Weitere korrelierte Unterabfragen
        10. Korrelierte Unterabfragen, die durch IN eingeleitet werden
        11. Unterabfragen, die durch Vergleichsoperatoren eingeleitet werden
        12. Unterabfragen in einer HAVING-Klausel
        13. Die Anweisungen UPDATE, DELETE und INSERT
    7. Kapitel 12 Rekursiüe Abfragen
      1. Was ist Rekursion?
        1. Houston, wir haben ein Problem
        2. Scheitern ist keine Option
      2. Was ist eine rekursive Abfrage?
      3. Wo kann ich eine rekursive Abfrage anwenden?
        1. Abfragen auf die harte Tour erstellen
        2. Zeit mit einer rekursiven Abfrage sparen
      4. Wo könnte ich eine rekursive Abfrage sonst noch einsetzen?
  11. Teil IV Kontrottmechanismen
    1. Kapitel 13 Datenbanken schützen
      1. Die Datenkontrollsprache von SQL
      2. Zugriffsebenen für Benutzer
        1. Der Datenbankadministrator
        2. Besitzer von Datenbankobjekten
        3. Die Öffentlichkeit
      3. Rechte an Benutzer vergeben
        1. Rollen
        2. Daten einfügen
        3. Daten lesen
        4. Tabellendaten ändern
        5. Tabellenzeilen löschen
        6. Verknüpfte Tabellen referenzieren
        7. Domänen, Zeichensätze, Sortierreihenfolgen und Übersetzungstabellen
        8. Das Ausführen von SQL-Anweisungen bewirken
        9. Rechte über Ebenen hinweg einräumen
        10. Das Recht zur Vergabe von Rechten übertragen
        11. Rechte entziehen
        12. Mit GRANT und REVOKE zusammen Zeit und Aufwand sparen
    2. Kapitel 14 Daten schützen
      1. Gefahren für die Datenintegrität
        1. Plattforminstabilität
        2. Geräteausfall
        3. Gleichzeitiger Datenzugriff
        4. Interaktionsprobleme bei Transaktionen
        5. Serialisierung beseitigt schädliche Interaktionen
      2. Die Gefahr der Verfälschung von Daten reduzieren
        1. Mit SQL-Transaktionen arbeiten
        2. Die Standardtransaktion
        3. Isolierungsebenen
        4. Die schwächste Isolierungsebene: READ UNCOMMITTED
        5. Die nächsthöhere Isolierungsebene: READ COMMITTED
        6. Die Isolierungsebene REPEATABLE READ
        7. Die Isolierungsebene SERIALIZABLE
        8. Anweisungen mit implizitem Transaktionsbeginn
        9. SET TRANSACTION
        10. COMMIT
        11. ROLLBACK
        12. Datenbankobjekte sperren
        13. Datensicherung
        14. Speicherpunkte und Untertransaktionen
      3. Einschränkungen innerhalb von Transaktionen
    3. Kapitel 15 SQL in Anwendungen benutzen
      1. SQL in einer Anwendung
        1. Nach dem Sternchen Ausschau halten
        2. Stärken und Schwächen von SQL
        3. Stärken und Schwächen prozeduraler Sprachen
        4. Probleme bei der Kombination von SQL mit prozeduralen Sprachen
        5. Die verschiedenen Arbeitsweisen
        6. Inkompatibilität von Datentypen
      2. SQL in prozedurale Sprachen einbinden
        1. Eingebettetes SQL
        2. Host-Variablen deklarieren
        3. Datentypen umwandeln
        4. Die SQL-Modulsprache
        5. Moduldeklarationen
        6. Modulprozeduren
        7. Objektorientierte RAD-Werkzeuge
        8. SQL mit Microsoft Access verwenden
  12. Teil V SQL in der Praxis
    1. Kapitel 16 Datenzugriffe mit ODBC und JDBC
      1. ODBC
        1. Die ODBC-Schnittstelle
        2. Die Komponenten von ODBC
      2. ODBC in einer Client/Server-Umgebung
      3. ODBC und das Internet
        1. Server-Erweiterungen
        2. Client-Erweiterungen
        3. Helper-Anwendungen
        4. ActiveX-Steuerelemente
        5. Skripte
      4. ODBC und Intranets
      5. JDBC
    2. Kapitel 17 SQL und XML
      1. Was XML mit SQL zu tun hat
      2. Der XML-Datentyp
        1. Wann der XML-Datentyp verwendet werden sollte
        2. Wann der Datentyp XML nicht verwendet werden sollte
      3. SQL in XML und XML in SQL konvertieren
        1. Zeichensätze konvertieren
        2. Bezeichner konvertieren
        3. Datentypen konvertieren
        4. Tabellen konvertieren
        5. Mit Nullwerten umgehen
        6. Das XML-Schema erzeugen
      4. SQL-Funktionen, die mit XML-Daten arbeiten
        1. XMLDOCUMENT
        2. XMLELEMENT
        3. XMLFOREST
        4. XMLCONCAT
        5. XMLAGG
        6. XMLCOMMENT
        7. XMLPARSE
        8. XMLPI
        9. XMLQUERY
        10. XMLCAST
      5. Prädikate
        1. DOCUMENT
        2. CONTENT
        3. XMLEXISTS
        4. VALID
      6. XML-Daten in SQL-Tabellen umwandeln
      7. Nicht vordefinierte Datentypen in XML abbilden
        1. Domänen
        2. Distinct UDT (Spezifischer benutzerdefinierter Datentyp)
        3. Row (Zeile)
        4. Array
        5. Multiset
      8. Die Hochzeit von SQL und XML
  13. Teil VI SQL für Fortgeschrittene
    1. Kapitel 18 Cursor
      1. Einen Cursor deklarieren
        1. Der Abfrageausdruck
        2. Die Klausel ORDER BY
        3. Die Klausel FOR UPDATE
        4. Sensitivität
        5. Scrollbarkeit
      2. Einen Cursor öffnen
      3. Daten aus einer einzelnen Zeile abrufen
        1. Syntax
        2. Die Orientierung eines scrollbaren Cursors
        3. Cursor-Zeilen löschen oder ändern
      4. Einen Cursor schließen
    2. Kapitel 19 Prozedurale Möglichkeiten mit dauerhaft gespeicherten Modulen schaffen
      1. Zusammengesetzte Anweisungen
        1. Atomarität
        2. Variablen
        3. Cursor
        4. Zustand (Condition)
        5. Mit Zuständen umgehen
        6. Ausnahme-Handler deklarieren
        7. Handler-Aktionen und Handler-Folgen
        8. Zustände, die nicht verarbeitet werden
        9. Zuweisung
      2. Anweisungen zur Ablaufsteuerung
        1. IF…THEN…ELSE…END IF
        2. CASE…END CASE
        3. Einfache CASE-Anweisung
        4. Suchende CASE-Anweisung
        5. LOOP…ENDLOOP
        6. LEAVE
        7. WHILE…DO…END WHILE
        8. REPEAT…UNTIL…END REPEAT
        9. FOR…DO…END FOR
        10. ITERATE
      3. Gespeicherte Prozeduren
      4. Gespeicherte Funktionen
      5. Rechte
      6. Gespeicherte Module
    3. Kapitel 20 Fehlerbehandlung
      1. SQLSTATE
      2. Die Klausel WHENEVER
      3. Diagnosebereiche
        1. Der Kopf des Diagnosebereichs
        2. Der Detailbereich des Diagnosebereichs
        3. Beispiel für Verstöße gegen Einschränkungen
        4. Einer Tabelle Einschränkungen hinzufügen
        5. Die Informationen auswerten, die von SQLSTATE zurückgegeben werden
      4. Mit Ausnahmen umgehen
    4. Kapitel 21 Trigger
      1. Einige Anwendungen von Triggern
      2. Einen Trigger erstellen
        1. Anweisungs- und Zeilen-Trigger
        2. Wenn ein Trigger ausgelöst wird
        3. Die getriggerte SQL-Anweisung
        4. Ein Beispiel für eine Trigger-Definition
        5. Eine Folge von Triggern auslösen
        6. Alte Werte und neue Werte referenzieren
        7. Mehrere Trigger für eine einzelne Tabelle auslösen
  14. Teil VII Der Top-Ten-Teil
    1. Kapitel 22 Zehn häufige Fehler
      1. Annehmen, dass die Kunden wissen, was sie brauchen
      2. Den Umfang des Projekts ignorieren
      3. Nur technische Faktoren berücksichtigen
      4. Nicht um Feedback bitten
      5. Immer Ihre liebste Entwicklungsumgebung benutzen
      6. Immer Ihre liebste Systemarchitektur benutzen
      7. Datenbanktabellen unabhängig voneinander entwerfen
      8. Design-Reviews ignorieren
      9. Betatests überspringen
      10. Keine Dokumentation erstellen
    2. Kapitel 23 Zehn Tipps für Abfragen
      1. Prüfen Sie die Datenbankstruktur
      2. Testen Sie Abfragen mit einer Testdatenbank
      3. Prüfen Sie Verknüpfungsabfragen doppelt
      4. Prüfen Sie Abfragen mit einer Unterabfrage dreifach
      5. Daten mit GROUP BY summieren
      6. Beachten Sie die Einschränkungen der Klausel GROUP BY
      7. Benutzen Sie bei AND, OR und NOT Klammern
      8. Überwachen Sie Abfragerechte
      9. Sichern Sie Ihre Datenbanken regelmäßig
      10. Bauen Sie eine Fehlerbehandlung ein
  15. Anhang A Reservierte Wörter
  16. Stichwortverzeichnis