Übung-Foliensatz-03

Werbung
XML, QPATH, XQUERY:
NEUE KONZEPTE FÜR
DATENBANKEN
3. Übung
XML-Verarbeitung
Agenda
2

XML zum Abbilden von DB-Inhalten
 Motivation
 Abbildungsvorschriften

Übungen
 Aufgabe
3
XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08
Martin Kost
XML zum Abbilden von DB-Inhalten
3
Motivation

RDBMS
sehr ausgereift (stabil, zuverlässig, schnell, ACID, …)
 Große Datenmengen bereits verfügbar
 Datenaustausch über DB-Produkt hinweg umständlich

Verschiedene Formate
 Dumpfiles nicht vom Menschen lesbar
 Nutzerdefinierte Formate nur schwer erzeugbar


XML
Standardisiertes Austauschformat
 Menschenlesbar
 „einfache“ Transformation in andere Formate

XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08
Martin Kost
XML zum Abbilden von DB-Inhalten
4
Methoden


verschiedene (standardisierte) Methoden siehe auch
SQL/XML
hier: Vollständige (schematische) Abbildung von
Datenbanken


Informationserhaltend: (Alle) Gewünschte Informationseinheiten
der Datenbank müssen sich vollständig und konsistent im XMLDokument wiederfinden.
Grundprinzip




Darstellung von Relationen, Tupeln und Attributen durch XMLElemente oder -Attribute
Abbildung von Schlüsseln und Fremdschlüsseln
Abbilden von Typinformationen
Ableitung von Elementhierarchien
XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08
Martin Kost
XML zum Abbilden von DB-Inhalten
5
Methoden – Forts.

dreistufige
Verschachtelung:




Bezeichnung der Datenbank
Relationennamen
Attributnamen
vierstufige Verschachtelung:




Bezeichnung der Datenbank
Relationennamen
Tupel
Attributnamen
<Datenbankname>
<Relationnenname>
<Attributname>
</Attributname>
<Attributname>
</Attributname>
…
<Datenbankname>
<Relationnenname>
<Tupel>
<Attributname>
</Attributname>
<Attributname>
…
XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08
Martin Kost
XML zum Abbilden von DB-Inhalten
6
Methoden – Forts.

hier: Abbilden des DB-Schema auf XML-Schema
 Vermeidung
der Probleme, die bei der Verwendung
von XML-DTD auftreten
 Elementnamen können lokal deklariert werden
 Vermeidung von Namenskonflikten
 genauere Abbildung von Schlüssel und Fremdschlüssel
 Verwendung von XML-Schema-Typen
XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08
Martin Kost
XML zum Abbilden von DB-Inhalten
7
Methoden – Forts.

Abbildung für die Übungsaufgabe





vierstufige Verschachtelung
Relationen- und Attributnamen auf Elementnamen
SQL-Datentypen auf Datentypen von XML-Schema
Tupel auf Elemente mit der Bezeichnung: Relationenname +
„_Tupel“
Ableiten von Elementhierarchien


Auswertung von Schlüssel-Fremdschlüssel-Beziehungen
Kardinalitäten beachten




1:1 – Kardinalität = 1;
1:n – Kardinalität = unbounded & Fremdschlüssel ist unique;
m:n – Kardinalität = unbounded
meist sinnvoll per Hand festzulegen, da Verweise oft das bessere
Mittel sind
XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08
Martin Kost
XML zum Abbilden von DB-Inhalten
8
Methoden – Forts.

Ableiten von Elementhierarchien




bisher: direkte Darstellung von Relationen in XML-Dokumenten
keine hierarchischen Beziehungen zwischen Relationen
durch Auswertung von Schlüsseln und Fremdschlüsseln Ableitung von
hierarchischen Strukturen möglich
Vorgehen:





Root-Tabelle der Datenbank wählen
Element erstellen, das der Relation entspricht (enthält Elemente, die den
Attributen entsprechen)
falls ein Attribut als Fremdschlüssel definiert ist zugehörige Relation (mit
Schlüssel) hierarchisch einsortieren
Abbildungsprozess nur eindeutig, falls Fremdschlüssel-Beziehungen der
Datenbank einen Baum darstellen
falls Datenbank durch Normalisierung zum Erreichen der ersten Normalform
entstanden ist, macht dieses Verfahren den Normalisierungsprozess rückgängig
XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08
Martin Kost
XML zum Abbilden von DB-Inhalten
9
Beispiel
XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08
Martin Kost
Übungen
10
~drei bis vier
XML-APIs
XQuery
L
XM
xie
e
d
-In
SQL
/XM
L
Im-/Export von XML
mit Datenbanken
g
ru n
XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08
Martin Kost
3. Übung - Aufgabenstellung
11

Abbildung von Datenbankinhalten auf XML
 Erstellung
eines XML-Schemas aus gegebenem
Datenbankschema
 Erstellen einer Instanz zum erstellten XML-Schema
XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08
Martin Kost
Literaturangaben
12






http://www.w3.org
http://www.w3.org/TR/2004/REC-xml-20040204/
http://www.w3.org/XML/Schema#dev
http://www.w3.org/TR/xmlschema-0/
http://www.edition-w3c.de/TR/2001/REC-xmlschema-0Klettke/Meyer: XML & Datenbanken, dpunkt, 2003
XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08
Martin Kost
Herunterladen