<Insert Picture Here>XML DB VorlesungUlrike SchwinnTeil 2
Protokoll:FTP• FTP Zugriff muß eingeschaltet werden (siehe vorher)• Session-orientiert, Auto Commit• Kommandos: pwd,quit,del,rmd,user,type,ls
Agenda• Konfiguration• XMLDB Repository • Objektrelationale Speicherung•Operationen•Operationen
• File/Folder-Sicht auf eine Repository-Tabelle• PL/SQL-Zugriff via DBMS_XDB• Basis für FTP und WebDAV• Zugriffskontrolle mit ACLArbeiten mit dem XMLD
Der SQL Zugriff• Definition einer Ressource• XML-Komponente wie XML-Folder, Dateien• Wird identifiziert bei Namen oder URL• Ist mit ACL verbunden, um
Operationen im Repository• Abfragen und Änderungen• Unterstützung durch XML Funktionen wieUNDER_PATH(column,[level],path) undEQUALS_PATH (column,[leve
Folder anlegen• Per FTP oder WebDAV• Mit SQL-SkriptSELECT path FROM path_view WHERE under_path(RES,2,'/public')=1;execute dbms_xdb.deleteres
Folder anlegen
Zugriffsrechte• ÜberprüfenSELECT dbms_xdb.getacldocument(abspath=>'/public/F2').getclobval() ACL FROM dual;ACL---------------------------
Agenda• Konfiguration• XML DB Repository • Objektrelationaler Zugriff•Operationen•Operationen
Speicherung mit XMLTYPE• Verwendbar wie jeder andere Datentyp• in der Spalten- oder Tabellendefinition• in PL/SQL Logik• Unterstützt unterschiedliche
Agenda• Konfiguration• XML DB Repository • Objektrelationale Speicherung •Operationen•Operationen
Objektrelationale Speicherung• Meist datenzentrische Dokumente • XML Schema- Registrierung notwendig ⇒ Nachbildung der XML-Strukturen als Oracle Obj
• UDTs haben einen Namen (Schemaobjekte)• UDTs haben einen oder mehrere Attribute:• Skalar (char, number, etc)• UDT• VARRAY oder nested table•Referenc
Objekttypen und -tabellenCREATE OR REPLACE TYPE address_t AS OBJECT(street varchar2(30),city varchar2(30),state varchar2(2),zip varchar2(10))/CREATE O
Exkurs: XML Schema • W3C XML Schema Recommendation definiert standardisierte Sprache zur Beschreibung von Struktur, Inhalt und Semantik (teilweise) vo
Strukturen im XML Schema: Beispiel
Schema-Registrierung: Vorgehen1. Schema zur Verfügung stellen(Dokument Encoding wird berücksichtigt ausser bei VARCHAR2 oder CLOB, AL32UTF8 ist bevorz
Schema-Registrierung: Beispielebegindbms_xmlschema.registerschema (SCHEMAURL =>'http://xmluser.de.oracle.com/xsd/deptemp.xsd',SCHEMADOC =
Registrierung über Enterprise Manager
Lokales und Globales XML-Schema• Lokale XML-Schemas sind nur für den Eigentümer sichtbar• Repository-Eintrag unter /sys/schemas•GlobaleXML-Schemas sin
"annotated" XML Schema• XML Schema mit "Zusatzinformationen"• Herstellerspezifische Tags und Attribute zur Steuerung der Persisten
Oracle XML DBSQLXPathXQueryOracle XML DBTransformationenRecherchen Relationale SichtenXML- SichtenSQLFTPHTTP / WebDAVSQL*Net
„annotated“ XML Schemahttp://www.w3.org/2001/XMLSchemahttp://xmlns.microsoft.com/xmlhttp://www.w3.org/2001/XMLSchemahttp://xmlns.oracle.com/xdbEin XML
XML DB Schema-AttributeSQLNameSQLTypeMaintainOrderMaintainDOMName des SQL-ObjektsName des SQL-Typs Nested Table oder VARRAYSpeichern DOM InfoAttribute
Schema-RegistrierungWährend der Registrierung:• Parsen und Validieren des XML Schemas• Generieren der Einträge für DD• Erzeugt ein Set von Objektdefin
Schema-RegistrierungNach der Registrierung:• XML-Dokumente (Instanzen), die dem XML Schema genügen können eingefügt werden.(Achtung ein Verweis auf di
Beispiel-Schema
Mapping: Pseudocode• Wird beim Registrieren automatisch abgebildet aufCREATE OR REPLACE TYPE "XMLUSER"."ADDR_T" AS OBJECT ("S
Mapping: Pseudocode• Automatisches Anlegen von Tabellen ...CREATE TABLE "XMLUSER"."EMPLOYEE_TABLE" OF SYS.XMLTYPE XMLSCHEMA "
Speicherung • Ablage als XML Schemabasierenden TabelleCREATE TABLE employee_table_or OF XMLTYPE XMLSCHEMA"http://xmluser.de.oracle.com/xsd/deptem
Weitere Schemaoperationen• Löschen des Schemas mit Optionen: • DELETE_RESTRICT• DELETE_INVALIDATE• DELETE_CASCADE • DELETE_CASCADE_FORCE begindbms_xml
Weitere Schemaoperationen• Generieren eines SchemasSELECTdbms_xmlschema.generateschema(schemaname =>'USCHWINN',typename =>'PERS
Installation und Konfiguration• XML DB • enthalten in allen Oracle Software Editionen • benutzt OR-Features der Datenbank• nutzt DB-Schema XDB• verwen
Data Dictionary Views• XML Informationen• ALL/DBA/USER_XML_SCHEMAS• ...USER_XML_TABLES• ...USER_XML_TAB_COLS•...USER_XML_VIEWS•...USER_XML_VIEWS• ...U
Agenda• Konfiguration• XMLDB Repository • Objektrelationale Speicherung•Operationen•Operationen
Laden• Wichtig: XML Schema muss in XML-Dokument referenziert sein!• Laden mit:• Protokollen wie FTP und WebDAV• SQL und SQL*Loader• Idee bei grossen D
XML Schema referenzieren<nachricht xmlns="http://www.oracle.com/aktie/nachrichten.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i
XML Schema referenzieren<nachricht xmlns="http://www.oracle.com/aktie/nachrichten.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i
Laden von XML Instanzen• XML Schema überprüfen • Oracle Annotations vorhanden• Schema in der Datenbank registriert•Ergebnis: objektrelationales Speich
Schemavalidierung?• "leichte Schemaprüfung"• beim Einfügen• Strukturprüfung•Performancegründe•Performancegründe• vollständige Schemavalidier
Schemavalidierung: BeispielCREATE OR REPLACE TRIGGER <name>BEFORE INSERT OR UPDATE ON <tabname> FOR EACH ROWDECLARE...BEGINnewxml := :NEW.
Schema Support: Zusammenfassung• Registrieren eines W3C-compliant XML Schemas• Validatierung von XML Dokumenten gegen registrierte XML Schema Definiti
Schema Support: Zusammenfassung• Erzeugen von XMLType Tabellen, Views und Spalten basierend auf registrierten XML Schemas• Durchführung von DML und Ab
Konfiguration• Überprüfen mit dba_registry•Nach-InstallationSQL> SELECT comp_name, status FROM dba_registryWHERE comp_name LIKE '%XML%';C
XML DB Konfiguration$ lsnrctl statusLSNRCTL for Linux: Version 11.2.0.2.0 - Production on 27-APR-2011 16:36:36Copyright (c) 1991, 2010, Oracle. All r
Änderung der Konfiguration
Protokoll: HTTP
Protokoll: WEBDAV• Erweiterung des HTTP Protokolls• Web Folder über Windows Explorer oder andere Web Folder Software
Kommentare zu diesen Handbüchern