© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor

Slides:



Advertisements
Ähnliche Präsentationen
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
Advertisements

Objekt – Relationales – Modell Tomasz Makowski IN
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
MySQL.
Datenbankzugriff im WWW (Kommerzielle Systeme)
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
XML - Aufbau und Struktur - mit Einsatz im B2B
FH-Hof SQLJ Richard Göbel. FH-Hof SQLJ - Idee Erweiterung von Java um SQL Die Verwendung von SQL-Anweisungen innerhalb einer Programmiersprache wird vereinfacht.
SQL als Abfragesprache
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
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.
Speicherung von XML- Dokumenten als Large Objects.
Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.
Übung Datenbanksysteme WS 2003/ Übung Datenbanksysteme Hierarchische DBMS
Datenintegrität Referentielle Integrität create table
Oracle interMedia Image
Prof. K. Gremminger Folie 1 Vorlesung Datenbanksysteme SS 2002 Cursor-Konzept u Zugriff auf Mengen von Ergebnistupeln u In SQLJ Iteratoren u Vergleichbar.
2.2 Definition eines Datenbankschemas (SQL-DDL)
Samba.
objekt-relationale Datenbanken
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
SQL-Tutorium Ernst Rodlmayr.
Visualisierung objektrelationaler Datenbanken
Architektur und Funktionalitäten der Oracle XML DB - ein Überblick mit ausgewählten praktischen Beispielen - im Rahmen des 17. Workshop Grundlagen von.
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Relationale Datenbanken III
O.Univ.-Prof. Dr. Dimitris Karagiannis Datenbanken administrieren mit phpMyAdmin Martin Marinschek
Erstellen einer Webseitenstatistik mithilfe eines OLAP-Servers
Erstellen einer Webseitenstatistik mithilfe eines OLAP-Servers
PHP und MYSQL am Organisatorisches Der komplette Kurs im Schnelldurchgang Bewertung von wichtig und unwichtig Historisch Kulturwissenschaftliche.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Sesame Florian Mayrhuber
HORIZONT 1 XINFO ® Das IT - Informationssystem Eclipse Plugin HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
XML und Datenbanken © 2006 Markus Röder
XML in relationalen Datenbanken
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
Structured Query Language
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
CODA - Installation Installation der Binärdateien –Venus: Client-Programm –Vice: Server-Programm –Für Windows existiert eine Alpha-Version (Coda Client.
Datenbanken im Web 1.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #8 SQL (Teil 5)
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant.
Trigger-abhängige Client Interaktionen (bezüglich Oracle8i)
Datenbank für Skriptenverkauf
WINLearn Technische Umsetzung. Basistechnologie Oberfläche in HTML JSP (JavaServerPages) zur Datenauswertung Datenhaltung: Datenbank oder Filesystem JDBC.
Zugriff vom Webserver auf Homepage1 Speicherplatz im zentralen Filesystem, AFS Web Server H:\public_html\index.html.
PHPmyadmin Maya Kindler 6c.
Datenbanken erstellen mit PostgreSQL
Datenbanken abfragen mit SQL
Datenbanken Produkte Dienstleistungen Referenzen.
Datenbanken Produkte Dienstleistungen Referenzen.
Deutsche Post ITSolutions GmbH Benutzung von XML in Oracle 10g Richard Dörfler, DOAG - Trier,
© CSP GmbH & Co. KG 2005 Einleitung HerausforderungenLösung Architektur Demonstration Langzeitarchivierung für Oracle Datenbanken Stefan Brandl, Dipl.-Inf.,
© 2005, Rudolf Jansen JDBC Rudolf Jansen Freiberuflicher Entwickler und Autor DOAG - SIG Development.
1 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg DOAG - Regionaltreffen Hannover Donnerstag, Oracle 9i XML Datenbank.
© 2003, Rudolf Jansen Java in der Datenbank Rudolf Jansen Freiberuflicher Entwickler und Autor DOAG SIG Development,
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)
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Oracle und XML: Ein Überblick
ORACLE XE Bernd Tuba, Trier, Deutsche Post ITSolutions GmbH.
Abfragesprache SQL in ORACLE
Create Table, Rechte und Rollen
Betriebsmittelsuche M.Hoppe
 Präsentation transkript:

© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor DOAG-SIG Development,

© 2003, Rudolf Jansen Agenda Oracle XML DB Oracle XML Repository XML Developer`s Kits (XDK) Zusammenfassung

© 2003, Rudolf Jansen Einleitung - XML DB Oracle 9i Rel.2 -Datenbank XML-RepositoryXMLType-Tabellen XML-DB JDBC-Applikation Browser SQL-Net- Zugriff http Externe Tools ftp WebDAV

© 2003, Rudolf Jansen XML DB - Datentyp XMLType XMLType als Spaltentyp create table person ( prs_nr number, prs_data XMLTYPE ); XMLType als Tabellentyp ( ab 9i Rel.2 ) CREATE TABLE person_xml of XMLTYPE;

© 2003, Rudolf Jansen XML DB - Datentyp XMLType INSERT INTO person_xml VALUES (XMLType(' 1 Willi Schmitz Hauptstrasse Entenhausen '));

© 2003, Rudolf Jansen XML DB - Datentyp XMLType Indexbildung CREATE INDEX plz_index ON person (prs_data.extract ('/PRS_DATA//PRS_ADRESSE/ADR_PLZ/text()').getNumberVal()); Validierungsmöglichkeiten - Constraints create table person ( prs_nr number, prs_data XMLTYPE NOT NULL ); - Trigger

© 2003, Rudolf Jansen XML DB - Datentyp XMLType Speicheroptionen Unstrukturiert als LOB + Zugriff auf Gesamtdokument performant + Einfügen von XML mit variabler Struktur möglich - SELECT und UPDATE von einzelnen Elementen aufwendig Strukturiert über objektrelationale Tabellen Voraussetzung: XML-Schema-Definition -> Definition von SQL-Objekten, die dem XML-Schema entsprechen + Zugriff auf einzelne Elemente schneller + geringerer Speicherbedarf (Tagnamen brauchen nicht gespeichert werden)

© 2003, Rudolf Jansen XML DB - XML-Schema W3C-Standard zur Festlegung von Inhalt und Struktur von XML-Dokumenten Voraussetzung für strukturierte Speicherung Vorteil: Struktur der XML-Dokumente, die in eine Spalte eingetragen werden sollen, ist bereits bekannt -> passende Speicherobjekte können im voraus angelegt werden Bei Eintrag von Daten, die auf dem XML-Schema beruhen: - Aufsplitten der Daten in einzelne Bestandteile - (objekt-)relationale Speicherung dieser Einzelbestandteile - spätere UPDATEs nicht auf dem Gesamtdokument, sondern nur in den betroffenen Bestandteilen

© 2003, Rudolf Jansen XML DB - XML-Schema 1.Schritt: Registrieren einer XML-Schema-Definition: DECLARE xmlschema_doc varchar2(1000) := ' '; BEGIN DBMS_XMLSCHEMA.REGISTERSCHEMA(' xmlschema_doc); END;

© 2003, Rudolf Jansen XML DB - XML-Schema 2.Schritt: (Automatische) Erzeugung passender Speicherobjekte create type PersonType_t ( Prs_Id NUMBER, Prs_Vorname VARCHAR2(4000), Prs_Nachname VARCHAR2(4000), Prs_Adresse TEST.Prs_Adresse_t ); create type Prs_Adresse_t ( Adr_Strasse VARCHAR2(4000), Adr_Hausnr NUMBER, Adr_Plz NUMBER, Adr_Ort VARCHAR2(4000) );

© 2003, Rudolf Jansen XML DB - XML-Schema 3.Schritt: XML-Schema-Angabe bei Tabellendefinition create table person_mit_xml_schema_spalte( prs_id number, prs_data XMLType ) XMLType column prs_data XMLSCHEMA ELEMENT "Person"; desc person_mit_xml_schema_spalte; Name Null? Typ PRS_ID NUMBER PRS_DATA SYS.XMLTYPE(XMLSchema Element "Person") STORAGE Object-relational TYPE "PersonType_T"

© 2003, Rudolf Jansen Agenda Oracle XML DB Oracle XML Repository XML Developer`s Kits (XDK) Zusammenfassung

© 2003, Rudolf Jansen XML-Repository Ziel: „Einsatz der Datenbank als Dateisystem“ Zugriff über FTP, HTTP, WebDAV (Web Distributed Authoring and Versioning)

© 2003, Rudolf Jansen XML-Repository Installation: HTTP-Zugriff über Oracle XML DB Protokoll Server: Session-Pool für FTP-, HTTP- und WebDAV-Zugriffe

© 2003, Rudolf Jansen XML-Repository XML-Repository : Hierarchische Verzeichnisstruktur Verzeichnisse enthalten Ressourcen (XMLType-Instanzen) PL/SQL-Package DBMS_XDB zum Anlegen und Verwalten von Ressourcen. Beispiele: DBMS_XDB.createfolder('/home'); DBMS_XDB.createfolder('/home/xmltest'); Ähnlichkeit zu UNIX-Dateisystemen

© 2003, Rudolf Jansen XML-Repository HTTP-Zugriff auf neu angelegten Ordner über Webbrowser:

© 2003, Rudolf Jansen XML-Repository Anlegen von Inhalten: DECLARE retValue BOOLEAN; xmlDoc SYS.XMLType; BEGIN select SYS_XMLAGG(value(a)) into xmldoc from adressen_view a; retValue:= DBMS_XDB.createresource( '/home/xmltest/adressenliste.xml', xmldoc); commit; END;

© 2003, Rudolf Jansen XML-Repository Oracle 9i - Datenbank adresse_rel adressenliste.xml person_rel adressen_view Relationale Tabellen XMLType- View XML- Repository- Ressource Externe Anwendung (Explorer, Browser, FTP-Client) Http-, FTP-, WebDAV-Zugriff

© 2003, Rudolf Jansen XML-Repository

© 2003, Rudolf Jansen XML-Repository

© 2003, Rudolf Jansen XML-Repository Externer Eintrag von Dateien in das XML-Repository Beispiel: Datei neue_adressenliste.xml aus dem Windows-Dateisystem Eintrag per Drag&Drop in den XML-Repository-Ordner des Windows Explorers

© 2003, Rudolf Jansen XML-Repository

© 2003, Rudolf Jansen XML-Repository Weitere Funktionen (analog UNIX) Anlegen von Links DBMS_XDB.link('/home/xmltest/adressenliste.xml', '/public', 'adressenliste.xml'); Sicherheitskonzept: – Rechtevergabe über Access Control Lists (ACL) – Rechte pro Ressource oder auch für komplette Teilbäume XML DB Versioning: – „Versionskontrolle in der Datenbank“ – Verwaltung mehrerer Versionen von XML-Repository-Ressourcen – derzeit noch keine Versionskontrolle von normalen relationalen Datenbankinhalten

© 2003, Rudolf Jansen Agenda Oracle XML DB Oracle XML Repository XML Developer`s Kits (XDK) Zusammenfassung

© 2003, Rudolf Jansen XML Developer‘s Kits (XDK) Sammlung von Tools für die Schnittstelle von XML und (Oracle-)Datenbank Einsatzgebiete: – Anbindung von XML-Systemen an bestehende Datenbanken mit relational gespeicherten Daten – Neue Projekte: lose Kopplung zwischen XML und DB Programmiersprachen: Java, C, C++, PL/SQL Einsatz mit jeder Datenbank, für die es JDBC-Treiber gibt Vorteil: Klare Trennung zwischen XML und SQL – Portabilität (Datenbankwechsel) – KnowHow-Trennung (XML-Entwickler und DB-Entwickler)

© 2003, Rudolf Jansen XML Developer‘s Kits (XDK)

© 2003, Rudolf Jansen XML Developer‘s Kits (XDK) XSQL-Servlet Client JDBC- Datenbank Web-Server Stylesheets XSQL-Servlet XML-SQL- Utility (XSU) XMLParser XSLT-ProzessorHTML, XML,... SQL HTTP

© 2003, Rudolf Jansen XML Developer‘s Kits (XDK) XSQL-Servlet Ausgangsbasis: XSQL-Page Beispiel: Datei person_select_mit_xslt.xsql SELECT prs_id, prs_vorname, prs_nachname from person_rel

© 2003, Rudolf Jansen XML Developer‘s Kits (XDK) XSQL-Servlet Servlet-Engine-Konfiguration: Registrieren der Dateiendung.xsql mit XSQL-Servlet Aufruf: – – Konsolenaufruf: java oracle.xml.xsql.XSQLCommandLine person_select_mit_xslt.xsql person_select_mit_xslt_ergebnis.html

© 2003, Rudolf Jansen XML Developer‘s Kits (XDK) XSQL-Servlet

© 2003, Rudolf Jansen Zusammenfassung Vielzahl von Integrationsmöglichkeiten Lose Kopplung (XML Developer‘s Kit) Enge Kopplung (Datentyp XMLType) Entscheidungskriterien: – Bindung an DB-Hersteller kritisch? (Migrationsarbeiten) – Entwickler-KnowHow (XML und/oder SQL) – Zentrale Administration durch XML-Repository („Datenbank als Dateisystem“)

© 2003, Rudolf Jansen Literatur OTN-Webseiten – Dokumentation – XML Developer‘s Kits (aktuelle Version) – Sourcecode-Beispiele „Oracle, Java, XML. Integration in Oracle 9i“ Rudolf Jansen Software&Support Verlag 360 Seiten ISBN