Katalog archivischer Dateiformate (KaD, v2)

SQLX


Kategorie

Strukturierte Daten aus Tabellenkalkulation und Datenbanken

Abkürzung

.xml
.sqlx

Titel

SQL/XML

Versionen

aktuelle Version: 1 (In SQL:2003 wird in Kapitel 14 "XML-Related Specifications (SQL/XML)" der Austausch zwischen XML Datenrepräsentation und relationaler Datenbank spezifiziert.)

Beschreibung

Bei SQLX handelt es sich nicht so sehr um ein Dateiformat (das Dateiformat ist in diesem Falle immer XML) als vielmehr um ein Set von SQL-basierten Funktionen für den Export ("publish") von Tabellen aus relationalen Datenbanken in XML-Dateien und den Import ("extract/store") ebendieser XML-Dateien in eine relationale Datenbank. Der Export einzelner Tabellen ist trivial und wird heute schon von den meisten Datenbanken und Tabellenverarbeitungsprogrammen beherrscht. Schwieriger, bzw. noch nicht überzeugend gelöst, ist die Abbildung einer vollständigen relationalen Datenbank in eine XML-Datenrepräsentation. Das Grundproblem liegt darin, das relationale Datenmodell auf das hierarchische XML-Datenmodell abzubilden.

Bewertung



Offenheit 2

Die Spezifikation ist inzwischen umfangreich und eher in der Form eines Normierungsvorschlages gehalten. Es sind noch Änderungen zu erwarten. http://www.sqlx.org/ ist die entsprechende Diskussionsplattform.

Lizenzfreiheit 4

Es bestehen keine lizenzrechtliche Einschränkungen für den Normierungsvorschlage als Teil von SQL:2003. Die Implementierungen der SQLX-Funktionalität in den einzelnen Datenbanken wird natürlich proprietär erfolgen.

Verbreitung 3

Als Exportmöglichkeit und für den Datenaustausch einzelner Tabellen hat SQLX bereits eine beachtliche Verbreitung gefunden. SQLX ersetzt CSV und behebt dessen bekannte Mängel. Der Export ganzer Datenbankschemata in XML-Datenrepräsentation scheint noch nicht umfassend gelöst.

Funktionalitaet 3

SQLX erlaubt es, Feldbezeichnungen und Feldformate aus einer Tabelle in eine XML-Datei zu übernehmen. Die Abbildung hierarchischer Datenstrukturen aus einer Datenbank kann ohne Aufbau von Redundanz erfolgen, vergleiche auch hier CSV.

Implementierung 3

Praktisch in jeder Datenbank und jedem Tabellenkalkulationsprogramm können die SQLX-Funktionen mit Hilfe bestehender SQL-Funktionalität implementiert werden. Etliche Anbieter (Oracle, Microsoft etc.) haben die SQLX-Funktionen auch bereits implementiert.

Speicherdichte 2

Solange nur hierarchische Beziehungen abgebildet werden, entsteht keine Datenredundanz (siehe oben Funktionalität). Durch die Speicherung der XML-Tags in der Datei wird diese nicht unerheblich aufgebläht. In der Regel wird darum eine Datenkompression beim Abspeichern angewendet (ZIP).

Best Practice 1

SQLX kann zwar CSV problemlos ablösen, besitzt aber noch nicht dessen grosse Verbreitung und ist in Archiven kaum ein Thema. Die Integration von Primär- und Metadaten und die Standardisierung ist viel besser als bei CSV gelöst. Die Abbildung einer relationalen Datenbank in einer XML-Datei ist noch nicht generisch möglich.

Perspektive 3

SQL/XML ist für den Datenaustausch und für die Langzeitspeicherung ein äusserst interessanter Lösungsansatz. Im Bereich Datenaustausch zwischen Datenbanken und Applikationen wird er sich sicher durchsetzen oder hat er sich bereits durchgesetzt, weil die ganzen Tools und Schnittstellen bereits XML-basiert aufgebaut sind. Im Bereicht Archivierung von strukturierten Daten ist der Ansatz noch nicht etabliert.

Formatklasse: D

Die Formatspezifikation ist noch nicht ausgereift, aber für die Archive interessant.


Fazit

SQLX ist ein Lösungsansatz zur Archivierung strukturierter Daten mit grossem Zukunftspotential. Für den einfachen Fall der Umwandlung flacher Tabellen in XML-Dateien gibt es ausgereifte Lösungen. Der Export ganzer relationaler Datenbanken ist hingegen noch nicht generisch zu bewältigen. Es sind auch im Bereich der Standardisierung noch Weiterentwicklungen zu erwarten. Da aber die Spezifikationen zu SQLX die Funktionalität des "publish" bzw, des "extract/store" betreffen und nicht die Form der XML-Datenrepräsentation selber, ist diese Weiterentwicklung kein Hinderungsgrund für den Einsatz.

Referenz

ISO/IEC 9075-14:2006 "Information technology — Database languages — SQL — Part 14: XML-Related Specifications (SQL/XML)"
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=38647
[kostenpflichtig]]

Literatur

SQLX.org Home Page
http://www.sqlx.org/
Wikipedia: SQL/XML (englisch)
http://en.wikipedia.org/wiki/SQL/XML
SQL/XML, computerPostille 13/2, Juni 2003
http://www.hrz.uni-dortmund.de/computerPostille/Juni2003/012.html
OracleBase, SQL/XML
http://www.oracle-base.com/articles/9i/SQLXML9i.php
Comelio Gmbh (ed.), XML-Abfragen mit SQLX
http://www.comelio.com/dedi3_221.php
Eisenberg, Andrew; Melton, Jim: SQL/XML and the SQLX Informal Group of Companies
http://www.sigmod.org/record/issues/0109/standards.pdf

Verbindungen

SQLX ist ebenso im Bereich Tabellenkalkulation anwendbar.
Eine funktionelle Beziehung besteht zu CSV.