XML in der Oracle Datenbank

Werbung
XML in der Oracle Datenbank
Oracle XML DB
Eine kurze Einführung
Gruppe A
Michaela Geierhos
Galina Hinova
Maximilian Schöfmann
AGENDA
●
Warum XML in einer Datenbank?
●
Was bietet die Oracle XML DB?
●
Unterschiedliche Speichermöglichkeiten
●
Ein Beispiel
●
Die Oracle XML DB Architektur
●
Zugriffe auf die Datenbank
●
Integrationsszenarien
●
Tools für die Arbeit mit einer XML DB
11.01.2006
XML in Oracle
2
Warum XML in einer Datenbank?
●
●
●
●
●
Weiterverarbeitung von relationalen Daten in XML
Performantes Einfügen, Verändern und Bereitstellen von XML
Dokumenten
Suche innerhalb eines XML Dokuments oder einer Anzahl von
XML Dokumenten
Zugriff über Standardprotokolle wie FTP, WebDAV und HTTP
Verwendung von Technologien wie Java, SQL, XPATH und
XSLT
●
Zusätzliche Validierung (durch Trigger und Contstraints)
●
Einfache Handhabung und Verwaltung in einem Server
11.01.2006
XML in Oracle
3
Was bietet die Oracle XML DB?
●
SQL-Methoden für XML, sowie XML/SQL-Dualität
●
Support für offene Standards (u.a. ANSI: SQLX)
–
W3C: DOM, XML Schema, XSLT, XQuery
–
IETF: WebDAV
–
HTTP, FTP, JNDI, Web Services
●
Integriertes XML Repository in das RDBMS
●
XML Schema Integrität und RDBMS Integritätsregeln für XML Daten
●
XML Views über relationale Daten und umgekehrt
●
XML spezifische Performance, Skalierbarkeit und Sicherheit
●
Leichte Darstellbarkeit durch Transformation im Server
●
Bereitstellung geeigneter Tools für die Arbeit mit XML in der DB
11.01.2006
XML in Oracle
4
11.01.2006
XML in Oracle
5
XMLType Storage
●
●
●
●
Ist ein XML Schema der Oracle XML DB bekannt, werden alle
XML Elemente für XMLType Tabellen, Tabellen mit XMLType
Spalten und XML Type Sichten auf die entsprechenden DB
Tabellen verwiesen, auf welche im XML Repository zugegriffen
werden kann.
Daten in XMLType Tabellen und Tabellen mit XMLType Spalten
können in s.g. CLOBs (Character Large Objects) oder weiterhin
als normales XML gespeichert werden (Native Speicherung).
Daten in XMLType Views können in lokalen Tabellen oder
remote Tabellen gespeichert und später über DBLinks
referenziert werden.
XML Type Tabellen und Sichten können u.a. mittels B*-Bäumen
indiziert werden.
11.01.2006
XML in Oracle
6
Unterschiedliche
Speichermöglichkeiten
Die Speicherart richtet sich
nach den Anforderungen
der Anwendung:
11.01.2006
XML in Oracle
–
Konkurrierender Zugriff
–
Vokabularänderung
–
Lade-Performance
–
Abfrage-Performance
–
Redundanzen
–
XML Schema Support
7
Unterschiedliche
Speichermöglichkeiten (I)
11.01.2006
●
Sperre auf Elementebene
●
Multi-User-Zugriff
●
Relationale Indizierung
●
Performance
●
Nur SQL
●
XML Information
●
XML Validierung
●
Relationale Abbildung
XML in Oracle
8
Unterschiedliche
Speichermöglichkeiten (II)
●
Flexible Speicherung
●
Performance
●
Nur Text-Index
●
11.01.2006
Sperre auf Dokumentenebene
●
Redundanz
●
XML Validierung
XML in Oracle
9
Unterschiedliche
Speichermöglichkeiten (III)
●
Standard konformer Zugriff
●
Flexibilität
●
XML-Indizierung
●
Performance
●
XML Validierung
●
11.01.2006
XML in Oracle
Sperre auf Dokumentenebene
10
Unterschiedliche
Speichermöglichkeiten (IV)
●
Sperre auf Elementebene
●
W3C und SQL Standards
●
XML-Indizierung
●
XML-Validierung
●
11.01.2006
Intelligentes DOMHandling
●
Performance
●
Flexibilität
XML in Oracle
11
Ein Beispiel
11.01.2006
XML in Oracle
12
Beispiel: XML Schema
11.01.2006
XML in Oracle
13
XML DB Schema Attribute
11.01.2006
XML in Oracle
14
11.01.2006
XML in Oracle
15
Abbildung auf Objekte
11.01.2006
XML in Oracle
16
Was passiert im Hintergrund?
11.01.2006
XML in Oracle
17
Beispiel: Native Speicherung
SQL> Create table PURCHASE_ORDER_TABLE
2
(PO_NUMBER number(16), PURCHASE_ORDER xmltype)
3
)
4
/
Table created.
SQL> INSERT into PURCHASE_ORDER_TABLE values (1234, XMLTYPE(
2
‘<PurchseOrder>
3
<Reference>Khabbazian-20030306123456</Reference>
4
<Actions/>
5
<Reject/>
6
<Requestor>Ali Khabbazian</Requestor>
.......
18
</Purchase>‘)
19 /
1 row created.
SQL>
11.01.2006
XML in Oracle
18
Die Oracle DB Architektur
11.01.2006
XML in Oracle
19
Zugriffe auf die Datenbank
●
HTTP-Zugriff auf Daten im XML Repository
–
Auf Relationale und XML Tabellen
–
Suche durch Xpath-Ausdrücke
–
Stylesheet-Transformationen in der DB
●
WebDAV-Zugriff auf Daten im XML Repository
●
FTP-Zugriff (durch FTP-Server)
●
Zugriffe mittels SQL durch die Oracle Net Services,
sowie JDBC oder Web Services.
11.01.2006
XML in Oracle
20
Oracle XML DB Repository
11.01.2006
XML in Oracle
21
Integration: Relationale Views
11.01.2006
XML in Oracle
22
Beispiel für eine Relationale View
11.01.2006
XML in Oracle
23
Integration: XML-Views
11.01.2006
XML in Oracle
24
XML Generierung aus der DB
11.01.2006
XML in Oracle
25
XML Developer‘s Kit (XDK)
●
●
●
Beinhaltet wichtige Komponenten zum Lesen,
Manipulieren, Transformieren und Darstellen von XMLDokumenten.
Dient zum einfachen Erstellen Web-basierter
Datenbankapplikationen.
Der XDK ist verfügbar für
–
Java
–
JavaBeans
–
C
–
C++
–
PL/SQL
11.01.2006
XML in Oracle
26
XML SQL Utility - XSU
●
●
Das Werkzeug zur Umwandlung der relationalen
Daten ins XML-Format und der XML-Daten in die
relationale Form
Das Werkzeug zum stückweisen (piecewise) Update
von XML-Dokumenten.
●
XSU-Funktionalitäten sind erreichbar über
–
Java API
–
Java Befehl
–
PL/SQL API
11.01.2006
XML in Oracle
27
Piecewise Update
11.01.2006
XML in Oracle
28
Oracle XML DB: Zusammenfassung
11.01.2006
XML in Oracle
29
Referenzen
●
●
XML Database Developer’s Guide (Kap. 1-3)
Ulrike Schwinn: XML in der Oracle Datenbank „rational
and beyond“
[Folien] http://doesen0.informatik.uni-leipzig.de/proceedings/slides/btw2003_ind_schwinn.pdf
[Paper] http://doesen0.informatik.uni-leipzig.de/proceedings/paper/IP6.pdf
●
Ali Khabbazian: Oralce 9i XML Datenbank
[Folien] http://www.doag.org/pub/docs/regio/hannover/2003-03/Oracle_9i_XML_Datenbank.ppt
●
Carsten Czarski: Java, XML und Oracle Database 10g –
What's new?
[Paper] http://www.doag.org/pub/docs/regio/bremen/2004-02/JavaXMLWhatsNew.pdf
11.01.2006
XML in Oracle
30
Herunterladen