- 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
- Einleitung
- Abgrenzung SQL-Standards - SQL-Erweiterung T-SQL
- Entwicklung von T-SQL in SQL Server
- Werkzeuge, SQL Management Studio
- T-SQL-Grundlagen
- T-SQL-Syntax, Formatierung
- Einzeilige Kommentare, mehrzeilige Kommentare
- Blöcke
- Variablen, DECLARE-Anweisung
- Fallunterscheidungen, IF-ELSE, SELECT-CASE
- Schleifen, WHILE
- BREAK, CONTINUE
- Die EXEC-Anweisung
- Verwendung von sp_executesql
- Fehlerbehandlung, Ausnahmen, TRY-CATCH, RAISERROR
- ERROR-Funktion für Fehlernummer
- Weitere T-SQL Funktionen
- Views in T-SQL
- Das Prinzip einer virtuelle Tabelle
- Erstellen eines Views, CREATE VIEW
- Umbenennen eines Views, SP_RENAME
- Löschen eines Views, DROP VIEW
- Inline Views
- Rekursion mit Hilfe von WITH
- Transaktionen und Sperren
- ACID-Prinzip von Transaktionen
- Transaktionen in T-SQL
- Commit und Rollback
- Implizite Transaktionen
- Verschachtelte Transaktionen
- Savepoints (Sicherungspunkte)
- Verteilte Transaktionen
- Probleme: Lost Update, Dirty Read, Non-Repeatable Read, Phantom-Read
- Sperren setzen im SQL Server
- Gespeicherte Prozeduren
- Prozedurarten, Lebensphasen einer gespeicherten Prozedur
- CREATE PROCEDURE
- Prozeduraufrufe, USE/GO/EXEC(UTE)
- Umbenennen von Prozeduren, SP_RENAME
- Löschen von Prozeduren, DROP PROCEDURE
- Parameter und Übergaben
- Erweiterte gespeicherten Prozeduren
- Benutzerdefinierte Funktionen
- Einsatz benutzerdefinierter Funktionen
- Skalare Funktionen
- Inline-Funktionen
- Tabellenwertfunktionen (Table Value Functions), Tabellenwertfunktion-Iterator
- APPLY-Operator
- Trigger
- Ereignisse auf dem Datenbankserver erkennen
- DML-Trigger und DDL-Trigger
- IF UPDATE, INSTEAD OF
- Das Verhalten von Trigger in Transaktionen
- Verschachtelte Trigger
- erstellen, CREATE TRIGGER
- umbenennen, SP_RENAME
- löschen, DROP TRIGGER
- aktivieren/deaktivieren durch ENABLE TRIGGERR/DISABLE TRIGGER
- Trigger und Datenintegrität, Constraints
- Cursor
- Grundlagen von Cursorn
- Cursor in T-SQL, Cursor-Varianten
- DECLARE XYZ CURSOR, SET XYZ CURSOR FOR
- OPEN, FETCH NEXT FROM
- CLOSE, DEALLOCATE
- Performance-Optimierungen
- SQL Profiler
- Messungen in T-SQL
- Ausführung von T-SQL kontrollieren
- Hinweise
- Weitere Möglichkeiten mit T-SQL
- Datumsberechnungen und Konvertierung von Datumswerten
- Kreuztabellen-Abfragen in Transact-SQL, Pivot-Tabellen
- T-SQL für administrative Dienste: Backup über Skripts, Wiederherstellung
- Ausblick - C#/ und VB.NET
- Erstellung von Funktionen und Aggregationsfunktionen