Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Vom XML Schema zur relationalen Datenbank Seminararbeit zum Multimedia-Seminar im SS 2002 Erstellt von: Thomas Dickel.

Ähnliche Präsentationen


Präsentation zum Thema: "Vom XML Schema zur relationalen Datenbank Seminararbeit zum Multimedia-Seminar im SS 2002 Erstellt von: Thomas Dickel."—  Präsentation transkript:

1 Vom XML Schema zur relationalen Datenbank Seminararbeit zum Multimedia-Seminar im SS 2002 Erstellt von: Thomas Dickel

2 Inhalt Was ist XML Schema? Warum XML Daten in eine rel. Datenbank? Datentypen von XML Schema –Vergleich zu SQL Datentypen Regeln der Konvertierung in eine DB Umsetzung Ausblick und Fazit

3 Was ist XML Schema? Schema-Definitionssprache –In XML definiert –Löst DTD ab –Microsoft übernimmt XSD anstelle XDR W3C Empfehlung seit Mai 2001 Zweck: Definition und Beschreibung von XML-Dokumenten

4 XML ist ein Standard in der Industrie Vorteil von XML Dokumenten: –Unabhängig von der eingesetzten Plattform –Einfache Handhabung der Daten Nachteile bei XML Dokumenten: –Bedingt durch die Verschachtelung der Elemente schlecht durchsuchbar –noch schlechter bei mehreren XML Dokumenten gleichzeitig Warum XML Daten in eine rel. DB bringen?

5 XML als Datenformat in der Industrie erlaubt den Datenaustausch zwischen verschiedenen Unternehmen XML Schema unterstützt dies, indem es das Format definiert, aber die Freiheit der technischen Umsetzung lässt Warum XML Daten in eine rel. DB bringen?

6 Datentypen von XML Schema Vorgänger DTD hatte keine richtigen Datentypen XML Schema erlaubt über 40 verschiedene Datentypen XML Schema ist auch im Hinblick auf die Integration primitiver SQL Datentypen entwickelt worden XML Schema unterstützt durch ein Typsystem den Import und Export von Daten in Datenbanken

7 Datentypen von XML Schema

8 XML SchemaSQL string normalizedString nvarchar/ntext booleanbittrue/false zu 1/0 konvertieren dateTime time datedateTimeZeitangabe im ISO Format floatfloat(24)/realINF u. NAN n. unterstützt doublefloat(53)/doubleINF u. NAN n. unterstützt decimalfloat integerdecimal ByteSmallint UnsignedByteTinyint

9 Regeln XML Schema <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dt="urn:schemas-microsoft-com:datatypes" xmlns:msch="urn:schemas-microsoft-com:mapping-schema"> <xsd:element name="daBuch" msch:relation="daBuch" type="daBuch_type"/> <xsd:attribute name="dtmErscheinungsdatum" type="xsd:dateTime"/>

10 Regeln XDR (XML Data Reduced) <Schema name="Schema1" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes"> <ElementType name="daBuch" content="empty" model="closed">... <AttributeType name="dtmErscheinungsdatum" dt:type="dateTime"/>... <attribute type= "dtmErscheinungsdatum"/>

11 Regeln Bei jedem Hinzufügen einer Tabelle: Primärschlüssel anlegen Schlüssel muß autoinkrementierend sein Schlüssel mit ID am Ende kennzeichen intBuchID Jedes Attribut mit Abkürzung des Datentyps strTitel

12 Regeln Grundlegende Tabellenerzeugung Für jedes Element Erzeuge Tabelle Element hat nur genau ein Elternelement => neue Tabelle über Fremdschlüssel mit Elterntabelle verknüpfen

13 Regeln Element kann mehrere Elternelement haben und kommt jeweils nur einmal vor=>Hinzufügen eines Fremdschlüssels auf die neue Tabelle zu den Elterntabellen

14 Regeln......

15 Regeln...... Kommt das Element bei mehreren Elternelementen mehrmals vor => mittels einer zusätzlichen Tabelle abbilden

16 Regeln Nur-Text Elemente, einmal vorkommend... Professional XML Databases Wrox Press...... Einfügen einer Spalte zur Tabelle des Elternelements

17 Regeln mehrfach vorkommende Nur-Text Elemente... XML Database SQL...... =>Anlegen einer Tabelle für die Elemente mit Fremdschlüssel auf das Elternelement

18 Regeln einige weitere Regeln sind zur vollständigen Umsetzung erforderlich Prüfen auf Namenskollisionen wichtig für das Umsetzen einer DTD in eine relationale Datenbank sind 18 Regeln erforderlich

19 Umsetzung Manuelle Umsetzung –Anhand der angegebenen Regeln Umsetzung vom Schema zu einem Datenbankmodell –Anlegen der Datenbanktabellen –Kopieren der XML-Daten über DOM oder SAX Schnittstellen Vorteil –Flexibel anpassbar auf die gewünschten Daten Nachteil: –Zeitaufwendig –wenig Performancegewinn –Viel Kodierung und Handarbeit erforderlich

20 Umsetzung SQL Server 2000: Bulkloading XML Data –Teil von SQLXML 3.0 –SQLXMLBULKLOAD Objekt –Wahlweise XDR Schema, XSD Schema oder selbständige Generierung Visual Basic code Dim objBL As New SQLXMLBulkLoad objBL.ConnectionString = "provider=sqloledb.1;data source=PC1; database=Books;" objBL.XMLFragment = True objBL.ErrorLogFile = "c:\Books\Books.log" objBL.Execute "C:\Books\Books.xsd", "C:\Books\Books.xml"

21 Umsetzung SQL Server 2000: Bulkloading XML Data... <sql:relationship name= " VerlagBuch " parent= " daVerlag" parent-key= " intVerlagID" child= " daBuch" child-key= " intBuchID" />...

22 Umsetzung SQL Server 2000: Bulkloading XML Data XSD Annotations (Auswahl) sql:relation => Element ist Tabelle sql:field => Element ist Spalte sql:is-constant => Element ist nicht verknüpft, erscheint aber im XML (z.B. für Root Element) sql:mapped => Nichtverknüpfte Elemente tauchen nicht mehr auf sql:relationship (parent, child, parent-key, child- key) Verknüpfung zwischen XML Elementen

23 Umsetzung SQL Server 2000: Bulkloading XML Data Vorteil: –Wenig Codierungsaufwand nötig VB-Code, XDR bzw. XML Schema optional –Flexibel anpassbar durch Anpassung des XML Schemas –Performant beim Einlesen der Daten

24 Umsetzung Microsoft XMLViewMapper 1.0

25 Umsetzung Microsoft XMLViewMapper 1.0 –Arbeitet mit SQL Server 2000 zusammen –Setzt XDR Schema in SQL Schema um –Ähnlich dem Biztalk Mapper aus dem Microsoft BizTalk Server –Sinn: XDR Schema bleibt gleich, die Datenbank- implementation ist aber davon unabhängig

26 Fazit und Ausblick Fazit Zukunft: XML Schema 1.1 Microsoft SQLXML native XML Datenbanken

27 Vielen Dank für Ihre Aufmerksamkeit


Herunterladen ppt "Vom XML Schema zur relationalen Datenbank Seminararbeit zum Multimedia-Seminar im SS 2002 Erstellt von: Thomas Dickel."

Ähnliche Präsentationen


Google-Anzeigen