MS SQL Server 2014
XML-Integration mit T-SQL
Marco Skulschus, Marcus Wiederstein
Das erste Kapitel zeigt die verschiedenen Lösungen für eines der wesentlichen Ziele, die für DB-Programmierer mit Blickrichtung nach XML entstehen: die Erzeugung von XML aus relationalen Daten. Hier gibt es eine ganze Reihe an zusätzlichen Syntax-Elementen für die SELECT-Anweisung, die auf mehr oder weniger einfache Art in der Lage ist, XML-Strukturen zu erzeugen. Dabei geht dieses Kapitel auch gerade auf die Erzeugung von komplexen, hierarchisierten Strukturen ein, die mit besonderen Techniken zu erstellen sind.
Das zweite Kapitel zeigt, wie von außen empfangene oder in der DB erzeugte XML-Daten verarbeitet und gespeichert werden können. Hier steht insbesondere die Zerlegung von XML-Daten in relationale Daten, d.h. der umgekehrte Weg zur XML-Erzeugung, wie er im ersten Kapitel beschrieben wird, im Vordergrund.
Im dritten Kapitel sieht man, wie man in der Datenbank direkt gespeicherte oder in Variablen/Parameter enthaltene XML-Daten mit Hilfe von XPath abfragt und Daten filtert oder mit Hilfe von XQuery abfragt und XML-Ergebnisstrukturen erstellt. In diesem Kapitel befindet sich dann auch eine kurze Übersicht zu beiden im MS SQL Server nutzbaren W3C-Standards und ihrer Syntax.
Das vierte Kapitel zeigt, wie wesentlich das Verständnis von XML Schema ist, um die Beschreibung und Validierung von XML in Tabellenspalten und T-SQL-Variablen durchzuführen. Dabei geht dieses Kapitel auch auf den XML Schema-Standard ein, um DB-Programmierern zu helfen, automatisch erzeugte XML Schema-Quelltexte zu lesen, eigenständig Datenmodelle zu planen und diese in der Datenbank zu verankern.
Im fünften Kapitel dreht sich alles um XSLT (eXtensible StyleSheet Language for Transformations), dem Standard für die Umwandlung von XML-Daten in solche Formate wie HTML, XML und XHTML sowie auch beliebige Text-Dateien. Im MS SQL Server ist dieser Standard nicht verfügbar, kann jedoch über.NET leicht eingerichtet werden, sodass man dann auch Umwandlungen direkt in T-SQL durchführen kann. Zusätzlich zeigt es auch die Grundelemente von XSLT, damit DB-Programmierer selbst auch XSLT-Dateien entwickeln können.
Das sechste Kapitel geht schließlich auf gängige Nutzungsstrategien und Anwendungsfälle ein, die sich ergeben, sobald man XML und relationale Datenbanken mischt. Es zeigt die zuvor erwähnten Techniken im Zusammenhang, setzt sie aber auch in Beziehung und diskutiert typische Lösungen, die sich durch die Technologie-Kombination ergeben können. Dies sind solche gängigen Szenarien wie Import/Export von Daten, aber auch die Nutzung von XML Serialisierung und XML Deserialisierung für Objektstrukturen einer.NET-Anwendung, wobei als Speicherort für die XML-Daten gerade der MS SQL Server genutzt wird. Ein weitere Teil dieses Kapitel zeigt, welche Möglichkeiten sich noch bieten, wenn man XML Schema an.NET-Klassen bindet.