- Relationales Datenbankdesign
- Grundlagen und Aufgaben eines Datenbankmanagementsystems
- Grundlagen der Datenmodellierung
- Grundsätze für Relationen
- Normalisierung und Denormalisierung
- Arbeitsweise von Datenbanken
- Datenkonsistenz (Datenbank-Constraints),
- Datensicherheit (Zugriffsschutz, Isolierung)
- Structured Query Language (SQL): der SELECT-Befehl
- Grundlagen des SELECT Statements
- Tabellen- und Spaltenalias
- Projektion und Selektion (Spaltenwahl und WHERE-Klausel)
- Sortierung (ORDER BY)
- Einzel- und Gruppenfunktionen
- Zeichenketten- und Datumoperationen
- Ausschluss von Duplikaten (DISTINCT / UNIQUE)
- Verknüpfte Bedingungen (Logische Operatoren)
- LIKE, IN und BETWEEN
- Die Verknüpfung (Join)
- INNER Join
- OUTER Join
- FULL Join
- Vereinigungs- und Schnittmengen
- (INTERSECT, UNION (ALL), MINUS etc.)
- Arbeiten mit Gruppenfunktionen
- Unterabfragen (Subqueries)
- ... im FROM-Block (Inner View)
- ... im WHERE-Block (EXISTS, ALL, IN)
- Weitere SQL Befehle
- Hinzufügen, Löschen und Ändern von Datensätzen
- (INSERT, DELETE und UPDATE)
- Erstellung und Pflege von Tabellen
- (CREATE, ALTER und DROP Befehl)
- Pflege von Benutzerrechten
- (GRANT und REVOKE-Befehl)
- Transaktionsschutz
4.-5. Tag auch separat buchbar als:
- Einführung
- Verzweigungen
- Conditional Expressions
- CASE und COALESCE
- Einsatzzwecke und Szenarien
- NULLIF
- Unterabfragen
- Wo und wie können Unterabfragen eingesetzt werden
- Wann sollte besser darauf verzichtet werden
- JOIN als Alternative zu einer Unterabfrage
- Komplexe Lösungen mit Hilfe von Unterabfragen
- JOINS
- INNER und OUTER JOINS
- NULL sicher
- Aggregate
- Typische Fallen und das Verhalten bei NULL - Werten
- Lösungen
- Rekursive SQL Abfragen
- Views vs WITH
- Stored Procedure/Functions vs WITH
- WITH
- Transaktionen in SQL
- Transactionen und Sperren
- ACID-Prinzip von Transactionen
- Commit und Rollback
- Implizite Transaktionen
- Verschachtelte Transaktionen bzw. Savepoints
- Vergleich des Transaktionsmanagements von Oracle, MS SQL und PostgreSQL
- Analytische Funktionen / OLAP / Rangfolgefunktionen
- SQL WINDOW Funktionen, Aggregations-Funktionen in Kombination mit OVER, PARTITION BY, ORDER BY und RANGE/ROW
- RANK () OVER ...
- DENSE_RANK () OVER ...
- ROW_NUMBER () OVER ...
- SUM () OVER ...
- MIN () OVER ...
- MAX () OVER ...
- AVG () OVER ...
- COUNT() OVER ...
- LEAD() OVER ...
- LAG() OVER ...
- PERCENTILE_CONT
- PERCENTILE_DISC
- PERCENT_RANK
- CUME_DIST
- FIRST_VALUE
- LAST_VALUE
- Typische Problemstellungen für WINDOW-Funktionen
- Vergleich des Umsatzes des aktuellen Jahres mit dem Vorjahr
- Prozentualer Vergleich des Umsatzes im Monat zum Jahr, Ort zum Land (zu einer übergeordneten Struktur)
- Vergleich einer Summe mit der Summe eines Datensatzes vorher oder nachher
- Median
- GROUPING SETS/OLAP
- Grouping Sets
- Rollup
- Cube
- DML - Data Manipulation Language
- Manipulation von Daten auf Basis multipler Tabellen (JOIN und/oder Sub-Query)
- INSERT
- UPDATE
- DELETE
- MERGE und andere Lösungen
- Geschwindigkeit
- Typische Fehler in SQL- Abfragen
- Wie kann man eine SQL- Abfrage schneller machen
- Welche Indexe helfen bei der Optimierung SQL- Abfragen?
- Anlegen von Indexen, welcher Index wird wann genommen
- Welche Schreibweisen versprechen eine bessere Performance
- Index
- Definition und Grundlagen