Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Verwaltung semistrukturierter Daten - was ist das? Datenverwaltung für XML-Dokumente - Daten in XML-Gewand - eigentlich XML-Dokumente - Abbildung auf.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Verwaltung semistrukturierter Daten - was ist das? Datenverwaltung für XML-Dokumente - Daten in XML-Gewand - eigentlich XML-Dokumente - Abbildung auf."—  Präsentation transkript:

1 1 Verwaltung semistrukturierter Daten - was ist das? Datenverwaltung für XML-Dokumente - Daten in XML-Gewand - eigentlich XML-Dokumente - Abbildung auf relationale und objektrelationale DBS - Anfragesprachen: XML Query - RDF-Datenbanken: erste Versuche

2 6.2 Semistrukturierte Daten  Semistrukturierte Daten  kein festes Schema  zeitveränderliche Struktur  große Variabilität  „Viel Struktur, wenig Daten“ Beispiel: Web-Daten XML-Dokumente Textliche Dokumente RDF – Beschreibungen.....  Datenmodell: oft Graphen (bzw. Bäume)  Warum „Datenmodell“? Trennung von Struktur und Inhalt erleichtert Anfragen Anfrageverarbeitung wird erleichtert

3 6.3 Semistrukturierte Daten  Content-Management  Verwaltung aller anfallenden elektronischen Informationen (z.B. in einem Unternehmen)  Schwerpunkt semistrukturierte Daten  Inhaltlich: Web-basierte Daten Bsp.: Internetbroker Börsenkurse ( HTML / XHTML - Darstellung) Presseberichte Persönliche Profile..... Bsp. Hochschulverwaltung Lehrveranstaltungen, Web-Seiten dafür, Studienpläne,....  Datenverwaltung: Standard-DBS, Information Retrieval-System oder was??

4 6.4 Semistrukturierte und konventionell Daten Semistrukturierte und konventionell Daten  Derzeitige Schwerpunkte  Datenverwaltung von XML-Dokumenten als Spezialfall von Semistrukturierten Daten  Verwendung von relationalen / objekt-relationalen DBS  Bisher wenig Ansätze für Verwaltung von großen RDF-Datenmengen (keine kommerziellen)  Tripelstruktur einfacher als Bäume / Graphen? XML (obj.-) relational

5 6.5 Datenverwaltung für XML Datenverwaltung für XML  Warum eigentlich?  Szenario 1 Hersteller X kauft Teile bei Zulieferer Y und verwendet das XML/EDI Protokoll (Electronic Data Exchange – Protokoll zur Übermittlung von Handelsdaten, neuerdings in XML-Kodierung) XML (obj.-) relational XML Datenaustausch: Keine Veranlassung, XML-Dokumente in DBS zu speichern

6 6.6 Datenverwaltung für XML Datenverwaltung für XML  Szenario 2 Internetshop biete Produkte aus einem Datenkatalog mit vielfältigem Angebot an („Otto-Katalog“) Application Server / Web-server Angebot muss abfragbar sein, verschiedenste Kriterien (Anfragen mit DBS- und IR-Anteilen) „Fahrrad mit Alurahmen, möglichst rot, höchstens 800,-DM“

7 6.7 Datenverwaltung für XML  Datenorientiert (data centric documents) ABC Industries 123 Main St. Chicago.... Turkey wrench: Stainless steel, one-piece construction, lifetime guarantee

8 6.8 Datenverwaltung für XML  Dokument-orientiert (document centric) Variabler Maulschlüssel Full Fabrication Labs, Inc. Großer, verstellbarer Schraubenschlüssel Der Engländer besteht aus erstklassigem Stahl und besitzt einen gummierten Handgriff. Die Maulgröße liegt zwischen 0 und 32 mm. Sie können.... Bestellen Andere Werkzeuge ansehen Den Katalog herunterladen Der Schraubenschlüssel kostet Euro inkl. MWSt. Wenn Sie jetzt bestellen, erhalten Sie zusätzlich unsere wertlose Hobbybastler-Fibel.

9 6.9 Datenverwaltung für XML  Probleme  Oft keine klarer Unterschied zwischen daten- und dokumentorientiert (Bsp: Preisangabe)  XML als Datenrepräsentation zwischen DB Datentypen? Unterschiedliche Dialekte (der DDL)  -> für Interoperabilität DB DB gibt es bessere Lösungen  Meist Verarbeitungsschritte involviert (-> Szenario 1) Auftrag aus lokaler DB erzeugen (XML-Format) Übertragen Verarbeiten XML Dokument mit Speichern der Auftragsdaten in DB

10 6.10 Datenverwaltung für XML  Abbildung DB XML-Dokument: zwei Varianten  Templates keine vordefinierte Abbildung zwischen Datenbankschema und XML-Dokumentstruktur „XML-Middleware

11 The following flights have available seats: SELECT Airline, FltNumber, Depart, Arrive FROM Flights We hope one of these meets your needs Operationen der Mittelschicht: - Request entgegennehmen - SQL-Statement ausführen (evtl. indirekt) - Ergebnisrelation in XML-Format bringen („XML-Middleware“) - Anzeigen

12 The following flights have available seats: ACME 123 Dec 12, :43 Dec 13, :21... We hope one of these meets your needs - Sehr flexibel - Typisch für Abbildung DB -> XML ( auch HTML)-Form, nicht umgekehrt.

13 6.13 Datenverwaltung für XML  Modellspezifische Abbildung (relational) XML-Dokument-Struktur entspricht dem relationalen Schema (oder Teilen davon) bzw. einer Ergebnismenge. Kanonische Abbildung auf Tags XML / DB-“Middelware“ füllt die Elemente oder entnimmt die Daten (wie bei reinem Transfer)

14 6.14 Datenverwaltung für XML  Modellspezifische Abbildung (objektrelational oder objektorientiert)  XML-Dokument lässt sich leichter in objekt-(relationalem) Modell als in (flachem) relationalen Modell darstellen  Auch hier geht die Ordnung der Teilbäume im XML- dokument verloren: Einbettung m: XML–Dok -> ORDBS-Tabellen nicht bijektiv (und damit nicht reversibel)  Im allgemeinen unkritisch: es kommt auf die Daten an, Darstellung z.B. gemäß XSL-Stylesheet  Kritisch: Datentypen, XML kennt nur CHAR-Daten  NULL-Werte: optionale XML-Elemente oder Attribute

15 6.15 XML Datenbank  Stream-orientiert:  Serialisierung, Speichern in Dateien, LOBs  Templates  Modellorientiert ("metamodeling")  Generisch: einheitliches Schema für alle XML-Dokumente, kanonische Abbildung von XML-Syntax auf DB-Datenmodell und umgekehrt Element ( id, name), Attribute (id, type, name), ContentStructure(.....)  DTD-spezifisch: Abbildung einer konkreten DTD auf Datenmodell The following flights have available seats: SELECT Airline, FltNumber, Depart, Arrive FROM Flights We hope one of these meets your needs

16 XML-Baumstruktur Müller orders purchase order Cust.. lineIt.. lineIt No... price Wenn keine hierarchische DB-Struktur: IDREF Erlaubt XML-Dokumente zu verknüpfen address street...

17 6.17 Hierarchie in Objektrelationaler DB  Create TYPE adressType AS OBJECT {street varchar2(80}, city...}; Create TYPE lineItemList AS TABLE OF lineItemType; Create TYPE lineItemType AS OBJECT {no number, name varcchar(40), price...}; Create TYPE purchaseOrderType AS OBJECT {purchaseNo number, customer customerType, address addressType,... lineItemList lineItemListType}; CREATE TABLE purchaseOrderTab AS TABLE OF{purchaseOrderType NESTED TABLE lineItemList STORE AS...} Objektorientierte Systeme strukturell mindestens so gut geeignet, wie objektrelationale

18 6.18 Dokumentorientierte Verwaltung von XML  Anfragen: SQL oder XPATH / XQL / XML-QL /QUILT / XQuery ?  Konzeptionelles Modell ist Dokument, nicht DB Unabhängigkeit von Repräsentation! -> Pfadausdrücke statt SQL ?! XML-Query? (Virtueller) XML-Speicher Implementierung: DBS Repräsentation SQL ?

19 6.19 XPath : Basis vieler XML-Anfragesprachen  W3C-Empfehlung 11/99:  Syntax, um in XML-Dokumenten zu navigieren  Ausdrücke beziehen sich auf ein Dokument, keine komplette Anfragesprache  Keine Gruppierung, Verbinden von Dokumenten  Basis anderer XML – Werkzeuge (s. auch Vortrag zu XML von Torsten Schlieder)  Frage: wie bildet man XPath – Ausdruck auf "Implementierungssprache" SQL ab?

20 6.20 XPath und SQL  Direkte Abbildung von XPath auf SQL //purchase_order [pno="101"]/customer/address/street SELECT p.address.street FROM purchaseOrderTab p WHEREp.purchaseNo = stringToInt("101") //purchase-order/customer/address/city SELECT p.address.city FROM purchaseOrderTab p Aber: z.B. keine Aggregation ("Summe aller Preise"), kein Verbund,.....

21 6.21 Verwaltung von XML-Dokumenten: Alternativen Verwaltung von XML-Dokumenten: Alternativen  Large Object (CLOB)  Nicht abfragbar  Einziger Vorteil gegenüber Datei: Fehlertoleranzeigenschaften des DBS  Text-Datentyp (Text-Extender wie Oracle- Intermedia) mit Retrievalfähigkeit  Struktur bleibt erhalten, trägt aber nicht zum Retrieval bei „Suche alle Dokumente zu ‚Schraubenschlüssel?“ dagegen nicht: „Wie teuer ist der Schraubenschlüssel TX32?“  entspricht Verwendung eines Standard-IR-Systems ohne DBS-Funktionalität und ohne Strukturunterstützung

22 6.22 Alternativen Beispiel: Auftragsverwaltung mit einer Tabelle purchaseXMLTab, die CLOB-Attribut po_xml mit dem Dokument enthält Gesucht: alle Aufträge ohne Straßenangabe SELECT * FROM purchaseXMLTab Where CONTAINS(po_xml, "street WITHIN addr") = 0  Hybride Abbildung  Für hybride Dokumente mit attribut-orientiertem und freiformatigen Anteil (PCDATA) sinnvoll Beispiel: Buch, Handbuch...  Xpath (o.a.) als "Sublanguage" ? Oracle-Intermedia mit XML-Erweiterung

23 6.23 XML-Anfragen und SQL (Beispiel)  Annahme: purchaseOrderTab enthält zusätzlich ein CLOB-Attribut poXMLColumn. Funktionen (Oracle): extractNode(, ) existsNode (, ) Beispiel: Produktnr. der ersten Position des Auftrags 4711 SELECT extractNode(e.poXMLColumn, //line_item_list[1]/no) FROM purchaseOrderTab e WHERE e.pno = 4711 /* ggf. Typumwandlung Beispiel: Alle Auftraäge mit Bestellungen von Artikel 100 SELECT e.poXMLColumn FROM purchaseOrderTab e WHERE existsNode(e.poXMLColumn, (//lineItemList[no="100"]) !=0

24 6.24 Indexierung  Performance matters !  Naive Lösung zur Auswertung von existsNode etc:  Parsen des Dokuments, Baum traversieren  CLOB mit invertierten Listen (wie oben: z.B. Intermedia)  Grundsätzliches Problem: Indexierung Semistrukturierter Daten  Wertindex / Textindex  "Finde alle Objekte, die über einen Pfad erreichbar sind" : Pfadindex


Herunterladen ppt "1 Verwaltung semistrukturierter Daten - was ist das? Datenverwaltung für XML-Dokumente - Daten in XML-Gewand - eigentlich XML-Dokumente - Abbildung auf."

Ähnliche Präsentationen


Google-Anzeigen