Verwaltung semistrukturierter Daten - PowerPoint PPT Presentation

About This Presentation
Title:

Verwaltung semistrukturierter Daten

Description:

Verwaltung semistrukturierter Daten - was ist das? Datenverwaltung f r XML-Dokumente Daten in XML-Gewand eigentlich XML-Dokumente Abbildung auf relationale und – PowerPoint PPT presentation

Number of Views:61
Avg rating:3.0/5.0
Slides: 25
Provided by: hs8185
Category:

less

Transcript and Presenter's Notes

Title: Verwaltung semistrukturierter Daten


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
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
Semistrukturierte Daten
  • Content-Management
  • Verwaltung aller anfallenden elektronischen
    Informationen (z.B. in einem Unternehmen)
  • Schwerpunkt semistrukturierte Daten
  • Inhaltlich Web-basierte Daten
  • Bsp. InternetbrokerBörsenkurse ( HTML / XHTML
    - Darstellung) Presseberichte Persönliche
    Profile .....
  • Bsp. HochschulverwaltungLehrveranstaltungen,
    Web-Seiten dafür, Studienpläne, ....
  • Datenverwaltung Standard-DBS, Information
    Retrieval-System oder was??

4
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ürVerwaltung von großen
    RDF-Datenmengen(keine kommerziellen)
  • Tripelstruktur einfacherals Bäume / Graphen?

5
Datenverwaltung für XML
  • Warum eigentlich?
  • Szenario 1Hersteller X kauft Teile bei
    Zulieferer Y und verwendet das XML/EDI
    Protokoll(Electronic Data Exchange Protokoll
    zur Übermittlung von Handelsdaten, neuerdings in
    XML-Kodierung)

6
Datenverwaltung für XML
  • Szenario 2Internetshop 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
Datenverwaltung für XML
  • Datenorientiert (data centric documents)

ltOrdersgt ltSalesOrder SONumber"12345"gt
ltCustomer CustNumber"543"gt
ltCustNamegtABC Industrieslt/CustNamegt
ltStreetgt123 Main St.lt/Streetgt
ltCitygtChicagolt/Citygt ....
lt/Customergt ltLine LineNumber"1"gt
ltPart PartNumber"123"gt
ltDescriptiongt ltpgtltbgtTurkey
wrenchlt/bgtltbr /gt Stainless
steel, one-piece construction,
lifetime guarantee.lt/pgt
lt/Descriptiongt ltPricegt9.95lt/Pricegt
lt/Partgt
ltQuantitygt10lt/Quantitygt lt/Linegt
....... lt/SalesOrdergt lt/Ordersgt
8
Datenverwaltung für XML
  • Dokument-orientiert (document centric)

ltProductgt ltNamegtVariabler Maulschlüssellt/Namegt
ltDevelopergtFull Fabrication Labs,
Inc.lt/Developergt ltSummarygtGroßer,
verstellbarer Schraubenschlüssellt/Summarygt
ltDescriptiongt ltParagtDer Engländer besteht aus
erstklassigem Stahl und besitzt einen
gummierten Handgriff. Die Maulgröße liegt
zwischen 0 und 32 mm. lt/Paragt ltParagtSie
können .... lt/Paragt ltListgt ltItemgtltLink
URL"Order.html"gtBestellenlt/Linkgtlt/Itemgt
ltItemgtltLink URL"Wrenches.htm"gtAndere Werkzeuge
ansehen lt/Linkgtlt/Itemgt ltItemgtltLink
URL"catalog.zip"gtDen Katalog herunterladenlt/Linkgt
lt/Itemgt lt/Listgt ltParagt Der
Schraubenschlüssel kostet 15.33 Euro inkl. MWSt.
Wenn Sie jetzt bestellen, erhalten Sie
zusätzlich unsere wertlose
Hobbybastler-Fibel.lt/Paragt lt/Descriptiongt lt/Pro
ductgt
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)
  • -gt für Interoperabilität DB lt-gt DB gibt es
    bessere Lösungen
  • Meist Verarbeitungsschritte involviert (-gt
    Szenario 1)
  • Auftrag aus lokaler DB erzeugen (XML-Format)
  • Übertragen
  • Verarbeiten XML Dokument mit Speichern der
    Auftragsdaten in DB

10
Datenverwaltung für XML
  • Abbildung DB lt-gt XML-Dokument zwei Varianten
  • Templateskeine vordefinierte Abbildung zwischen
    Datenbankschema und XML-Dokumentstruktur

.... XML-Middleware
11
  • lt?xml version"1.0"?gt
  • ltFlightInfogt
  • ltIntrogtThe following flights have available
    seatslt/Introgt ltSelectStmtgtSELECT Airline,
    FltNumber, Depart, Arrive FROM Flightslt/SelectStmt
    gt
  • ltConcludegtWe hope one of these meets your
    needslt/Concludegt
  • lt/FlightInfogt

Operationen der Mittelschicht - Request
entgegennehmen - SQL-Statement ausführen (evtl.
indirekt) - Ergebnisrelation in XML-Format
bringen (XML-Middleware) - Anzeigen
12
  • lt?xml version"1.0"?gt
  • ltFlightInfogt
  • ltIntrogtThe following flights have available
    seatslt/Introgt
  • ltFlightsgt
  • ltRowgt
  • ltAirlinegtACMElt/Airlinegt
  • ltFltNumbergt123lt/FltNumbergt
  • ltDepartgtDec 12, 1998 1343lt/Departgt
  • ltArrivegtDec 13, 1998 0121lt/Arrivegt
  • lt/Rowgt
  • ...
  • lt/Flightsgt
  • ltConcludegtWe hope one of these meets your
    needslt/Concludegt
  • lt/FlightInfogt

- Sehr flexibel - Typisch für Abbildung DB -gt
XML ( auch HTML)-Form, nicht umgekehrt.
13
Datenverwaltung für XML
  • Modellspezifische Abbildung (relational)XML-Doku
    ment-Struktur entspricht dem relationalen Schema
    (oder Teilen davon) bzw. einer Ergebnismenge.
  • Kanonische Abbildung auf ltdbgt- lttablegt-
    ltattributgt - Tags
  • XML / DB-Middelware füllt die Elemente oder
    entnimmt die Daten (wie bei reinem Transfer)

ltdatabasegt lttablegt ltrowgt
ltcolumn1gt...lt/column1gt
ltcolumn2gt...lt/column2gt ...
lt/rowgt ... lt/tablegt ...
lt/databasegt
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 XMLDok -gt
    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
XML lt-gt 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
  • lt?xml version"1.0"?gt
  • ltFlightInfogt
  • ltIntrogtThe following flights have available
    seatslt/Introgt ltSelectStmtgtSELECT Airline,
    FltNumber, Depart, Arrive FROM Flightslt/SelectStmt
    gt
  • ltConcludegtWe hope one of these meets your
    needslt/Concludegt
  • lt/FlightInfogt

16
XML-Baumstruktur
lt?xml version1.0?gtltordersgt ltpurchaseorder
ID "007"gt ltCustomergt ltnamegt Müller
lt/namegt ltaddressgt ... lt/addressgt
lt/Customergt ltlineItemgt ltnogt 4711 lt/gt
... lt/lineItemgt ltlineItemgt
..... lt/ordersgt
address
street
...
Wenn keine hierarchische DB-Struktur IDREF
Erlaubt XML-Dokumente zuverknüpfen
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
    OFpurchaseOrderType NESTED TABLE
    lineItemList STORE AS...

Objektorientierte Systeme strukturell mindestens
so gutgeeignet, wie objektrelationale
18
Dokumentorientierte Verwaltung von XML
  • Anfragen SQL oder XPATH / XQL / XML-QL /QUILT /
    XQuery ?
  • Konzeptionelles Modell ist Dokument, nicht
    DBUnabhängigkeit von Repräsentation!-gt
    Pfadausdrücke statt SQL ?!

19
XPath Basis vieler XML-Anfragesprachen
  • W3C-Empfehlung 11/99 http//www.w3.org/TR/xpath
  • 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
XPath und SQL
  • Direkte Abbildung von XPath auf SQL
  • //purchase_order pno"101"/customer/address/stre
    et
  • SELECT p.address.street
  • FROM purchaseOrderTab p
  • WHERE p.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
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 nichtWie teuer ist der
    Schraubenschlüssel TX32?
  • entspricht Verwendung eines Standard-IR-Systems
    ohne DBS-Funktionalität und ohne
    Strukturunterstützung

22
Alternativen
  • Beispiel Auftragsverwaltung mit einer Tabelle
    purchaseXMLTab, die CLOB-Attribut
    po_xml mit dem Dokument
    enthältGesucht alle Aufträge ohne
    StraßenangabeSELECT FROM purchaseXMLTabWhere
    CONTAINS(po_xml, "street WITHIN addr") 0
  • Hybride Abbildung
  • Für hybride Dokumente mit attribut-orientiertem
    und freiformatigen Anteil (PCDATA)
    sinnvollBeispiel Buch, Handbuch ...
  • Xpath (o.a.) als "Sublanguage" ?

Oracle-Intermedia mit XML-Erweiterung
23
XML-Anfragen und SQL (Beispiel)
  • Annahme purchaseOrderTab enthält zusätzlich ein
    CLOB-Attribut poXMLColumn.
  • Funktionen (Oracle) extractNode(ltxml-docgt,
    ltxpathExpressiongt)
  • existsNode (ltxml-docgt, ltxpathExprgt ltboolOpgt
    ltvalgt)
  • Beispiel Produktnr. der ersten Position des
    Auftrags 4711
  • SELECT extractNode(e.poXMLColumn,
    //line_item_list1/no)FROM purchaseOrderTab
    eWHERE e.pno 4711 / ggf. Typumwandlung
  • Beispiel Alle Auftraäge mit Bestellungen
    von Artikel 100
  • SELECT e.poXMLColumnFROM purchaseOrderTab
    eWHERE existsNode(e.poXMLColumn,
    (//lineItemListno"100") !0

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
Write a Comment
User Comments (0)
About PowerShow.com