Start Software und Technologie 3 goldene Regeln für Klarheit in Datenbanken

3 goldene Regeln für Klarheit in Datenbanken

Sauberer Code ist die Grundlage für stabile und performante Datenbankanwendungen. Er erleichtert zudem die Fehlersuche und verbessert das Teamwork. Um in ihrer Datenbankumgebung für Ordnung zu sorgen, sollten Administratoren einige SQL-Regeln beherzigen.

Datenbanken als Ausgangspunkt der Daten-Wertschöpfung
© islander11 | istockphoto.com

SQL Best Practices für Datenbanken: Standards und Best Practices machen im Alltag von IT-Entwicklern einen großen Unterschied. In komplexen Systemen wie Datenbanken müssen Klarheit und Einheitlichkeit herrschen – sonst blicken mit der Zeit weder neue Teammitglieder noch alte Hasen durch. Redgate, Anbieter von DevOps-Lösungen für die Datenbankkontrolle, hat drei goldene Regeln definiert, um system- und teamübergreifende Konsistenz zu erreichen.

Regel 1: Eigene Präfixe für nutzerdefinierte Stored Procedures erstellen

Das Präfix sp_ ist im SQL Server für systemeigene Stored Procedures reserviert, die in der Master-Datenbank liegen. Gemeint sind vordefinierte SQL-Programme, die Aufgaben innerhalb der Datenbank ausführen, beispielsweise das Einfügen, Aktualisieren oder Löschen von Datensätzen. Beginnt eine benutzerdefinierte Stored Procedure ebenfalls mit sp_, führt der SQL Server bei jedem Aufruf zunächst eine Suche in der Master-Datenbank durch, bevor er die eigentlich anstehende Aufgabe ausführt. Dieser zusätzliche Arbeitsschritt kann sich in stark ausgelasteten Systemen spürbar auf die Performance auswirken. Das gleiche Präfix zu verwenden, erhöht auch das Risiko von Namenskonflikten und erschwert die klare Trennung zwischen systemeigenen und anwendungsspezifischen Funktionen.


Anzeige | Kostenfreies Webinar der Trovarit Academy

datenmigration
Quelle: Andrii Yalanskyi | istockphoto.com

Erfolgreiche Datenmigration: Tipps und Tricks für ein reibungsloses Verfahren

  • Typische Fallstricke bei der Altdatenmigration – Herausforderungen bei Struktur, Qualität und Kompatibilität von Daten aus ERP-, MES-, CRM-, PDM- oder HR-Systemen.
  • Strukturierte Datenanalyse und Mapping-Strategien – Wie Daten aus unterschiedlichen Quellen analysiert, aufbereitet und mittels grafischem Mapping transformationsfähig gemacht werden.
  • Einsatz spezialisierter Migrations-Tools – Werkzeuge zur job-gesteuerten Transformation, um Aufwand zu reduzieren, Fehler zu minimieren und eine reibungslose Datenübernahme sicherzustellen.
Jetzt anmelden

Regel 2: Auf SELECT * verzichten

Die Verwendung der SQL-Anweisung SELECT * mag auf den ersten Blick schnell und einfach erscheinen, kann allerdings zu Problemen und schlechter Performance führen. Das liegt daran, dass der Befehl SELECT * die Ausgabe aller Spalten einer Tabelle auslöst, inklusive derer, die für die konkrete Abfrage gar nicht benötigt werden. Das erhöht die Datenmenge, die über das Netzwerk läuft. Bei großen Tabellen oder bei Abfragen über suboptimale Verbindungen führt das zu spürbaren Verzögerungen. Ein weiteres Problem entsteht dann, wenn sich das Schema der Tabelle ändert, also Nutzer Spalten hinzufügen, löschen oder umbenennen. SELECT * gibt nämlich die Spalten in der Reihenfolge zurück, wie sie in der Tabelle aktuell definiert sind. Anwendungen, die auf eine bestimmte Spaltenreihenfolge angewiesen sind, können dadurch Fehler produzieren.

Regel 3: Neue Tabellen klar dokumentieren

Jede neue Tabelle in einer Datenbank hat einen klar definierten Zweck, den Anwender schriftlich niederlegen sollten. In SQL Server lässt sich das über die erweiterte Eigenschaft MS_Description dokumentieren, sowohl für die Tabelle selbst als auch für ihre einzelnen Spalten. Die erweiterte Eigenschaft oder „extended property“ ist ein Metadaten-Attribut, das zusätzlich zu den Standardinformationen spezifische Angaben für ein Datenbankobjekt speichert. Eine solche Dokumentation erleichtert es Teammitgliedern, die Struktur und Funktion der Datenbank sofort zu verstehen, ohne tief in den Code oder die Daten selbst zu schauen. Das vereinfacht die Wartung, reduziert Fehler bei Änderungen am Schema und sorgt für Konsistenz. Zudem bleibt der ursprüngliche Zweck der Tabellen langfristig nachvollziehbar. Ein großer Vorteil bei Reportings, Datenbankmigrationen oder -erweiterungen.

„Die beschriebenen drei goldenen SQL Best Practices für Datenbanken sind nur die Spitze des Eisbergs“, erklärt Oliver Stein, Geschäftsführer DACH bei Redgate. „Je nach Datenbankanwendung und -system bietet es sich an, einen umfassenden Regelkatalog zu definieren. Um die Übersicht zu behalten und den Aufwand beim Verwalten gering zu halten, empfehlen sich spezialisierte Tools für die Migration, das Bereitstellen und das Verwalten von Datenbanken. Am besten sind Werkzeuge, die Funktionen für Continuous-Integration und Continuous-Deployment bereitstellen und mit möglichst vielen Plattformen kompatibel sind.“ Jürgen Frisch