Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Gotthold Helmig Geändert vor über 11 Jahren
1
Datenbanken und XML Vortrag: Oliver Klein Seminar Weltweite Datenbanken WS 2000/01 CvO Universität Oldenburg
2
Oliver Klein WS 2000/01 Datenbanken und XML 2 Datenbanken und XML - Überblick XML und Einsatzbereiche von XML Verwendung von Datenbanken und XML –Produktkategorien XML-Daten speichern, rekonstruieren, abfragen –Unterschiedliche Mapping-Verfahren –Einschränkungen beim Mapping XML–Datenbanken und –Produkte –Beispiele: Oracle8i, Tamino (Software AG), etc. Fazit
3
Oliver Klein WS 2000/01 Datenbanken und XML 3 XML – Extensible Markup Language Beschreibung von –unstrukturierten –semistrukturierten Daten Spezifikation durch DTD (Document Type Definition) –Datenschema –kontextfreie Grammatik The XML companion Bradley Neil
4
Oliver Klein WS 2000/01 Datenbanken und XML 4 XML – Eigenschaften und Einsatzbereiche –selbstbeschreibend –flexibel –erweiterbar –plattformunabhängig –standardisiert (W3C ) Struktur Daten bsp.xml XSL DTD CSS XML-Schema
5
Oliver Klein WS 2000/01 Datenbanken und XML 5 Einsatzbereiche von XML EDI (Electronic Data Interchange) Verbindungen zwischen Softwarekomponenten Anbindung von Datenbanken an Applikationen Import/ Export von Datenbankinhalten XML filtern restrukturieren synthetisieren analysieren anfragensuchen generieren
6
Oliver Klein WS 2000/01 Datenbanken und XML 6 Speichern von XML-Daten XML-Dateien im Dateisystem OO-Datenbanken (eXcelon) (DB)MS für semistrukturierte Daten (LORE) bzw. speziell angepasste Systeme (Objekt-)Relationale Datenbanken mit XML Erweiterungen (Oracle8i, IBM DB 2 ) XML-Server (Tamino, eXcelon, POET)
7
Oliver Klein WS 2000/01 Datenbanken und XML 7 XML-Daten in Datenbanken Motivation: Effiziente und strukturierte Speicherung Indexe Sicherheitskonzepte – Transaktionen – Datenintegrität Mehrbenutzerfähigkeit Schnelle Anfrageauswertung weit verbreitete Technologie/ Systeme
8
Oliver Klein WS 2000/01 Datenbanken und XML 8 Verwaltung und Verarbeitung von XML-Daten Produktkategorien: Middleware: –Datentransfer via JDBC, ODBC XML Dokument Middleware Datenbank XML-fähige Datenbanken: –DBMS erweitert um XML-Verarbeitungsfunktionalität Native XML Datenbanken: 1.speichern XML vollständig in RDB als BLOB oder im Dateisystem 2.speichern modifizierte XML-Dokumente (komprimiert oder pre-parsed) 3.Abbildung von XML- bzw. DOM-Objekten auf Tabellen oder OO-DB 4.(Abbildung der Datenstruktur oder DTD auf die Datenbank)
9
Oliver Klein WS 2000/01 Datenbanken und XML 9 Verwaltung und Verarbeitung von XML-Daten Produktkategorien (Forts.): XML (Application) Server: –XML-Datenserver für verteilte Anwendungen (e-commerce, business-to-business) –Application-Server generieren dynamisch XML-Daten (über Skripte mit eingebetteten SQL-Statements) Content Management Systeme: –verwalten und managen XML-Inhalte (Editoren,Versionskontrolle, Multi-User) Persistente DOM Implementierungen: –speichern DOM Objekte in Datenbanken
10
Oliver Klein WS 2000/01 Datenbanken und XML 10 Abbildungen zwischen XML und Datenbanken "Mapping" unterschiedliche Modelle: –Templates –Tabellen-basiert –Objekt-basiert –mit oder ohne DTD unterschiedliche Komplexität alternative Verfahren
11
Oliver Klein WS 2000/01 Datenbanken und XML 11 Template Driven Mapping the following flights have available seats: SELECT Airline, FltNumber, Depart, Arrive FROM Flights Data Transfer (Middleware) RDBMS
12
Oliver Klein WS 2000/01 Datenbanken und XML 12 Template Driven Mapping Output the following flights have available seats: ACME 123 Dec 12, 2001 13:43 Dec 13, 2001 01:21...
13
Oliver Klein WS 2000/01 Datenbanken und XML 13 Template Driven Mapping Erweiterungen: –freie Platzierung der Anfrageergebnisse –Parametrisierung von Select Statements zur Verwendung in untergeordneten Anfragen –Programmierkonstrukte (Schleifen und Bedingungsabfragen) Vorteile: –flexibles Mapping Nachteile: –Transfer nur von DB XML
14
Oliver Klein WS 2000/01 Datenbanken und XML 14 Model Driven Mappings Table Model: Vorteile: –implizites Mapping –Einfach zu Implementieren –effizienter Daten- austausch zwischen RDB Nachteile –flache Strukturen –nur für einfache XML- Daten geeignet.........
15
Oliver Klein WS 2000/01 Datenbanken und XML 15 … 150999 … 2 Orders SalesOrder CustomerLine Produkt Model Driven Object Based Mapping Data Specific Object Model:
16
Oliver Klein WS 2000/01 Datenbanken und XML 16 Data Specific Object Model – einfaches Mapping Komplexe Elemente … 2 werden Objekte Subelemente und Attribute … 2 werden Eigenschaften von Objekten
17
Oliver Klein WS 2000/01 Datenbanken und XML 17 Ein einfaches Objekt Mapping … 2 object Line { lineNumber = "1"; product = {prodPtr}; quantity = "2"; quantUnit = "ton"; } object Product { name = "Cherries"; … }
18
Oliver Klein WS 2000/01 Datenbanken und XML 18 Ein Objekt-relationales Mapping Line lineNumberquantityquantUnit 12ton... Product lineNumberprodName... 1Cherries... Zusammenfassung: 1.XML-Daten als Objektbaum komplexe Elemente werden Objekte einfache Elemente und Attribute werden zu Eigenschaften 2.direkte Abbildung in OO-DB oder Objekt-relationales Mapping in Relationale DB Oder: Kombination von 1. und 2. und XML DTD
19
Oliver Klein WS 2000/01 Datenbanken und XML 19 Bewertung des Objekt-Modells Einschränkungen des Verfahrens: –keine CDATA-Abschnitte, Entity-Referenzen, XML-Instruktionen und Kommentare –Metadaten (Dokumentname, DTD, etc.) gehen verloren Vorteile: –verarbeitet alle XML Dokumente –erhält die logische Struktur der Daten –ideal für hoch strukturierte Dokumente Verbreitung des Verfahrens: –RDBMS: Oracle8i, IBM DB 2, Informix, Microsoft SQL Server –Middleware: Oracle SQL-Utility for Java, ADO, XML-DBMS
20
Oliver Klein WS 2000/01 Datenbanken und XML 20 Relationale DB-Schemata aus DTDs generieren Ein einfacher Algorithmus: 1.Für jedes komplexe Element eine Tabelle mit PK erzeugen: Line Line_ID (PK)Quantity 2.Jeden Element-Inhalt betrachten und für einfache Referenzen zu einfachen Elementen eine Spalte erzeugen CREATE TABLE Line ( Line_ID NUMBER() NOT NULL )
21
Oliver Klein WS 2000/01 Datenbanken und XML 21 Relationale DB-Schemata aus DTDs generieren für mehrfache Elemente ( * ) abhängige Tabellen mit FK erzeugen für Referenzen zu komplexen Elementen Fremdschlüssel erzeugen CREATE TABLE Product ( Product_ID NUMBER() NOT NULL, Line_ID NUMBER() FK ) für PCDATA in komplexen Elementen abhängige Tabelle mit FK erzeugen optionale Elemente ( ? ) in "nullable" Spalten abbilden und evtl. Spalten für Ordnungsnummern von Subelementen oder PCDATA
22
Oliver Klein WS 2000/01 Datenbanken und XML 22 Relationale DB-Schemata aus DTDs generieren 3.Jedes Attribut betrachten und für einfache Attribute eine Spalte erzeugen CREATE TABLE Product ( Product_ID NUMBER() NOT NULL, Line_ID NUMBER() FK, Product_Name VARCHAR() NOT NULL ) für mehrwertige Attribute abhängige Tabellen mit FK erzeugen optionale ( #IMPLIED ) Attribute werden "nullable" und Default-Werte werden direkt abgebildet
23
Oliver Klein WS 2000/01 Datenbanken und XML 23 DTDs aus relationalen DB-Schemata generieren Ein einfacher Algorithmus: 1.Für jede Tabelle ein Element mit sequentiellen Subelementen (Spalten) erzeugen 2.Für jede Spalte (außer PK und FK) ein XML-Element mit PCDATA erzeugen 3.Für jede abhängige Tabelle (FK-PK) ein Subelement erzeugen 4."nullable" Spalten werden optionale ( ? ) Subelemente
24
Oliver Klein WS 2000/01 Datenbanken und XML 24 Generelle Probleme des (relationalen) Mappings Namenskollisionen und illegale Namen keine Datentypen und Längenbeschränkungen (DTD DB- Schema) keine eindeutige Kennzeichnung von Elementen/Attributen als Schlüssel (DTD DB-Schema) keine Festlegung ob Primärschlüssel im Eltern- oder Kindelement Spalten für sequentielle Ordnung nicht erkennbar (DB-Schema DTD) Nicht "Round-trip"-fähig: DTD DB-Schema
25
Oliver Klein WS 2000/01 Datenbanken und XML 25 XML in (relationalen) Datenbanken MappingverfahrenEinsatzbereiche Verarbeitungs- richtungen Template Driven Mapping dynamische Web-Sites Transfer Middleware DB XML Model Driven Mapping Table Model Transfer Middleware DB XML XML DB Data- Specific Object Models ohne DTD weit verbreitet manuelle oder automatische Abbildung DB XML XML DB mit DTD
26
Oliver Klein WS 2000/01 Datenbanken und XML 26 Alternative Abbildungen auf Datenbanken Struktur und Daten auf Instanzebene speichern: Eine ähnliche Tabelle speichert die Attribute Inlining-Techniken: Sub-(Sub-...)elemente werden zu Spalten einer Relation (für alle Elemente) erzeugt Redundanz Manuelle Verfahren: Mapping z.B. durch "Data Access Definition" (IBM DB 2 ) ElementIDParentChild#String buch100- titel1011001The XML... autor1021002 name1031021Bradley vorname1041022Neil
27
Oliver Klein WS 2000/01 Datenbanken und XML 27 Beispiele für XML verarbeitende Systeme XML-fähige Datenbanken: –Oracle8i RDBMS mit vielen Erweiterungen und Werkzeugen für XML XML-Server: –Tamino XML Plattform für E-Business
28
Oliver Klein WS 2000/01 Datenbanken und XML 28 XML-fähige Datenbanken: Oracle8i XDK (XML Developer's Kit) –XML Parser und XSL Processors (Java, C, C++, and PL/SQL) –XML Class Generators (Java and C++) –XML SQL Utility for Java –XML Transviewer Beans XSQL Servlet Oracle8i InterMedia –Oracle JServer (JVM) XML Dokumente speichern als –komplette Dokumente (CLOB, BLOB) –Daten in objekt-relationalen Tabellen –XML und Daten kombinieren durch Views Verarbeitung und Retrieval durch –XML Parser –XML SQL Utility –XSL Processor
29
Oliver Klein WS 2000/01 Datenbanken und XML 29 XML Dokumente in Oracle8i XML SQL Utility for Java Oracle8i --- ---- --- ---- --- SQL oder Object Queries XML Documents
30
Oliver Klein WS 2000/01 Datenbanken und XML 30 XML-Daten zwischen Anwendungen austauschen Anwendung 1 (XSQL Servlet) 1.verarbeitet Formulardaten (SQL- Query) 2.generiert XML aus DB mit DTD 3.sendet XML-Dokument Anwendung 2 1.empfängt XML 2.verarbeitet (XML- Parser) 3.speichert XML (XML SQL Utility)
31
Oliver Klein WS 2000/01 Datenbanken und XML 31 XML-Server: Tamino (Software AG) "Transaction Architecture for the Management of Internet Objects" XML-native Speicherung (XML-Database) Integration anderer (relationaler) Datenquellen (X-Node) Anwendungsentwicklung (Bolero, X-Studio,...) Tamino Server XML / Data Map / SQL XML-engine X-Nodes Manager Web- & Application Server externe Daten- quellen weitere Anwendungen Browser E-Business client WWW
32
Oliver Klein WS 2000/01 Datenbanken und XML 32 Anfrageverarbeitung in Taminos XML-Engine XML Parser: Wohlgeformtheit & Korrektheit Object Processor: Speichert XML und SQL Daten Query Interpreter: X-Query (XPath-ähnlich) Interpretation gemäß Data Map Objekt Composer: Generiert XML Dokumente aus Anfragen Utilities: Beschleunigung beim Laden XML engine Query Interpreter Object Composer Utilities Object Processor XML Parser XML Output Query (URL) XML Objects DTDs Data Map XML Store, externe Daten- quellen, interner SQL Store
33
Oliver Klein WS 2000/01 Datenbanken und XML 33 Zusammenfassung, Fazit & Ausblick XML als Austauschformat für strukturierte Daten zwischen Anwendungen, WWW und Datenbanken ist bereits weit entwickelt, doch... Verlust von Metadaten und Zusatzinformationen bei allen Mappingverfahren Schwierigkeiten mit unstrukturierten Daten viele Systeme erfordern manuelles Mapping native Speicherung verkürzt Antwortzeiten Zukunft: XML-Datenbanken als neues Paradigma neben OODBMS und RDBMS
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.