Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik

Ähnliche Präsentationen


Präsentation zum Thema: "1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik"—  Präsentation transkript:

1 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de www.xml-und-datenbanken.de

2 2 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken n Nachtrag zur merkwürdign Syntax von union: n korrekt ist:

3 3 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken n nächster Nachtrag: n folgende Facets können direkt bei den Elementdeklarationen definiert werden: –default –fixed –(id) –maxOccurs –minOccurs –nillable –(ref)eingeklammert, weil keine facets, können aber als Attribute auftreten

4 4 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Inhalt Teil 1: n Einführung n Explizite Schemadefinition –Vorteile eines expliziten Schemas –Methoden zur Darstellung von Schemata DTDs, XML Schema Teil 2: n konzeptuelle Modellierung –Vorteile einer Modellierung –Methoden zur konzeptuellen Modellierung n Ableitung von Schemainformationen aus XML-Dokumenten n Metriken n Weiterführende Literatur Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

5 5 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Vorteile einer expliziten Struktur n Explizitmachen der Struktur (für Anwendungen und Applikationen) n Erkennung und dadurch Vermeidung von Fehlern in den XML-Dokumenten Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

6 6 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Schemata für XML-Dokumente n DTDs –(aus SGML, einfach, kompakt, gut lesbar, aber keine XML-Syntax) n XML Schema –(wesentlich mehr Darstellungsmöglichkeiten, Datentypen, exakte Kardinalitäten,...) Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

7 7 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Document Type Definitions /1 Deklaration von Elementen und Attributen n Elementen können aus –einer Sequenz von Elementen (A,B), –einer Alternative von Elementen (A|B) –mit einer angegebenen Wiederholung (A?, A+, A*), möglich ist: Minimum 0 oder 1, Maximum 1 oder n –#PCDATA –mixed content (#PCDATA | A | B)* –Inhaltsmodell ANY oder EMPTY, sowie –beliebigen Kombinationen (Gruppierungen) aus den oberen Möglichkeiten n bestehen. n Den Elementen können Attribute zugeordnet sein. Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

8 8 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Document Type Definitions /2 Attribute haben n einen Attributnamen, n eine Typangabe (CDATA, NMTOKEN, NMTOKENS, ID, IDREF, IDREFS, ENTITY oder eine Aufzählung), n eine Angabe, ob Attribute immer auftreten müssen oder optional sind (#REQUIRED, #IMPLIED, #FIXED) sowie einen Defaultwert. Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

9 9 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken XML Schema /1 n seit Mai 2001 als Empfehlung des W3C verabschiedet n enthält drei Teile: –Einführung –Strukturen sowie –Datentypen n XML Schema enthält wesentlich umfangreichere Darstellungsmöglichkeiten als DTDs. Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

10 10 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken XML Schema /2 n vielfältige vordefinierte Datentypen, n die Möglichkeit zur Definition eigener Datentypen, n umfangreiche Darstellungsmöglichkeiten, n die Möglichkeit, Integritätsbedingungen darzustellen, die die Korrektheit der XML-Dokumente beschreiben, sowie n XML-Syntax. Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

11 11 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken XML Schema /3 n Enthält Definitionen und Deklarationen n Mit den Definitionen werden neue Typen (einfache oder komplexe) erzeugt, n Deklarationen beschreiben das Inhaltsmodell von Elementen und Attributen. Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

12 12 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Einschub: Namensräume Namensräume in XML: n XML-Namensräume bieten eine einfache Möglichkeit, um n Element- und Attributnamen, die in "Extensible Markup Language"- Dokumenten verwendet werden können, eindeutig zu benennen. n die Element- und Attributnamen werden mit Namensräumen verknüpft, die durch URI-Verweise identifiziert werden. Namensraum in XML-Schema: n jedes Element im Schema hat das Präfix xs: n ist assoziiert mit: xmlns:xs="http://www.w3.org/2001/XMLSchema" n dasselbe Präfix (also auch dieselbe Assoziation) steht bei den Namen der vordefinierten einfachen Typen, Beispiel: xs:string n Grund: –Namensraum wird den Elementen und einfachen Typen dem XML Schema-Vokabular zugeordnet –keine Zuordnung zum Vokabular des XML-Schema, das der Autor festlegt Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

13 13 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Beispiel … Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

14 14 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Einfache Typen n Einfache Typdefinitionen können vordefiniert oder benutzerdefiniert sein. n Eine Vielzahl von Standardtypen (string, boolean, float, integer, decimal, time, date, u.v.m.) ist vordefiniert, vgl. Abbildung n Einfache Datentypen sind die Basis aller anderen Typen. Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

15 15 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Typhierarchie von XML Schema Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

16 16 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Beispiele für die Definition einfacher Typen /1 n Definition einer Ortsangabe als String der Länge 30 Definition einer Angabe kategorie im Bereich zw. 1 und 5 Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

17 17 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Beispiele für die Definition einfacher Typen /2 Definition einer Hausnummer als Zahl, der ein Buchstabe folgen kann Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

18 18 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Benutzerdefinierte Typen n basieren auf den vordefinierten Datentypen n durch sogenannte facets werden Eigenschaften definiert, die die Typen weiter einschränken n facets definieren Eigenschaften über einem Datentyp, die ihn von anderen Datentypen unterscheiden. –lenght, minLenght, maxLength, –pattern, enumeration, –whitespace, sowie –minExclusive, maxExclusive, minInclusive, maxInclusive. Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

19 19 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Benutzerdefinierte Typen – Beispiel n Definition einer Adresse Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

20 20 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Typhierarchien n Es gibt zwei verschiedene Vererbungsstrategien n Extension – Erweiterung eines bestehenden Typs n Restriction – Einschränkung eines bestehenden Typs Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

21 21 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Listen- und Vereinigungstypen n List - Liste von durch Leerzeichen getrennten Elemente n Beispiel: n Union – Vereinigung von Wertebereichen n Beispiel:... Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

22 22 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Vereinigungstypen Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung......

23 23 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Attributdeklaration Attributdeklarationen beinhalten n einen Namen, n einen (einfachen) Typ, (vordefiniert oder benutzerdefiniert) n eine Angabe, wie das Attribut verwendet wird (use), möglich sind die Werte optional, required und fixed n sowie einen optionalen Defaultwert (value). Wenn das Attribut use=´fixed´ gesetzt ist, so gibt der Defaultwert den Wert an, den das Attribut immer annimmt. Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

24 24 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Beispiel zur Attributdeklaration <xs:attribute name="url" type="xs:string" use="required"/> <xs:attribute name="creation-time" type="xs:string" use="optional"/> <xs:attribute name="autor" type="xs:string" use="required"/> Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

25 25 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Deklaration von Attributgruppen Attributgruppen sind bei mehrfacher Verwendung der gleichen Attribute sinnvoll. Beispiel: <xs:attribute name="waehrung" type="xs:string" use="required"/> <xs:attribute name="betrag" type="preis" use="required"/> Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

26 26 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Elementdeklaration Elementdeklarationen enthalten n einen Namen (name) oder eine Referenz (ref) auf eine andere Elementdeklaration n sowie einen Typ (type) n Es können Default- und Fixed-Werte (default, fixed) angegeben werden sowie n die Häufigkeit des Auftretens eines Elementes (minOccurs, maxOccurs) definiert werden. n Weiterhin kann durch nilable definiert werden, dass das Element leer sein kann. Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

27 27 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Beispiele zur Elementdeklaration /1 // Deklaration eines Hotelnamens // Deklaration einer (optional auftretenden) Kategorie <xs:element name="Kategorie" minOccurs="0" maxOccurs="1" type="kategorie"/> // Deklaration einer Adresse als Verweis auf eine andere Elementdeklaration Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

28 28 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Beispiel zur Elementdeklaration /2 … <xs:element name="Vorwahl" minOccurs="0" maxOccurs="1" type="xs:string"/> <xs:element name="Rufnummer" minOccurs="1" maxOccurs="1" type="xs:string"/> Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

29 29 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Inhaltsmodelle- Gruppierungen n Mögliche Gruppierungen: –sequence(ähnlich DTDs) –choice(ähnlich DTDs) –all alle Elemente dürfen in beliebiger Reihenfolge auftreten darf keine anderen Gruppen enthalten der Wert für maxOccurs darf für die darin enthaltenen Elemente nicht größer als 1 werden Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

30 30 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Gruppierung, Beispiele /1 <xs:element name="Vorwahl" minOccurs="0" maxOccurs="1" type="xs:string"/> <xs:element name="Rufnummer" minOccurs="1" maxOccurs="1" type="xs:string"/> Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

31 31 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Gruppierung, Beispiele /2 Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

32 32 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Definition von Integritätsbedingungen definiert Bedingungen, die in den XML-Dokumenten erfüllt sein müssen. Möglich sind: n Eindeutigkeitsbedingung (unique) n Schlüssel (key) n sowie Referenzen auf Schlüssel (keyref). Die Definition der Elemente und Attribute, auf die eine Integritätsbedingung angewendet werden soll, erfolgt über einen XPath-Ausdruck. Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

33 33 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Beispiele n selector gibt eine Knotenmenge an, die eindeutig sein soll. n Mit field wird relativ dazu angegeben, auf welchem Elementwert oder Attribut die Eindeutigkeit getestet werden soll. Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

34 34 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Definition globaler Typen Typdefinitionen können global erfolgen. n zugeordneter Bezeichner existiert n Typdefinitionen können mehrfach verwendet werden. Typen können auch die Basis für andere Typdefinitionen sein. Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

35 35 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Beispiel für globale Deklarationen Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

36 36 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Definition lokaler Typen Typdefinitionen können lokal erfolgen. n zugeordneter Bezeichner existiert nicht n Definitionen sind dementsprechend nicht mehrfach verwendbar. Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

37 37 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Beispiel zur Definition lokaler Typen Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

38 38 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Modellierungsstile Typdefinitionen und Deklarationen können global oder lokal erfolgen. globale Definitionen und Deklarationen: n zugeordneter Bezeichner existiert n mehrfache Verwendung möglich n Typen können auch die Basis für andere Typdefinitionen sein. lokale Definitionen und Deklarationen: n zugeordneter Bezeichner existiert nicht n Definitionen sind dementsprechend nicht mehrfach verwendbar. Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

39 39 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Russian Doll (Matrjoschka) Design...... Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

40 40 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Salami Slice Design............ Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

41 41 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Venetian Blind Design............ Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

42 42 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Eigenschaften der Modellierungsstile n Matrjoschka-Design –Alle Typdefinitionen und alle Deklarationen erfolgen lokal (tief geschachtelt) –Wiederverwendung nicht möglich n Salami Slice –Global Element- und Attributdeklarationen –Verwendung dieser durch ref –Wiederverwendung möglich n Venetian Blind –Alle Informationen werden in globalen Typdefinitionen festgelegt –Diese Typen können die Basis für weitere Typen sein –Aus Sicht der Wiederverwendung beste Methode Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

43 43 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Verwendung von Elementen oder Attributen (DTD) Elemente n Quantoren 1/?/+/* n Alternativen n keine Defaultwerte n keine Aufzählungstypen n geeignet für komplexere Informationen n Einsatz für Darstellung von Daten Attribute n #REQUIRED/ #IMPLIED n keine Alternativen n Defaultwerte n Aufzählungstypen n geeignet für strukturierte und wenig detaillierte Informationen n Einsatz für Darstellung von Metadaten Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

44 44 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Verwendung von Elementen oder Attributen (XML Schema) Elemente n minoccurs, maxoccurs n Alternativen n Defaultwerte mgl. n Aufzählungstypen mgl. n geeignet für komplexere Informationen n Einsatz für Darstellung von Daten Attribute n required, implied n keine Alternativen n Defaultwerte n Aufzählungstypen n geeignet für strukturierte und wenig detaillierte Informationen n Einsatz für Darstellung von Metadaten Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

45 45 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Modularer Entwurf /1 n Schemata lassen sich zusammensetzen n include/import- Mechanismus n Beispiel: Im XML-Schema telephone_bill.xs definiert Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

46 46 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Modularer Entwurf /2 n Einige Anpassungen sind mit redefine möglich, z.B. –Ergänzen von Elementen und Attributen –Einschränken des Wertebereiches (durch facets) n Beispiel: Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung

47 47 Meike Klettke Universität Rostock Vorlesung XML und Datenbanken 4) Generieren von XML-Dokumenten aus Datenbanken Zusammenfassung n Nach der Einführung der Methoden zur Schemadarstellung folgen in der nächsten Vorlesung die Methoden zur konzeptuellen Modellierung Einleitung DTDs XML-Schema - Typen - Attribute - Elemente - Modellierungsstile Zusammenfassung


Herunterladen ppt "1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik"

Ähnliche Präsentationen


Google-Anzeigen