XML-Unterstützung durch MS SQL Server Vortrag Nr. 11 im Seminar XML und Datenbanken im SoSe 2008 (Block: 08./09.05.2008) von Mirko Zipfel.

Slides:



Advertisements
Ähnliche Präsentationen
Object Relational Mapping
Advertisements

ER-Datenmodell und Abfragen in SQL
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
MySQL.
Allgemeine Technologien II
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
XINDICE The Apache XML Project Name: Jacqueline Langhorst
SQL als Abfragesprache
SQL als Abfragesprache
MySQL Der Einstieg.
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
XML Standardisierungen und Abfragesprachen
Speicherung von XML- Dokumenten als Large Objects.
Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.
Otto-von-Guericke-Universität Magdeburg Gamal Kassem 1 Tabellenzeile mit READ lesen READ TABLE itab INDEX idx READ TABLE itab WITH KEY comp1 = f1.... Compn.
Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
Validating XML Parser Application XML-Datei XML-Datei
XPointer Die Xpointer beschreiben einen Ort oder Bereich innerhalb einer XML-Instanz. Die XPointer bauen auf der XML Path Language auf. Die XPointer ist.
Datenintegrität Referentielle Integrität create table
Einführung Dateisystem <-> Datenbanksystem
Oracle interMedia Image
JDBC -Java Database Connectivity-. 15./22. April 2004JDBC2 JDBC.... verbindet Java-Programme mit SQL-basierten Datenbanken.. liefert eine generische SQL-API.
Datenbanken 10: Einfügen, Ändern, Löschen
XQuery-Anfragen Spezifikations- und Selektionsmethoden für Daten und Dienste Markus Mauch.
2.2 Definition eines Datenbankschemas (SQL-DDL)
SQL in Visual FoxPro. © 1999 TMN-Systemberatung GmbH SQL Historie n SQL - Structured Query Language n In den 70er Jahren von IBM entwickelt n 1986 zum.
FH-Hof 1 XML-Parser Richard Göbel. FH-Hof 2 XML-Parser- DOM Object Tree Parser Objekt der Klasse 'DocumentBuilderFactory' mit 'newInstance()' erzeugen.
- XML-Path Language (xPath) ist eine Empfehlung des W3C - es wurde entwickelt, um durch ein XML- Dokument zu navigieren - und ist ein großer Teil von.
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Vom XML Schema zur relationalen Datenbank Seminararbeit zum Multimedia-Seminar im SS 2002 Erstellt von: Thomas Dickel.
Best Practices in der Datenbank-programmierung
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Datenbanktechnologie Daniel Ebner SS Mai Ulrike Lohner.
XML-Query. Übersicht Was ist XML-Query? Vergleich RDB XML-Dokument Syntaktisches und Use-Cases Kritik und Diskussion.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
Vorlesung #4 SQL (Teil 1).
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Datenbanksysteme für hörer anderer Fachrichtungen
Von Isabelle Spörl und Simon Schausberger
Relationales Datenmodell und DDL
XML und Datenbanken © 2006 Markus Röder
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
SQLite und XML in PHP 5.
Eine persönliche Fallstudie …
Structured Query Language
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
XQuery 1.0 – Arbeitsweise Mögl. Eingaben Das wird berücksichtigt: Typen von XPath und XML Schema Namensräume, Module Ergebnis: XML-Instanz.
XML-Datenbanken Weiterentwicklung eines Prototypen zur nativen Speicherung von XML-Dokumenten Georg Kiekel
Termin Festlegung Einführung MySQL Runterladen MySQL, Pentaho Design Studio Betrachtung Pentaho
TypoScript.
XPath Datenmodell und Sequenzen Universität zu Köln – Historisch-Kulturwissenschaftliche Informationsverarbeitung Datenbanktechnologie – Daniel Ebner –
XML-Werte in SQL/XML Von Viktor Folmer. Inhalt Datentyp XML Knotenfunktionen Unter- und Unter(unter)typen Validierung Prädikate Auswahl weiterer Funktionen.
Gottfried Vossen 5. Auflage 2008 Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme Kapitel 12: XQuery und SQL/XML.
Datenbank für Skriptenverkauf
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
Datenbanken erstellen mit PostgreSQL
Datenbanken abfragen mit SQL
© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor
Document Type Definitions (DTDs) Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme
XML-Erweiterungen in ORDBMS Seminar: DBMS für spezielle Anwendungen Florian Brieler.
SQL Structured Query Language Enzio Thiem. INHALT CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel.
SQL Basics Schulung –
Sprachumfang von SQL Vier Kategorien DDL (Data Definition Language)
Indexierung Oracle: indexes Indexierung.
 Präsentation transkript:

XML-Unterstützung durch MS SQL Server Vortrag Nr. 11 im Seminar XML und Datenbanken im SoSe 2008 (Block: 08./ ) von Mirko Zipfel

Übersicht XML und SQL Server 2000 XML und SQL Server 2005 XML als Datentyp Schemata und Indexe XQuery und XML-DML XML und SQL Server 2008 Listen und Vereinigungen, Lax Validation XQuery- und XML-DML-Neuerungen Zusammenfassung Quellen

XML und SQL Server 2000 Interface zum Zugriff auf relationale Daten (Import: OpenXML, Export: FOR XML) also nur Mapping möglich XML in DB: CLOB oder BLOB Keine Unterstützung für Validierung oder spezielle Indizierung Client-API: SQLXML Untermenge von XPath 1.0 z.B. keine rekursiven XML-Schemata und Garantie für Element-Reihenfolge

XML und SQL Server 2005 XML als Datentyp Schemata und Indexe XQuery und XML-DML

XML und SQL Server 2005 XML als Datentyp Einführung des Datentyps xml für Spalten, Variable und Parameter Eigenes internes Format auf Basis von BLOB 2 Arten: untyped und typed

XML und SQL Server 2005 XML als Datentyp Untyped XML an kein Schema gebunden, nur allgemeine Komformitätsprüfung kann XML-Dokumente, Fragmente und Texte aufnehmen Bsp.: Create Table docs ( pk int Primary Key, xCol xml not null)

XML und SQL Server 2005 XML als Datentyp 5 Methoden mit XQuery-Argumenten 4 lesende: query(): Extraktion von Teildokumenten value(): Extraktion eines Skalars exists(): Existenzprüfung von Knoten nodes(): Knotenextraktion 1 modifizierende: modify(): Änderung von Skalaren, Hinzufügen und Löschen von Teilbäumen

XML und SQL Server 2005 XML als Datentyp Bsp. 1: SELECT xCol.query( = 123]//section) FROM docs WHERE = 1

XML und SQL Server 2005 XML als Datentyp Bsp. 2: UPDATE docs SET xCol.modify( insert Background after

XML und SQL Server 2005 XML als Datentyp Typed XML Bindung an Sammlung von XML-Schemata Validierung bei Insert und Update 2 Varianten möglich: Document (nur eine Wurzelelement) Content (mehrere Wurzelelemente möglich) Bsp.:Create Table xmlCat ( id int primary key, doc xml(content myColl))

XML und SQL Server 2005 Schemata und Indexe Schemata für typed XML nötig Ablage in Collections Möglichkeit nachträglich Collection um weitere Schemata zu erweitern XML-Indexe: 2 Arten (primär + sekundär) sowohl auf typed wie untyped möglich Volltext-Index (ignoriert MarkUp-Elemente nur Inhalte werden indiziert)

XML und SQL Server 2005 Schemata und Indexe Primärer XML-Index Gruppierter Index auf Basistabelle nötig B+-Baum mit Einträgen für: Elementnamen Attributnamen Knotenwerte Typangaben Knotenreihenfolge Pfad- und Strukturangaben Tagwerte werden durch Integer substituiert Pfadangaben in reverse order (schnelles Auffinden bei vollständig geg. Pfad)

XML und SQL Server 2005 Schemata und Indexe Sekundäre XML-Indexe aufbauend auf primären XML-Index 3 Arten für spezielle Anfragen PATH B+-Baum für (path, value) PROPERTY B+-Baum für (PK, path, value) VALUE B+-Baum für (value, path) Weitere Eigenschaften: Tiefe max. 128 Ebenen Werte bis 128 Bytes in Index, sonst interner Verweis Cost-Based Optimizer berücksichtigt auch XML-Indexe

XML und SQL Server 2005 Schemata und Indexe Bsp. Primärer XML-Index: Create Primary XML Index idx_xCol on docs (xCol) Bsp. Sekundärer XML-Index: Create XML Index idx_xCol_Path on docs (xCol) USING XML Index idx_xCol FOR PATH Bsp. Volltext-Index auf XML-Spalte: Create Fulltext Catalog ft as Default Create Fulltext Index on dbo.docs (xCol) Key Index PK_docs_7F60ED59

XML und SQL Server 2005 Schemata und Indexe Bsp. Volltext und XQuery kombiniert: SELECT * FROM docs WHERE CONTAINS(xCol, Secure) AND xCol.exists( /book/title/text() [fn:contains(.,Secure)]) = 1 Secure im Titel (per XQuery) und irgendwo im Text (per VT-Index)

XML und SQL Server 2005 XQuery und XML-DML Server-seitige Unterstützung für XQuery in T-SQL Untermenge orientiert an Entwurf vom Juli 2004 Untermenge von FLWOR vorhanden Iteration per FOR (F) Knotenprüfung per WHERE (W) Sortierung per ORDER BY (O) Rückgabe der Werte per RETURN (R)

XML und SQL Server 2005 XQuery und XML-DML Bsp. XQuery mit FLWOR: SELECT pk, xCol.query( FOR $s in = 123]//section WHERE >= 3 RETURN {data($s/title)} FROM docs

XML und SQL Server 2005 XQuery und XML-DML XQuery-Abfragen mit FLWOR: eigener XQuery-Compiler stellt Unterabfrage-Baum im Abfragebaum der Gesamtabfrage dar WHERE-Klausel für jede Zeile in Tabelle Nutzung der XML-Datentyp-Methoden und Indexe Wenn Bedingung erfüllt Sperre auf Zeile und Auswertung der SELECT-Klausel Sonst überspringen und zu nächster Zeile

XML und SQL Server 2005 XQuery und XML-DML XML-DML als Erweiterung zu XQuery für Manipulationen Einfügen / Löschen von Teilbäumen mit Positionsangaben beim Einfügen Einfügen von Attributen, Elemente und Text-Knoten wird unterstützt Ändern von Skalarwerten

XML und SQL Server 2005 XQuery und XML-DML Bsp. Preisänderung bei Buch: UPDATE xmlCat SET document.modify ( declare namespace bk = replace value of ( with 49.99)

XML und SQL Server 2008 Listen und Vereinigungen, Lax Validation XQuery- und XML-DML-Neuerungen

XML und SQL Server 2008 Listen und Vereinigungen, Lax Validation SQL Server 2005: Keine Unterstützung für Vereinigung von List-Typen Größenangabe 1: S, M, L Größenangabe 2: 22, 24, 26 Validierung erst in SQL Server 2008 möglich von: Vereinigungen von List-Typen Listen von Vereinigungstypen

XML und SQL Server 2008 Listen und Vereinigungen, Lax Validation Lax Validation SQL Server 2005: Wildcards à la any, anyType, anyAttribute nur durch Angabe skip in Schema validierbar (lax wird nicht verstanden) SQL Server 2008: Angabe lax wird jetzt richtig berücksichtig

XML und SQL Server 2008 XQuery- und XML-DML-Neuerungen XQuery: bei FLWOR nun auch LET (L) möglich LET für Variablenzuweisung Bsp.: { for $invoice in /Invoices/Invoice let $count := count($invoice/Items/Item) order by $count return {$invoice/Customer] {$count} } ) Einschränkung: keine Zuweisung von zusammengesetzten Elementen möglich

XML und SQL Server 2008 XQuery- und XML-DML-Neuerungen XML-DML-Neuerung: Einfügen von Subbäumen über SQL- Variablen möglich (zuvor nur für Auswertung möglich) Bsp.: xml = Racing Bike insert as last into (/Products)[1])

Zusammenfassung SQL Server 2000: Nur Mapping für Im-/Export SQL Server 2005: XML-Datentyp Submenge von XQuery (nicht normkonformen bezeichnete Methoden) Einschränkungen bei Schemata Keine Vereinigungstypen von Listen, … SQL Server 2008: Gegenüber Version 2005 einige Nachbesserungen Immer noch keine Normkomformität bei: SQL/XML:2006-Typen (nur Untermenge) Nur XQuery-Untermenge und Bezeichnungen wie query statt XMLQUERY, …

Quellen Pal, Fussell, Dolobowsky: Microsoft SQL Server 2005 – XML Support in Microsoft SQL Server Microsoft Corp.: November 2005 ( f1cf7b8d-7fb9-4b71-a658-e748e67f9eba /XML_Support_in_SQL.doc) f1cf7b8d-7fb9-4b71-a658-e748e67f9eba /XML_Support_in_SQL.doc Malcolm: Microsoft SQL Server 2008 – Whats New for XML in SQL Server Microsoft Corp.: Final Publishing should be in August 2008 ( acd8e043-d69b-4f09-bc9e-4168b65aaa71 /WhatsNewSQL2008XML.doc) acd8e043-d69b-4f09-bc9e-4168b65aaa71 /WhatsNewSQL2008XML.doc Rys: XML and Relational Database Management Systems: Inside Microsoft SQL Server SIGMOD 2005, June 14-16, Baltimore, Maryland, USA. Müller: Verfahren zur Verarbeitung von XML-Werten in SQL- Anfrageergebnissen. Abschnitt – MS SQL Server Jena, April 2008.