Datenbankentwicklung mit SQL Server

„Ein paar Tabellen mit Spalten und da werfen wir dann die Daten rein.“

Diese Aussage beschreibt eine Datenhalde, aber bei weitem keine integre und performante Datenbank.

Eine Datenbank speichert nicht einfach nur Geschäftsinformationen. Sie stellt auch sicher, dass diese Informationen dort gemäß der firmeneigenen Vorgaben verwaltet werden.

Die Abbildung einer solchen Geschäftslogik beginnt in einer Datenbank bereits mit der Spezifikation der Tabellen und den dort enthaltenen Spalten mitsamt ihren Datentypen. Diese wird ergänzt durch die Definition des Primärschlüssels und des eindeutigen Schlüssels, den Einschränkungen, der Angabe möglicher Standardwerte sowie erlaubter oder nicht erlaubter NULL-Werte und natürlich den Fremdschlüsselbeziehungen.

Diese deklarative Integrität lässt sich mit der prozeduralen Integrität erweitern.

 

Prozedurale Integrität – Programmlogik im SQL Server

Zur Gewährleistung der prozeduralen Integrität stehen im SQL Server Gespeicherte Prozeduren, Trigger, Sichten sowie Skalar- und Tabellenwertfunktionen zur Verfügung.

Die Programmlogik wird mit T-SQL entwickelt.

T-SQL ist eine zwar spartanische, aber dennoch extrem leistungsfähige Sprache.

In T-SQL können Sie den Programmfluss mit IF-ELSE-Anweisungen steuern, Anweisungen in einer Schleife verarbeiten, Variablen, Table-Variablen, CTEs und temporäre Tabellen zum Zwischenspeichern von Daten nutzen, Fehler in einer Fehlerbehandlung bereinigen oder protokollieren und selbstverständlich ist es mit T-SQL auch möglich Daten zu selektieren, hinzufügen, zu ändern und zu löschen.

Diese Möglichkeiten stehen Ihnen in Gespeicherten Prozeduren und Triggern zur Verfügung sowie mit einigen Einschränkungen auch in Sichten und in den Skalar- und Tabellenwertfunktionen.

T-SQL steht für Transact-SQL und ist der SQL-Dialekt vom SQL Server.

 

Das charmante an SQL ist das Alter der Sprache.

SQL ist eine standardisierte und etablierte Sprache. Es gibt sie bereits seit mehr als 40 Jahren.

Trotz des Alters ist SQL immer noch die Methode zum Ermitteln und Verarbeiten von Daten. Egal mit welcher Technik Sie Ihre Daten abfragen und verarbeiten, ob per Webbrowser, Desktop-Applikationen, APPs, Sensoren, etc. – letztendlich erfolgt der Datenzugriff per SQL.

 

Erfahrungen

Mit Datenbanken und SQL arbeite ich seit 1991. Begonnen habe ich mit der Datenbankmodellierung und dem Erstellen von Sichten und Abfragen in DB/400, der Datenbank der AS/400. Kurz darauf folgten die PC-Datenbanken – zuerst OpenAccess, dann Paradox und schließlich Access.

SQL Server löste 1999 dann bei mir alle bis dahin verwendeten Datenbanken ab – mit Ausnahme von Access.

In den vielen Migrationen von Access nach SQL Server verlagerte sich zur Optimierung der Access-Applikation die Programmlogik immer mehr zum SQL Server. Dies war nicht nur bei den Migrationsprojekten der Fall, auch bei Desktop-Applikationen mit .NET und Delphi wie auch bei kleineren Web-Projekten mit .NET und PHP entwickelte ich immer mehr Logik im SQL Server selbst. Anfangs noch mit Triggern und Sichten, bis ich die Vorteile der Gespeicherten Prozeduren erkannte. Seitdem bilde ich die Programmlogik in erster Linie in Gespeicherten Prozeduren ab.

Wann immer es das Projekt erlaubt, verwende ich Gespeicherte Prozeduren.

Bei der Entwicklung ist für mich neben der Realisierung der Anforderungen auch immer die Auswirkung auf die Gesamtperformance und die Sicherheit beim Datenbankzugriff relevant.

In einigen Projekten stand ich als Berater und Trainer zur Seite, bei anderen wiederum half ich aktiv bei der Datenbankmodellierung wie auch bei der Entwicklung der Programmlogik mit oder übernahm die Datenbankentwicklung komplett als Auftragsarbeit.

 

Vorträge und Seminare

2009 zeigte ich bei der SQL Server und .NET Entwickler-Konferenz – kurz SNEK – die Neuerungen in T-SQL der SQL Server-Versionen 2005 und 2008. Diese Sammlung wurde seitdem mit jeder weiteren Version von SQL Server ergänzt. So ergab sich mit der Zeit ein Vortrag, der die neuen T-SQL-Befehle seit 2005 anhand vieler Beispiele zeigt. Auch Teilnehmer einiger Regionalgruppentreffen der PASS haben inzwischen bei dieser kleinen T-SQL-Zeitreise teilgenommen.

Das Seminar Datenbankentwicklung mit SQL Server vermittelt in vielen Beispielen und Übungsaufgaben die Möglichkeiten der Datenbankmodellierung in SQL Server sowie die Programmierung von T-SQL in Gespeicherten Prozeduren, Sichten, Funktionen und Triggern. Auch dieses Seminar basiert auf meinen Erfahrungen und enthält viele Praxistipps sowie Hinweise zur Optimierung der Performance.

 

Projektbegleitung und -unterstützung

Gerne stehe ich Ihnen bei der Modellierung und Entwicklung Ihrer Datenbanken als Berater und Trainer zur Verfügung, begleite Sie bei Ihrem Datenbankprojekt und unterstütze Sie aktiv bei der Datenbankmodellierung wie auch bei der Entwicklung von Gespeicherten Prozeduren, Sichten, Triggern und Funktionen.