Date post: | 05-Apr-2015 |
Category: |
Documents |
Upload: | gabriele-ameling |
View: | 108 times |
Download: | 0 times |
1
XML und DatenbankenKapitel 7: Modellierung, Teil 2
Meike Klettke
Universität Rostock
Fakultät für Informatik und Elektrotechnik
www.xml-und-datenbanken.de
2Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Inhalt
Teil 1: Motivation, warum ein Schema erforderlich ist Schemata für XML-Dokumente
– DTDs– XML Schema
Teil 2: konzeptuelle Modellierung
– 1. Vorteile einer Modellierung– Methoden zur konzeptuellen Modellierung
• 2. Verwendung des Entity-Relationship-Modells• 3. Einsatz von UML• 4. Graphbasierte Verfahren• 5. eigener Ansatz
6. Ableitung von Schemainformationen aus XML-Dokumenten 7. Metriken 8. Weiterführende Literatur
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
3Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
1. Vorteile einer konzeptuellen Modellierung
Wunschvorstellung:– Modellierung auf einem höheren Niveau, das von der konkreten
Realisierung im Schema zunächst unabhängig ist– soll von Domainexperten verstanden werden– direkte Übersetzung in ein XML-Schema möglich– Enthält keine Implementierungsdetails– Schrittweise Konkretisierung– Graphische Darstellung
Ziel: – höhere Qualität der Dokumente - exakteres Vorgehen
es gibt noch keine akzeptierte Modellierungssprache für denEntwurf von XML/DTD/XML-Schemata. Häufig wird auch „Reverse-Engineering“ angewendet, aus XML-Dokumenten erfolgt die Ableitung der DTD durch Tools.
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
4Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Modelle
Modelle werden heute in allen Wissenschaftsgebieten eingesetzt
weit akzeptierte allgemeine Modelltheorie wurde 1973 von Herbert Stachowiak vorgeschlagen.
Modellbegriff darin ist domänenübergreifend anwendbar, Modell hat drei Eigenschaften:– Abbildung: Modell ist immer ein Abbild von etwas, eine
Repräsentation natürlicher oder künstlicher Originale, die selbst wieder Modelle sein können.
– Verkürzung: Ein Modell erfasst nicht alle Attribute des Originals, sondern nur die jeweils relevanten
– Pragmatismus: Orientierung am Nützlichen, Fragen wie Für wen?, Warum? und Wozu? werden berücksichtigt
5Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Beispiel eines Modells
maßstabgetreues 1:100-Modell des Stephansdoms originalgetreue, detailreiche Modell für blinde und sehbehinderte
Menschen Auch Kindern wird es damit erleichtert, die Dimensionen der Kirche zu
"begreifen"
6Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Modellierungsmethode für XML
einige Vorschläge für XML-Modelle und Modellierungmethoden
Ziele dabei sollen sein:– so einfach wie möglich– so komplex wie nötig– Vollständige XML-Schema-Unterstützung– Verwendung von Defaultwerten und Voreinstellungen
entgegengesetzte Eigenschaften
7Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Möglichkeiten zur Modellierung
??konzeptuelle
Ebene
date
nzen
trie
rtse
mi-
stru
ktur
iert
dok-
zent
riert
XML-Editorenbaumbasierte
ORMER
Modellierung vonStruktur
UML
Struktur und InhaltModellierung von
Struktur und InhaltModellierung von
??konzeptuelleEbene
Konzeptueller
Entwurf von XML-Dokumenten
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
8Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
2. Entity-Relationship-Modell für den Datenbankentwurf/ 1
Für den DatenbankentwurfName Ort
Name ISBN
Titel ISBN
Verlag
gibt_heraus
Buch
schreibt
Autor
ISBN ID
Name Vorname ID
ISBNBuch
Autor
Verlag
schreibt
[1,n]
[1,1]
[1,n]
Name
Ort
Titel
gibt_heraus
[0,n]
Name
VornameID
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
9Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Entity-Relationship-Modell für den Datenbankentwurf/ 2
jede Darstellung im ER findet Entsprechung in relationalen Datenbanken
Entwurf auf einen abstrakteren Level (konzeptuell) Eindeutige Abbildung der Entity-Relationship-Diagrammes
Alle relevanten Informationen einer relationalen Datenbank können aus dem Entwurf abgeleitet werden
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
10Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Entity-Relationship Modell für DTDs
Für den Entwurf von DTDs
ISBNBuch
Autor
Verlag
schreibt
[1,n]
[1,1]
[1,n]
Name
Ort
Titel
gibt_heraus
[0,n]
Name
VornameID
<!ELEMENT Buchanwendung (schreibt*, Verlag*,Autor*)>
<!ELEMENT Verlag (gibt_heraus*)>
<!ATTLIST Verlag Name ID #REQUIRED
Ort CDATA #REQUIRED>
<!ELEMENT gibt_heraus (Buch)>
<!ELEMENT Buch EMPTY>
<!ATTLIST Buch Titel CDATA #REQUIRED
ISBN ID #REQUIRED>
<!ELEMENT schreibt EMPTY>
<!ATTLIST schreibt Buch_ref IDREF #REQUIRED
Autor_ref IDREF #REQUIRED >
<!ELEMENT Autor EMPTY>
<!ATTLIST Autor Name CDATA #REQUIRED
Vorname CDATA #REQUIRED
ID ID #REQUIRED>
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
11Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Entity-Relationship Modell für XML-Schemata /1
<Buchanwendung>
<schreibt Buch_ref="i1234-5678-9" Autor_ref="a0007"/>
<schreibt Buch_ref="i9876-5432-1" Autor_ref="a0008"/>
<schreibt Buch_ref="i9876-5432-1" Autor_ref="a0009"/>
<Verlag Name="dpunkt" Ort="Heidelberg">
<gibt_heraus>
<Buch Titel="XML und Datenbanken" ISBN="i1234-5678-9"/>
</gibt_heraus>
<gibt_heraus>
<Buch Titel="Web und Datenbanken" ISBN="i9876-5432-1"/>
</gibt_heraus>
</Verlag>
<Autor Name="Meyer" Vorname="Holger" ID="a0007"/>
<Autor Name="Rahm" Vorname="Erhard" ID="a0008"/>
<Autor Name="Vossen" Vorname="Gottfried" ID="a0009"/>
</Buchanwendung>
ISBNBuch
Autor
Verlag
schreibt
[1,n]
[1,1]
[1,n]
Name
Ort
Titel
gibt_heraus
[0,n]
Name
VornameID
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
12Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Entity-Relationship Modell für XML-Schemata/ 2
Abbildung nicht einfach nachvollziehbar Unterschiedliche Behandlung der Kardinalitäten 1:n und n:m Abbildung der Schlüssel auf ID (nicht das identische
Konzept) Keine Möglichkeit zur Darstellung von Alternativen, Mixed
Content und ANY Entity-Relationship-Modell bietet Konzepte, die sich nicht
einfach abbilden lassen und es gibt Konzepte in XML, die sich nicht im Entity-Relationship-Modell darstellen lassen
Verwendet werden kann also „erweiterte Untermenge“
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
13Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
3. Einsatz von UML – Klassendiagrammen /1
Darstellung von Elementdeklarationen durch Klassen
ortplzstrassehausnummerpostfach [0..1]
adresse
hausnummer, postfach?><!ELEMENT (ort, plz, strasse,
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
14Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Einsatz von UML –Klassendiagrammen /2
Darstellung vom Inhaltsmodell Sequenz Deklaration von Attributen (UML-Konstrukt: Aggregation, Teil-Ganzes-Beziehungen zwischen einem Aggregat
und seinen Teilen)
autor CDATA #IMPLIED> datum CDATA #IMPLIED<!ATTLIST hotel url CDATA #REQUIRED
<!ELEMENT hotel (hotelname, kategorie?, adresse>
hotelname kategorie adresse0..1
hotel<<meta>> url:CDATA<<meta>> datum[0..1]:CDATA<<meta>> autor [0..1] CDATA
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
15Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Einsatz von UML –Klassendiagrammen /3
Darstellung von Alternativen (UML-Konstrukt: Generalisierung, Ist-Ein-Beziehungen zwischen Klassen)
pension | ferienwohnung )><!ELEMENT unterkunft ( hotel |
{disjoint}
unterkunft
ferienwohnungpensionhotel
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
16Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Komplexeres Beispiel
preisehotelname telefon0..1
adresse1..n
kategorie
{choice : 0 .. n}
plz ort strasse hausnummer doppelzimmer apartment<<content>>#PCDATA
einzelzimmer
{sequence : 1}
hotel<<meta>> url:CDATA<<meta>> datum[0..1]:CDATA<<meta>> autor [0..1] CDATA
{sequence : 1}
<!ELEMENT hotel (hotelname, kategorie?, adresse, telefon+, preise)>
<!ATTLIST hotel url CDATA #REQUIRED><!ATTLIST hotel datum CDATA #IMPLIED><!ATTLIST hotel autor CDATA #IMPLIED><!ELEMENT hotelname (#PCDATA)><!ELEMENT kategorie (#PCDATA)><!ELEMENT telefon (#PCDATA)>
<!ELEMENT adresse (ort, plz, strasse, hausnummer)><!ELEMENT ort (#PCDATA)><!ELEMENT plz (#PCDATA)><!ELEMENT strasse (#PCDATA)><!ELEMENT hausnummer (#PCDATA)><!ELEMENT preise (#PCDATA | einzelzimmer | doppelzimmer | apartment )*><!ELEMENT einzelzimmer (#PCDATA)><!ELEMENT doppelzimmer (#PCDATA)><!ELEMENT apartment (#PCDATA)>
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
17Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Bewertung
In beiden Fällen „erweiterte Untermenge“ wird eingesetzt, das heißt: Einige Konstrukte des ERM bzw. aus UML lassen sich nicht
adäquat abbilden– Beispiel n:m-Kardinalitäten
Andere Bestandteile einer DTD oder eines XML Schemas lassen sich nicht geeignet darstellen– Beispiel mixed content
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
18Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
4. Verwendung von Editoren
Visualisierung der Baumstruktur der XML-Dokumente oder der Graphstruktur der Schemata
Beispiel
XML Spy
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
19Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
5. CoDEX-Modell (für Entwurf und Evolution)
Grundbestandteile:
– Elemente,
– Attributgruppen,
– einfache und komplexe Typen,
– Module weitere spezielle Knoten für Inhaltsmodelle
– Sequenz, Alternative, mixed Content Verbindungen dazwischen: gerichtete und
ungerichtete Kanten Rootknoten= „Einstiegsknoten“ Beschreibungen zu den Knoten (z.B.
Wertebereichsbeschreibungen, facets)
20Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
CoDEX - Beispiel
Graph, verschiedene Knotenarten von Knoten (Elemente, Module, Inhaltsmodelle, Typen)
Rootknoten (ausgezeichnete Elemente oder Module)
Operationen darauf: – Eigenschaften testen
(erlaubte Zustände)– Übersetzung in XML-
Schema, dazu Übersetzungsreihenfolge bestimmen
21Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Verwendung von Modulen im CoDEX-Modell Graphische Notation: wie UML-packages Zuordnung von XML-Schemata (können auch durch den
CoDEX-Editor erzeugt sein)
22Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Model Driven Engineering
Automatische Modellvervollständigung Beispiel:
Ergänzen von – simple Types– complex Types– Inhaltsmodellen
23Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Eigenschaften der Modellierungsmethode
Einfache graphische und formale Notation Übersetzung in XML-Schemata Vorteile:
– Vollständige Modellierung von XML-Schemata möglich (einiges fehlt in der Implementierung: Typhierarchien, list, union)
– Modularisierung möglich Nachteile:
– kein richtiges „konzeptionelles“ Modell, es fehlt die Vereinfachung dafür aber automatische Vervollständigung vereinfachter Modelle Weitere Eigenschaften
– Reverse-Engineering: vorhandenes XML-Schema -> CoDEX
– Einsatz des Verfahrens zur Evolution (Weiterentwicklung, Propagieren der Änderungen, ...)
24Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Formales Modell von CoDEX
Graph, mehrere Arten von Knoten – Elemente– Attributgruppen, – Module– einfache Typen– komplexe Typen– Inhaltsmodelle (sequence, choice, all)
zwei Arten von Kanten: gerichtet und ungerichtet– ungerichtete Kanten nur während des Entwurfes
Rootknoten (gekennzeichnete Elemente oder Module)
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
25Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Übersetzung: CoDEX in XML-Schema
zunächst: – Modellprüfung und
– Modellvervollständigung dann Übersetzung:
– Darstellen der Adjazenzmatrix zum Graphen, in dieser sind die Knoten und ihre Kanten enthalten
– Übersetzung beginnt bei den Rootkonzepten
– im nächsten Schritt Übersetzung der Konzepten, von denen eine Kante zu den Rootkonzepten besteht
– Übersetzung erfolgt bis alle Knoten des Graphen übersetzt sind
– erzeugt wird Schema im Modellierungsstil Venetian Blind
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
26Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Weitere Eigenschaften des Entwurfstools
Reverse-Engineering ist möglich erster Schritt:
– Umwandlung eines Schemas in Modellierungsstil Venetian Blind
zweiter Schritt:– Erstellen des zugehörigen CoDEX-Modells (Verwenden
eines automatischen Layouts)
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
27Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
damit
verschiedene Entwurfsverfahren vorgestellt alle haben auch Nachteile
– entweder nicht alles darstellbar, was XML-Schema darstellen kann oder
– nicht einfach genug, weil zu detailliert bisher außer den XML-Editoren keine Methode etabliert
jetzt: weiterer Punkt, wenn zu XML-Dokumenten kein Schema bekannt ist, so kann dieses aus den Dokumenten abgeleitet werden
Verfahren dazu folgen anschließend
28Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Ableitung von Schema-Informa-tionen aus Dokumentkollektionen
Ableitung eines Schemas für ein oder mehrere gegebene XML-Dokumente
Reverse-Engineering
Beispielkollektion ausreichend groß und vielfältig Sonst ist die abgeleitete DTD zu speziell abgeleitete Schemabeschreibung soll durch einen
Anwender überprüft werden
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
29Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Schemaableitung (DTD)
Die folgenden 7 Folien stammen im Wesentlichen aus dem Hauptseminarvortrag von Matthias Brückner.
Mögliche Herangehensweisen Umwandlung der textuellen Repräsentation der
Dokumente (XTRACT) Betrachtung der Dokumente als XML–Trees (DTD-Miner)Eingabe Menge von XML-DokumentenAusgabe DTD für die gegebene Dokumentkollektion Ergebnis soll
– allgemein gehalten sein (für weitere XML-Dokumente), aber– auch speziell genug für die betreffende XML-Kollektion
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
30Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
DTD-Miner
DTD Generation Module– Document Tree Extraction Sub-Module
• Umwandlung der XML Dokumente in eine Baumstruktur
– Spanning Graph Construction Sub-Module• Zusammensetzen der Dokumentbäume zu einem
zusammenhängenden Graphen– DTD Construction Sub-Module
• Ableiten einer DTD aus dem zusammenhängenden Graphen
• Anwendung von Heuristiken
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
31Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
DTD-Miner (2)
XMLTrees– Elemente Knoten– Parent-Child Beziehungen gerichtete Kanten– Jeder Baum erhält eine Eindeutige DocID– Jedem Knoten wird eindeutige NodeID zugeordnet
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
32Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
DTD-Miner (3)
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
33Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
DTD-Miner (4)
Der zusammenhängende Graph– XMLTrees werden nacheinander zusammengelegt– Gleiche Childelemente auf gleichen Knoten abgebildet– Abspeichern der NodeIDs in den Knoten und in den
entspringenden Kanten– beim mehrfachen Auftreten eines Childelementes wird
eine zusätzliche Kante eingefügt
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
34Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
DTD-Miner (5)
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
35Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
DTD-Miner (6)
Heuristische Regeln
1. Define Optionality• Bestimmung, ob Element opional ist, oder nicht
2. Merge Repeat• Bestimmung sich wiederholender Alternativen
3. Define Group• Bestimmung sich wiederholender Gruppen
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
36Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
DTD-Miner (7)
optionales Element, wennfür alle Kanten, die zwischen zwei Knoten existieren gilt:die Vereinigung der Kantenlabels ist eine echte Teilmenge der Labels des Startknoten(der Zielknoten ist dann optional)
mehrfach auftretendes Element,Mehrere Kanten zwischen zwei Knoten
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
37Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
DTD-Miner (8)
Zur Bestimmung der optionalen Elemente:
• Zwischen Knoten a und d existiert eine Kante mit dem Kantenlabel 1. Die (Mengen-) Vereinigung aller Kantenlabels ist dann {1} und es gilt: {1} ⊂ {1,7}, also ist d optional.
• Weiteres Beispiel: Zwischen b und c existieren 3 Kanten, die Vereinigung der Kantenlabels ist {2,8} {2} {2} = {2,8} ∪ ∪Diese Menge ist keine echte Teilmenge der Knotenlables({2,8} {2,8}), ⊄damit ist das Element c nicht optional.
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
38Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Beispiel zur Schemaableitung /1
<buch>
<autor><vorname></vorname><nachname></nachname></autor>
<autor><vorname></vorname><nachname></nachname></autor>
<titel></titel>
<verlag></verlag>
<jahr></jahr>
</buch>
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
39Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Beispiel zur Schemaableitung /2
<buch>
<editor><vorname></vorname><nachname></nachname></editor>
<titel></titel>
<verlag></verlag>
<jahr></jahr>
<auflage></auflage>
</buch>
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
40Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Beispiel zur Schemaableitung /3
mehrfaches Auftreten: mehrfache Kanten zwischen zwei Knoten
optionales Auftreten: Kantenbeschriftung enthält nicht alle IDs des Knotens, von dem die Kante ausgeht
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
41Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Beispiel zur Schemaableitung /4
abgeleitete DTD<!ELEMENT buch (autor*, editor?, titel, verlag, jahr, auflage?)
<!ELEMENT autor (vorname, nachname)>
<!ELEMENT editor (vorname, nachname)>
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
42Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Teilaufgaben
XML-Dokumente
beschreibungSchema- Schema-
beschreibung
ÜberprüfungÄnderung
Erweiterung
AbleitungSchema-
durch Tools
durch denBenutzer
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
43Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Differenzen zwischen abgeleiteter DTD und Original-DTD
Original-DTD Abgeleitete DTD
zu spezieller Quantifizierer
<!ELEMENT buch
(.., editor*, ..).>
<!ELEMENT buch
(.., editor?, ...>)
fehlende Elemente
<!ELEMENT buch (..untertitel?..)>
anderes Inhaltsmodell
<!ELEMENT buch
( _ | _ | _ | _ )*>
<!ELEMENT buch
( _ , _ , _ , _)>
Ursache: • zu wenige XML-Dokumente, • enthalten nicht alle Spezialfälle der Anwendung
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
44Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Metriken - Motivation /1
Viele XML Anwendungen benötigen ein Schema,
es gibt verschiedene Möglichkeiten, es zu bekommen:
Benutzer kann dieses direkt definieren es kann mit Hilfe von Entwurfswerkzeugen
abgeleitet werden, z.B. aus einem ERM ein existierendes Schema kann verwendet (und
angepasst) werden es kann aus Beispiel-XML-Dokumenten abgeleitet
werden
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
45Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Metriken - Motivation /2
Evaluation des Schema
Dabei stellen sich Fragen wie: Ist das Schema einfach zu verstehen? Ist das Schema einfach zu verwenden? Ist das Schema einfach zu verändern?
Metriken versuchen, diese Fragen zu beantworten und
verschiedene Eigenschaften eines Schemas abzuschätzen
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
46Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Metriken - Motivation /3
Zwei Fragestellungen existieren:
1. Erfüllt ein Schema die Anforderungen einer Anwendung
2. Ist das Schema einfach zu verstehen/zu warten/..
Metriken beantworten (nur) die zweite Frage.
Schema1
Schema2
Metriken
XML
Anwendung
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
47Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Softwaremetriken
Verwendung von Metriken zur Qualitätsbewertung
Qualitätsmodell
Metriken
Merkmal
Teilmerkmal
ISO/IEC9126
FunktionalitätZuverlässigkeitBenutzbarkeitEffizienzÄnderbarkeitÜbertragbarkeit
Merkmale der ISO 9126
48Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Software Metriken
Die gleiche Methode gibt es im Bereich Software
Merkmale Untermerkmale Metriken
FunktionalitätZuverlässigkeitBenutzbarkeitEffizienzÄnderbarkeitÜbertragbarkeit
AnalysierbarkeitVeränderbarkeit StabilitätTestbarkeit
Verständlichkeit ErlernbarkeitBedienbarkeit
McCabe-Metrik
Fan-Out-Metrik
Halstedt Metrik
49Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Klassifikation von Software Metriken
Produktmetriken
bewerten das Schema von XML-Dokumenten Ressourcenmetriken
bewerten die Ressourcen, die zur Verarbeitung von XML-Dokumenten erforderlich sind
Prozessmetriken
bewerten den Entwurfsprozess eines Schemas
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
50Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Produktmetriken -1
Visualisieren einer DTD durch einen Graphen<!ELEMENT publications (book | article)*>
<!ELEMENT book (author, title, content)>
<!ATTLIST book isbn CDATA #REQUIRED>
<!ELEMENT article (title, author+,
content, conference)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT conference (#PCDATA)>
<!ELEMENT content (section+, references*)>
<!ELEMENT section (#PCDATA)>
<!ELEMENT references (publications)>
Ableitung von Produktmetriken aus dem Graphen
public.
section
conf.
ref.
contenttitleauthors
articlebook
isbn
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
51Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Produktmetriken - 2
Folgende Produktmetriken werden im nächsten Teil
vorgestellt: Größe Strukturkomplexität Strukturtiefe Fan-In Fan-Out
Sie bewerten die Eigenschaften Verwendbarkeit und
Änderbarkeit.
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
52Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Größe
Bewertet wird Anzahl der Knoten (Elemente, Attribute, Entities) Diese beeinflusst die Verständlichkeit und Verwendbarkeit
public.
section
conf.
ref.
contenttitleauthors
articlebook
isbn
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
53Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Strukturkomplexität
(Alle Merkmale, die ein Schema komplex machen)
Quantifizierer + und * same content elements Rekursionen und IDREF-Attribute
beeinflusst die Verständlichkeit und Verwendbarkeit
public.
section
conf.
ref.
contenttitleauthors
articlebook
isbn
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
54Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Strukturtiefe
Tiefe=0
Tiefe=1
Tiefe=2
Tiefe=3
Tiefe für jeden Knoten Maximale Tiefe des Graphen
beeinflusst Effizienz, Verwendbarkeit (Pfadlänge zur Adressierung von Elementen/Attribute hängt davon ab)
public.
section
conf.
ref.
contenttitleauthors
articlebook
isbn
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
55Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Fan-Out-Metrik
Anzahl von Kindknoten
Gibt an, welche Elementdeklarationen komplex sind beeinflusst die Verständlichkeit und Verwendbarkeit
public.
section
conf.
ref.
contenttitleauthors
articlebook
isbn
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
56Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Fan-In-Metrik
Anzahl der Vorgängerknoten
Wie oft wird ein Element wiederverwendet Beeinflusst die Veränderbarkeit eines Schemas
public.
section
conf.
ref.
contenttitleauthors
articlebook
isbn
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
57Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Produktmetriken für das Beispiel
Größe Komplexität Max Tiefe Max Fan-Out
Max-Fan-In
10 9 3 4 2
public. book isbn article title author conf. content section ref.
Tiefe 3 2 0 2 0 0 0 1 0 (Zyklus)
Fan-Out 2 4 0 4 0 0 0 2 0 1
Fan-In 1 1 1 1 2 2 1 2 1 1
Metriken des gesamten Schemas:
Metriken der einzelnen Elemente und Attribute
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
58Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Ressourcenmetriken
Bewerten die Ressourcen, die erforderlich sind, um Schema
auswerten zu können:
Speicherplatzbedarf Zugriff durch XPath (Zeit) Auswertung durch DOM-Prozessoren (Zeit, Speicherplatz) Auswertung durch SAX-Prozessoren (Zeit)
und damit die Eigenschaften Funktionalität und Effizienz
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
59Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Speicherplatzbedarf
Kurze Tagnamen (für Elemente und Attribute verringern den Speicherplatzbedarf)
Dieses Merkmal ist aber gegenläufig zur
Lesbarkeit,
sorgfältiges Abwägen beider Eigenschaften
Darstellung von Attributen ist kompakter als von Elementen
Keine tiefen Schachtelungen
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
60Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Zugriff durch XPath
Flache Hierarchien bedeuten auch keine langen Pfade zum Zugriff auf Elemente und Attribute (Eigenschaft Tiefe der Produktmetriken)
Wichtig ist, dass alle Informationen, die ausgewertet werden sollen, mit Markup versehen sind (feingranular getagt)
Beispiel (oder besser Gegenbeispiel)<preise>
Von Mai bis September 99 Euro, Im Winterhalbjahr ab 79 Euro.</preise>
Das ist bei Preisberechnungen nicht auswertbar
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
61Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Abschätzung XPath/XQuery-Anfragen
bestimmte Eigenschaften der Produktmetriken lassen sich einsetzen, um den Aufwand von XPath/XQuery-Anfragen abzuschätzen
Beispiel: – Tiefe = maximale Pfadlänge = Anzahl der einzelnen
Schritte = Anzahl der Joins bei generischer Speicherung
– Größe: Anzahl der zu speichernden Tupel bei generischer Speicherung
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
62Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Auslesen mit DOM- und SAX-Prozessoren
Attribute leichter als Elemente auslesbar
Besonders bei SAX wichtig:– Eindeutige Tagnamen, damit das Auslesen möglichst
unabhängig von den Umgebungsinformationen erfolgen kann
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
63Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Zusammenfassung
Hier gibt es noch sehr wenige Arbeiten Universelle Metriken sind schwer zu bestimmen Metriken sind besonders im Zusammenhang mit einer
Anwendung (Speicherung von XML, Anfragerealisierung, Transformation, ...) sinnvoll.
„Not everything that counts can be counted,
and not everything that can be counted counts.“
Albert Einstein
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
64Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Tools
Editoren (Transformation von Schemasprachen, Ableiten von Schema aus Dokumenten, Test der Gültigkeit bzgl. eines Schemas) XMLSpy (www.xmlspy.com) XML Authority (
www.extensibility.com/xml_resources/modeling.htm)
XML-Prozessoren XML Schema Quality Checker von IBM alphaworks (
www.alphaworks.ibm.com/tech/xmlsqc) XML Schema Validator von Oracle (technet.oracle.com
/tech/xml/)
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
65Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Literatur /1
XML Schema:– www.w3.org– „Web & Datenbanken“ – Erhard Rahm, Gottfried Vossen,
Kapitel 2 oder– Harald Schöning „XML und Datenbanken“– Eric van der Vilst: „XML Schema“
konzeptueller Entwurf– mit ER: Sebastian Dolke, Hauptseminar 2002– mit UML Alf-Christian Schering, Hauptseminar 2002– Kazakos et al: "Datenbanken und XML"– ...
XML-Editoren– Vergleich verschiedener Editoren: Mintert, Wilde, Behme: iX
(8)2002
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur
66Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
4) Generieren von XML-Dokumenten aus Datenbanken
Literatur /2
Schemaableitung „XTRACT: A System for Extracting Document Type
Descriptors from XML Documents“ – Minos Garofalakis, Aristides Gionis, Rajeev Rastogi, S. Seshadri, Kyuseok Shim
„DTD-Miner : A Tool for Mining DTD from XML Documents“Chuang-Hue Moh, Ee-Peng Lim, Wee-Keong Ng
Diplomarbeit: Christian Romberg Matthias Brückner, Hauptseminar 2002Metriken Sahuguet/Choi Diplomarbeit: Lars Schneider
- Vorteile der Modellierung- ERM- UML- Editoren- EMX- Reverse- Engineering- Metriken - Literatur