DE  |  FR  |  IT

SQL Script

Allgemeine Informationen

TitelScripting Database
KategorieStrukturierte Daten aus Datenbanken
AbkürzungSQL
Dateiendung.sql
Mime Type-
Pronom PUID-
VersionEs handelt sich hier nicht um ein Dateiformat, sondern um eine Methode zum Erzeugen einer relationalen Datenbank aus einer Script-Datei (Textdatei) und vice versa. Die Textdatei enthält eine Menge von SQL-Befehlen. Diese SQL-Befehle müssen in ihrer Syntax einer bestimmten SQL-Version folgen (z.B. SQL-92). SQL ist von ANSI und ISO standardisiert.

Beschreibung

Die Methode, eine Datenbank mit all ihren Datenbankobjekten aus einer Menge von SQL-Scripten aufzubauen, wird in der Regel im Datenbank-Developmentbereich, bei der Datenbankerzeugung mit CASE-Tools, für Dokumentationszwecke und bei der Datensicherung eingesetzt.
Eine Menge von DDL (Data Definition Language)-Befehlen erzeugt die Struktur bzw. Objekte der Datenbank. Mit DML (Data Manipulation Language)-Befehlen werden anschliessend die Datenbankobjekte/Tabellen mit Daten gefüllt. Alle diese Befehle sind sequentiell in einer Datei angeordnet, werden vom SQL-Interpreter ausgeführt, generieren ein Datenbankschema und füllen Daten in die Tabellen. Zur Erzeugung der Scripts stehen verschiedene Tools zu Verfügung. Bestimmte Datenbanken haben diese Tools auch bereits eingebaut (SQL-Server: "Generate SQL Script wizard", PostgreSQL: "SQL Manager" etc.)
Mit dieser Methode werden, wie auch bei SQLX oder SIARD, nur die Struktur und der Inhalt der Datenbank archiviert; die applikatorische Logik, die allenfalls einen bedeutenden Beitrag zum Verständnis einer Fachapplikation beiträgt, bleibt unberücksichtigt

Bewertung

Offenheit 3
Wenn im Script die Syntax einer bestimmten SQL-Version befolgt wird, ist eine Offenheit in hohem Grade gegeben. Viele Tools generieren jedoch Scripts für eine spezielle Datenbank und verwenden dabei, besonders im DDL-Bereich, datenbankspezifische Befehle, die nicht dem SQL-Standard entsprechen.

Lizenzfreiheit 3
Es bestehen keine lizenzrechtliche Einschränkungen für SQL Scripts.

Verbreitung 2
Hauptverbreitung sind die Bereiche Datenbank-Development, Datenbankerzeugung aus CASE-Tools und Datenbank-Dokumentation. Für die Datenbankarchivierung wird dieser Weg eher selten eingesetzt.

Funktionalitaet 4
Aus der archivierten SQL-Script-Datei kann ein Datenbankschema mit all seinen Objekten wieder vollständig hergestellt werden. Die Datenbank ist von der Originaldatenbank logisch nicht zu unterschieden.

Implementierung 4
Es gibt eine grosse Zahl auch von Datenbankherstellern unabhängige Scripting Tools. Ein Scripting Tool kann zudem vollständig in SQL beschrieben oder implementiert werden.

Speicherdichte 1
Durch die SQL-Befehle in den Scripts entsteht eine enorme Aufblähung der Datenmenge. Deshalb wird dieser Weg selten zu Archivierungszwecken beschritten. (SQL-Loader generiert deshalb zwar DDL-Befehle im Header, schreibt die Daten aber anschliessend als CSV-Datei.)

Verifizierbarkeit 2
Es ist nur eine unspezifische Formaterkennung über die Dateinamenserweiterung möglich.

Best Practice 1
Diese Methode besitzt im Augenblick praktisch keine Bedeutung für die Archivierung von Datenbanken. Sie ist aber die Grundlage von archivisch interessantern oder weiter verbreiteten Ansätzen wie etwa SIARD und SQLX.

Perspektive 1
Wegen der grossen Datenredundanz (Wiederholung der immer gleichen DML-Befehle) ist nicht zu erwarten, dass sich diese Methode für die Archivierung von strukturierten Daten aus Datenbanken durchsetzen wird.

Formatklasse Ø

Fazit

Die Methode ist aus theoretischer Sicht interessant, da alle verwendeten Schritte dem SQL-Standard unterworfen sind. Die Scripting-Datei kann vollständig mit einem SQL-Script generiert werden und stellt wiederum ein SQL-Script dar. SQL (Structured Query Language) hat auch eine lange und stabile Entwicklung als Sprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken und besitzt also so gesehen theoretisch eine hohe Archivtauglichkeit. Da aber viele Datenbanksysteme sich insbesondere im DDL-Bereich nicht vollständig an den SQL-Standard halten, ist der unkomplizierte nachhaltige Zugang zu den Informationen nur bedingt gegeben. Da keine SQL-Validatoren existieren, kann zudem die Standard-Konformität nicht einfach überprüft und nachgewiesen werden. Zudem wirkt sich der Umstand, dass die archivierten Daten nur komprimiert sinnvoll bewirtschaftet werden können, negativ aus. Aus praktischen Überlegungen ist daher vom Einsatz von SQL-Script für die Archivierung abzuraten, insbesondere wenn das Archiv nicht selber die Aufbereitung vornimmt.

Literatur

Wikipedia: SQL
http://de.wikipedia.org/wiki/SQL
Microsoft.com (ed.), Documenting and Scripting Databases
http://msdn2.microsoft.com/en-us/library/ms191299.aspx
SQLScripter
http://www.sqlscripter.com/
PostgreSQL, EMS SQL Manager for PostgreSQL version 6.0 released
https://www.postgresql.org/about/news/ems-sql-manager-for-postgresql-version-60-released-1988/

Verbindungen

Eine funktionelle Beziehung besteht zu CSV und SIARD.

Katalog archivischer Dateiformate Version 6.2, Dezember 2021