Oracle SQL Thinking - Vom Problem zum SQL-Statement mit Oracle 12c

Book description

  • Vermittlung der für SQL erforderlichen Denkweise
  • Basierend auf Oracle 12c
  • Keine SQL- oder Programmier-Vorkenntnisse erforderlich

Passend zu realen SQL-Alltagssituationen demonstrieren Ihnen die Autoren auf unterhaltsame Art und Weise, mit welchen Abfragen, Operatoren oder Funktionen Sie der Antwort auf Ihre Frage näher kommen. Sie lernen, mit Ergebnismengen zu jonglieren und diese kreuz und quer zu verbinden. Ein Gefühl für die Logik hinter SQL bekommen Sie so ganz nebenbei und können in Zukunft schnell und gezielt auch die kompliziertesten Datenbankabfragen formulieren.
Die passenden Datensätze zu den Beispielen finden Sie als Download im Netz.

Aus dem Inhalt:
  • SQL - Die Sprache des Orakels
  • Wer oder was und woher? (Navigation im Datenmodell)
  • Wie viel X pro Y?
  • Mengenlehre
  • Wie viel Y pro X und Z(eitspanne)?
  • Einrichten des Users und der Tabellen
  • Schrödingers Gruppierung
  • Mustersuche
  • Datenmodelle
  • InsUpDel
  • Transaktionen
  • Datenbank-Tuning

Table of contents

  1. Impressum
  2. Vorwort
  3. Kapitel 1: Das Problem mit dem Problem
    1. 1.1 SQL – Die Sprache des Orakels
    2. 1.2 Die ersten Fragen
      1. A.2.1 Voraussetzungen
      2. 1.2.2 Welches Datum haben wir heute?
      3. 1.2.3 Hello World
    3. 1.3 Abfrage von echten Tabellen
      1. 1.3.1 Anzeige von Tabelleninhalten – und mehr
      2. 1.3.2 Die erste Textaufgabe
  4. Kapitel 2: Wer oder was und woher? (Navigation im Datenmodell)
    1. 2.1 Voraussetzungen
    2. 2.2 Welche Mitarbeiter haben wir? (Abfrage von Details aus einer Tabelle)
      1. 2.2.1 Die benötigten Tabellen ermitteln
      2. 2.2.2 Die erforderlichen Spalten auswählen
    3. 2.3 In welchen Abteilungen sind die Mitarbeiter? (Abfrage über 2 Tabellen)
      1. 2.3.1 Navigation im Datenmodell
      2. 2.3.2 Formulierung der Abfrage über zwei Tabellen (INNER JOIN​)
      3. 2.3.3 Arbeit sparen auf natürliche Art (NATURAL JOIN​)
    4. 2.4 Welche Abteilungen sind in welchen Regionen?
      1. 2.4.1 Verbundene Abfrage über vier Tabellen (INNER JOIN)
      2. 2.4.2 Sortieren​ der Ergebnisse
    5. 2.5 In welchen Regionen sind welche Abteilungen?
      1. 2.5.1 Kehrt, marsch!
      2. 2.5.2 In welchen Regionen, Ländern und Locations haben wir Abteilungen und in welchen nicht?
    6. 2.6 Wer arbeitet im Marketing?
      1. 2.6.1 Abfrage mit Filter​ (WHERE​-Bedingung​)
      2. 2.6.2 Möglichkeiten der Ergebnisfilterung​
      3. 2.6.3 Verneinung​ von Bedingungen
      4. 2.6.4 Verknüpfung von Bedingungen​
      5. 2.6.5 JOIN über WHERE-Bedingungen (ANSI-92​-Syntax vs. alte Syntax)
    7. 2.7 In welchen Regionen sind wir nicht vertreten?
    8. 2.8 Russische Geschäfte
  5. Kapitel 3: Wie viel X pro Y?
    1. 3.1 Wie viel ...?
      1. 3.1.1 Wie viele Mitarbeiter haben wir?
      2. 3.1.2 Wie viele Mitarbeiter haben ein variables Gehalt?
      3. 3.1.3 Wie viele Mitarbeiter haben die Abteilungen?
    2. 3.2 Wie viel X pro Y (unterteilt nach Z)
      1. 3.2.1 Wie viele Mitarbeiter haben die Abteilungen?
      2. 3.2.2 ... unterteilt nach Jobs?
      3. 3.2.3 Zwischensummen und Gesamtsumme
      4. 3.2.4 Welche Abteilungen haben mehr als fünf Mitarbeiter?
    3. 3.3 X pro Y im Verhältnis zur Gesamtmenge X
      1. 3.3.1 Das Durchschnittsgehalt welcher Abteilungen liegt über dem Gesamt-durchschnitt?
  6. Kapitel 4: Mengenlehre
    1. 4.1 Voraussetzungen
      1. 4.1.1 Fachlicher Hintergrund
      2. 4.1.2 Einrichten des Users und der Tabellen
    2. 4.2 Datenmodell
    3. 4.3 Wie viel (im Vergleich)
      1. 4.3.1 Wie viele Besucher waren auf der letzten Messe?
      2. 4.3.2 Wie viele Besucher waren auf der letzten Messe im Vergleich zur Vormesse?
    4. 4.4 Was im Vergleich
      1. 4.4.1 Welche Besucher der letzten Messe fehlten bei der Vormesse?
      2. 4.4.2 Welche Besucher waren auf beiden Messen?
      3. 4.4.3 Welche Besucher waren insgesamt auf beiden Chicken Breeding Fairs?
    5. 4.5 Spickzettel Mengenoperationen
  7. Kapitel 5: Wie viel Y pro X und Z(eitspanne)
    1. 5.1 Voraussetzungen
      1. 5.1.1 Fachlicher Hintergrund
      2. 5.1.2 Einrichten des Users und der Tabellen
    2. 5.2 Datenmodell
    3. 5.3 Wie viele Rechnungen sind 30/60/90/>90 Tage überfällig?
      1. 5.3.1 Wie erkennen wir überfällige Rechnungen?
      2. 5.3.2 Wie errechnen wir die Zeitspanne?
      3. 5.3.3 Datumsarithmetik​
      4. 5.3.4 Datumskonvertierung​
      5. 5.3.5 Einteilung in die vorgegebenen Kategorien
    4. 5.4 Wie viel Umsatz pro Kunde und Jahr?
      1. 5.4.1 ROLLUP​
      2. 5.4.2 CUBE​
      3. 5.4.3 PIVOT​
      4. 5.4.4 UNPIVOT​
  8. Kapitel 6: Sternzeit
    1. 6.1 Datenmodell
    2. 6.2 Welche Farbe war die meistverkaufte pro Jahr?
      1. 6.2.1 Data Warehouse-Abfrage
      2. 6.2.2 Relationale Abfrage
    3. 6.3 Wie hat sich der Umsatz in der Quartalsbetrachtung​ entwickelt?
      1. 6.3.1 Data Warehouse-Abfrage
      2. 6.3.2 Relationale Abfrage
    4. 6.4 Umsatz, Quartalsbetrachtung, Holzprodukte
      1. 6.4.1 Data Warehouse-Abfrage
      2. 6.4.2 Relationale Abfrage
  9. Kapitel 7: Wer kennt wen?
    1. 7.1 Einrichten des Users und der Tabellen
    2. 7.2 Datenmodell
    3. 7.3 Suche in der Baumstruktur
      1. 7.3.1 Wen kenne ich direkt?
      2. 7.3.2 Wen kenne ich über wie viele Ecken?
      3. 7.3.3 Wen kenne ich über Maverick?
      4. 7.3.4 Gibt es eine Verbindung zwischen Cornel und dem Kanuschlüssel?
      5. 7.3.5 Die kürzeste Verbindung zwischen Cornel und Rajesh?
    4. 7.4 Suche im Netzwerk
      1. 7.4.1 Gibt es Verbindungen zwischen Maverick und Averell?
    5. 7.5 Der kürzeste Pfad
    6. 7.6 Praxisanwendungen
      1. 7.6.1 Welche Strecke hat die meisten freien Leitungen?
      2. 7.6.2 Navigation im Datenmodell
  10. Kapitel 8: Schrödingers Gruppierung​
    1. 8.1 Datenmodell
    2. 8.2 X pro Y im Verhältnis zur Gesamtmenge X
      1. 8.2.1 Mit wie viel Prozent der Kunden machen wir wie viel Prozent unseres Umsatzes?
      2. 8.2.2 X Prozent weniger Arbeit mit analytischen Funktionen
    3. 8.3 Sichtbereiche analytischer Funktionen
    4. 8.4 Rangfolge mit und ohne Gruppierung
      1. 8.4.1 Wie viel Umsatz machen wir mit dem obersten Drittel unserer Kunden, und welche Kunden sind das?
  11. Kapitel 9: Mustersuche
    1. 9.1 Suche in Zahlenreihen
      1. 9.1.1 V-Formation
      2. 9.1.2 Formulieren von Suchmustern
      3. 9.1.3 Der kleine Waschsalon​​
    2. 9.2 Wie schreibt sich Herr Meier?
      1. 9.2.1 Orakeln mit Regex
  12. Kapitel 10: Datenmodelle
    1. 10.1 Datenbankmodell vs. Datenmodell
    2. 10.2 Grundlagen des relationalen Konzepts
    3. 10.3 Grundlagen von Datenmodellen
      1. 10.3.1 Das einfachste Datenmodell: Eine Tabelle
      2. 10.3.2 Die Department-Tabelle
      3. 10.3.3 Das Telefonnummernproblem
      4. 10.3.4 Geteilte Departments
      5. 10.3.5 Wer ist mein Manager?
      6. 10.3.6 Normalisierun​g
      7. 10.3.7 Beziehungskisten​
      8. 10.3.8 Schlüsseltechnolog​ie
      9. 10.3.9 Integritätsbedingungen (Constraint​s)
      10. 10.3.10 Sequenzen und Trigger
    4. 10.4 Das Modell und die Datenbank
      1. 10.4.1 Anlegen eines Benutzerkontos
      2. 10.4.2 Der CREATE TABLE-Befehl
      3. 10.4.3 Der ALTER TABLE-Befehl
      4. 10.4.4 Der CREATE INDEX-Befehl
      5. 10.4.5 Der CREATE SEQUENCE-Befehl
      6. 10.4.6 Der CREATE TRIGGER-Befehl
      7. 10.4.7 Übersicht und andere wichtige DDL-Befehle
  13. Kapitel 11: InsUpDel
    1. 11.1 Der INSERT-Befehl
      1. 11.1.1 Eingefügte Werte zurückliefern
      2. 11.1.2 Der INSERT-Befehl als Datenschleuder
      3. 11.1.3 Einfügen in mehrere Tabellen
    2. 11.2 Der UPDATE-Befehl
    3. 11.3 Aktualisierte Daten zurückliefern
    4. 11.4 Der DELETE-Befehl
    5. 11.5 Gelöschte Daten zurückliefern
    6. 11.6 Spezialisten
      1. 11.6.1 Der TRUNCATE-Befehl
      2. 11.6.2 Der MERGE-Befehl
  14. Kapitel 12: Transaktionen
    1. 12.1 Allgemeines
    2. 12.2 COMMIT und ROLLBACK
    3. 12.3 Savepoints
    4. 12.4 Explizite Transaktionen
    5. 12.5 Sequenzen und Transaktionen
    6. 12.6 Datensätze sperren
    7. 12.7 Tabellen sperren
      1. 12.7.1 Deadlock-Situationen
  15. Kapitel 13: Tuning
    1. 13.1 Voraussetzungen
      1. 13.1.1 Einrichten des Datenbank-Accounts
    2. 13.2 Tunen der Hardware
    3. 13.3 Datenbank-Tuning
      1. 13.3.1 Datenbankstatistiken
      2. 13.3.2 Automatic Workload Repository
    4. 13.4 Datenmodell-Tuning
      1. 13.4.1 Erstellen der Testdaten
      2. 13.4.2 Testen des Datenmodells
      3. 13.4.3 Kosten- versus regelbasierter Optimierer
      4. 13.4.4 Verarbeitung von SQL-Abfragen
      5. 13.4.5 Statistiken
      6. 13.4.6 Informationen aus dem Data Dictionary
      7. 13.4.7 Indexverwaltung
      8. 13.4.8 Explain Plan
    5. 13.5 SQL-Statement Tuning
    6. 13.6 Applikations-Tuning
  16. Anhang A: Vorbereitungen
    1. A.1 Installation der Datenbank
      1. A.1.1 Oracle Database Express Edition 11g Release 2
      2. A.1.2 Oracle Database 12c Release 1
    2. A.2 Hochfahren und Herunterfahren
    3. A.3 SQL Developer
      1. A.3.1 Die mitgelieferte Version
      2. A.3.2 Die aktuelle Version
      3. A.3.3 Übungsdatenbank​ im Netz
  17. Anhang B: NULL
  18. Anhang C: DDL-Skripte
    1. C.1 Anlegen eines Benutzers
    2. C.2 Erzeugen der Beispieltabellen
    3. C.3 Erzeugen der Constraints
    4. C.4 Erzeugen der Suchindexe
    5. C.5 Anlegen der Sequenzen
    6. C.6 Die Trigger
  19. Anhang D: EXCEL-Daten importieren

Product information

  • Title: Oracle SQL Thinking - Vom Problem zum SQL-Statement mit Oracle 12c
  • Author(s): Cornel Brücher, Frank Jüdes, Wulf Kollmann
  • Release date: September 2014
  • Publisher(s): mitp Verlag
  • ISBN: 9783826694721