Dieses Projekt ist eine Sammlung von Schulungsunterlagen und Beispielen, die ich über die Jahre für verschiedene Zwecke erstellt und weiterentwickelt habe. Es dient nicht nur als Lehrmaterial für meine Studenten, sondern auch als praktische Wissensbasis für meine tägliche Consulting-Tätigkeit. Darüber hinaus nutze ich diese Themen, um fundierte Fragen für Assessment-Center auszuarbeiten und so die fachlichen Fähigkeiten von Kandidaten zu bewerten.
Die hier vorliegenden Inhalte sind das Ergebnis jahrelanger manueller Arbeit. Jedes Kapitel wurde sorgfältig konzipiert und geschrieben, um komplexe Themen verständlich zu machen. Im Jahr 2025 wurden einige dieser Kapitel mithilfe von speziell entwickelten Custom GPTs verfeinert, um die Erklärungen zu präzisieren, die Beispiele zu erweitern und die Vollständigkeit sicherzustellen. Die manuelle, praxisorientierte Ausarbeitung bleibt jedoch das Herzstück dieses Projekts.
Ich hoffe, die Unterlagen sind für euch ebenso nützlich, wie sie es für mich und meine Studenten sind.
Dieses Repository bietet eine strukturierte Einführung in T-SQL. Die Kapitel 00–30 bilden das Basiswissen, 60+ sind optionale Spezialthemen.
-
01_Normalformen
Grundlagen der Datenbankmodellierung – Normalformen zur Vermeidung von Redundanzen. -
02_Select
SELECT-Grundlagen, Spaltenprojektion, Alias, einfache Sortierung. -
03_JOIN
Tabellenverknüpfungen:INNER,LEFT/RIGHT,FULL OUTER, Anti-/Semi-Joins. -
04_Where
Zeilenfilterung mit Operatoren,LIKE,BETWEEN,IN,NULL-Vergleiche. -
05_Funktionen
String-, Datums-, numerische Funktionen;CASEund bedingte Logik. -
06_Delete
Datensätze sicher löschen;TOP,OUTPUT, Transaktionssicherheit. -
07_Insert
Einfügen mitINSERT … VALUES/SELECT, Default-Werte,IDENTITY. -
08_Update
Aktualisieren bestehender Daten mitUPDATE, Join-Update,OUTPUT, Integritätsaspekte. -
09_Set_Operations
Mengenoperatoren:UNION [ALL],INTERSECT,EXCEPT, Duplikatregeln. -
10_GroupBy_Aggregate
Gruppierungen mitGROUP BY, Aggregatfunktionen,HAVING. -
11_WindowFunctions
Analytische Funktionen mitOVER():ROW_NUMBER(),RANK(),LAG/LEAD. -
12_DataTypes_Conversion
Datentypen,CAST/CONVERT, Präzision/Skalen, implizite Konvertierungen. -
13_Merge
Upsert-Szenarien mitMERGE(Insert/Update/Delete), typische Fallstricke. -
14_Pivot_Unpivot
Quer-/Längstransformationen von Daten mitPIVOTundUNPIVOT. -
15_SearchInTables
Techniken zum Durchsuchen von Tabellen/Spalten, Metadaten-Abfragen. -
16_DataIntegrity_Constraints
Schlüssel und Constraints:PRIMARY KEY,FOREIGN KEY,CHECK,DEFAULT. -
17_ANIS_NULL_&_Co
Arbeiten mitNULL:IS NULL,ISNULL,COALESCE, Dreiwertige Logik. -
18_Cube_Rollup
Erweiterte Aggregationen:GROUP BY GROUPING SETS,ROLLUP,CUBE. -
19_Transactions
BEGIN/COMMIT/ROLLBACK, Fehlerfälle, saubere Transaktionsgrenzen. -
20_Create_Database
Datenbanken/Objekte anlegen:CREATE DATABASE, Schemata, grundlegende DDL. -
21_QUOTED_IDENTIFIER
Wirkung vonQUOTED_IDENTIFIERauf Identifikatoren und Anweisungen. -
22_Views_Schemata
Erstellung von Views, Einsatzbereiche, Sicherheitsaspekte. -
23_StoredProcedures
Einführung in Stored Procedures, Parameter, Resultsets. -
24_UserDefinedFunctions
Skalare und table-valued Funktionen, typische Anwendungsfälle. -
25_ErrorHandling_TryCatch
Fehlerbehandlung mitTRY…CATCH,THROW/RAISERROR, Logging. -
26_Indexes_Basics
Clustered/NONCLUSTERED Indizes, Schlüssel/Include, Performancegrundlagen. -
27_ExecutionPlans_Basics
Execution Plans lesen und verstehen, Kardinalitätsschätzung. -
28_JSON_XML_Basics
Grundlagen zuJSONundXMLin SQL Server. -
29_DateTime_Calendar
Datumslogik: Zeiträume, Kalenderfunktionen, dynamische Zeitfilter. -
30_BulkLoad_BCP_BULKINSERT
Import/Export von Daten:BULK INSERT, BCP, Performance-Aspekte.
-
60_IsolationLevels
Isolationsstufen, Sperrverhalten, Nebenläufigkeit und Anomalien. -
61_SubQuery_CTE_TMP
Unterabfragen,WITH CTE, temporäre Tabellen/Tabellenvariablen. -
62_Row_Level_Security
Zeilenbasierte Sicherheit in SQL Server: Policies, Predicates, Performance. -
63_Collation_Case_Sensitive
Sortierfolgen/Collations,CIvs.CS, Auswirkungen auf Vergleiche und Joins. -
64_PerformanceTuning_Advanced
Erweiterte Performance-Optimierung, Query Store, Parameter-Sniffing. -
65_Partitioning
Partitionierte Tabellen und Indizes, Switch-Strategien. -
66_Security_Roles_Permissions
Rollenmodell, Rechteverwaltung, Best Practices für Security. -
67_HA/DR & Replikation
Hochverfügbarkeit & Disaster Recovery (AGs, Distributed AGs, Failover Cluster Instance, Log Shipping, (t-)Replikation, Peer-to-Peer, Legacy Mirroring). -
68_TemporalTables_CDC_CT
Historisierung mit system-versionierten Tabellen, Change Tracking, CDC. -
69_ServiceBroker_Queues
Message-basierte Verarbeitung in SQL Server. -
70_ExternalTables_PolyBase
Zugriff auf externe Datenquellen über PolyBase/External Tables. -
71_BackupRestore_Strategies
Backup-Typen, Recovery-Modelle, Point-in-Time-Restores, Log-Ketten & Copy-Only. -
72_SQLAgent_Jobs_Alerts
Automatisierung mit SQL Agent: Jobs, Schedules, Alerts. -
73_TVPs_TableTypes
Table-Valued Parameters, effiziente Schnittstellen für Prozeduren. -
74_SnapshotIsolation_Concurrency
RCSI,Snapshot Isolation, Auswirkungen auf TempDB. -
75_SSVEPatterns_for_ETL
Best Practices für ETL-Prozesse, Idempotenz, Wasserzeichen, Checksummen. -
76_Spatial_Geography
Arbeiten mit Geo-/Spatial-Daten, Indizes, Abfragen. -
77_JSON_ETL_Practices
Verarbeitung von JSON-Daten, Validierung, Fehlertoleranz. -
78_ColumnstoreIndexes
OLAP-optimierte Indizes, Batch Mode Processing, Data Warehousing. -
79_TSQL_Testing
Unit-Testing in T-SQL (z. B. mit tSQLt). -
80_AzureSQL_Differences
Unterschiede On-Premises vs. Azure SQL, spezielle Features. -
81_InMemory_OLTP
Memory-Optimized Tables, Natively Compiled Procedures. -
82_Troubleshooting_Sessions_Requests
Client-/Session-Troubleshooting und Monitoring (DMVs/XE).
- Blog - Update with Join: Warum Kardinalitaet wichtiger ist als Syntax
- Blog - Index Disable + Rebuild vs. Drop + Create: Wann welche Strategie sinnvoll ist
- Blog - Partitionierung: Wann mehrere Partitionen wirklich helfen - und wann nicht
- Blog - Horizontale Partitionierung: eine partitionierte Tabelle oder mehrere Tabellen?
- Präsentation: Vorlesung_Präsentation.pptx
Hier sind die spezifischen Custom GPTs, die dabei zum Einsatz kamen:
GPT-1: SQL Begriffsdefinitionen& Übersicht (für die md-Seiten)
GPT-2: Generierung von JupyterNotebooks aus Code-Schnippsel
Der manuelle Aufwand für die Erstellung der ursprünglichen Materialien war enorm und bildet das Fundament dieses Projekts. Die KI-Unterstützung diente lediglich dazu, das bereits vorhandene Material zu optimieren und zu ergänzen.
Ich hoffe, die Unterlagen helfen euch weiter!