MARTIN-LUTHER-UNIVERSITÄT HALLE-WITTENBERG XML UND DATENBANKEN
Institut für Informatik Wintersemester 2016/17
Prof. Dr. Stefan Brass [StudIP: Vorlesung]

 

 

XML und Datenbanken

Ablauf (Planung der zeitlichen Aufteilung)

Hier wird eine ungefähre Übersicht gegeben, wann welcher Stoff behandelt werden soll. Im Laufe des Semesters ist beabsichtigt, die Liste zu aktualisieren, und den tatsächlich behandelten Stoff einzutragen. Selbstverständlich sind alle Angaben unverbindlich.

Tatsächlicher Ablauf:

1. Dienstag, 11.10.2016:
Kapitel 0: Informationen zur Vorlesung / Organisatorisches (Folie 0-1 bis 0-32)
Kapitel 1: XML Syntax (Folie 1-1 bis 1-7)
Bedeutung von XML, XML vs. SGML, DTDs, well-formed vs. valid XML, Einführung in XML-Syntax anhand von Beispielen, Elemente, Tags, Visualisierung von XML als Baum.
2. Dienstag, 18.10.2016:
Kapitel 1: XML Syntax (Folie 1-8 bis 1-60, 1-64)
XML zur Archivierung von Daten aus relationalen Datenbanken. Weitere Beispiele, Wiederholung zu Elementen, Attribute, Zeichensatz, Unicode, Utf-8, Zeichenreferenzen, Kommentare, Document Type Definitions (DTDs): Element-Deklarationen, Inhalts-Spezifikationen (Content Models), Attribut-Deklarationen,
3. Dienstag, 25.10.2016:
Kapitel 1: XML Syntax (Folie 1-60 bis 1-126)
Datentypen für Attribute. Well-formed vs. Valid, DOCTYPE Deklaration, XML Deklaration, Allgemeiner Aufbau einer XML Datei, Übersicht zu Entities, Vordefinierte General Entities, Marked Sections.
Kapitel 2: Designing XML DTDs (Folie 2-1 bis 2-41)
Übersetzung von Entity-Typen/Tabellen nach XML. Übersetzung von Relationships nach XML.
3b. Donnerstag, 27.10.2016 (Teil der Übung):
Kapitel 2: Designing XML DTDs (Folie 2-38 bis 2-41)
Übersetzung von viele-zu-viele Beziehungen nach XML, Übersetzung beliebiger ER-Diagramme nach XML.
Kapitel 2: XML Namespaces (Folie 3-1 bis 3-23)
Motivation, Lokaler Name und Namespace URI, Präfix, Deklaration von Präfixen, Default-Namespace, Gleichheit von Namespaces.
4. Dienstag, 01.11.2016:
Kapitel 4: XML Schema (Folie 4-1 bis 4-37)
Erstes Beispiel zu XML Schema. Verschiedene Schema-Stile, "Salami Slice" Stil, "Russian Doll" Stil, "Venetian Blind" Stil, globale und lokale Deklarationen, Element-Deklarationen und Typ-Deklarationen.
5. Dienstag, 08.11.2016:
Kapitel 4: XML Schema (Folie 4-38 bis 4-113)
"Simple Types" in XML Schema, eingebaute simple Types, "Constraining Facets" (Integritätsbedingungen zur Enschräkung von Datentypen), String-Datentypen, Aufzählungstypen, Reguläre Ausdrücke (für pattern-Facet), Zahl-Datentypen, Datumsangaben, Definition von Union-Typen und Listen-Typen.
6. Dienstag, 15.11.2016:
Kapitel 4: XML Schema (Folie 4-114 bis 4-199)
Übersicht und Referenz für die Definition von Typen, Elementen und Attributen in XML Schema. Vorstellung verschiedener Möglichkeiten für Subklassen. Schlüssel, XPath-Teilmenge zur Schlüssel-Definition (kurz), Fremdschlüssel (sehr kurzer Ausblick).
7. Dienstag, 22.11.2016:
Kapitel 4: XML Schema (Folie 4-173 bis 4-207)
Diskussion über Möglichkeiten zur Repräsentation von Subklassen in XML Schema, Schlüssel und Fremdschlüssel in XML Schema. Beispiel zur Darstellung von Subklassen anhand der Folien meines Vortrags auf der Wissenschaftsnacht 2007.
Kapitel 5: XPath/XQuery Data Model (Folie 5-1 bis 5-47)
Einührung: Externe und interne Repräsentation, Beziehung verschiedener Standards für Baum-Darstellungen von XML (XML Infoset, XPath/XQuery Data Model, DOM). Syntaktische Details, die beim Parsen verloren gehen. Atomare Werte, Knoten, Items, Sequenzen, Arten von Knoten (Subklassen), Eigenschaften und Zugriffsfunktionen.
8. Dienstag, 29.11.2016:
Kapitel 5: XPath/XQuery Data Model (Folie 5-45 bis 5-89)
Wiederholung zu Leerplatz zwischen Elementknoten. Probleme mit Namespace-Knoten. Probleme mit pattern-facet. Unterschied der Baumstruktur ohne/mit Validierung. Dokument-Ordnung von Knoten. String-Value und Typed Value.
Kapitel 6: XPath (Folie 6-1 bis 6-64)
XPath: Einführung, Möglichkeiten zum Ausprobieren von XPath-Anfragen, Kontext für Auswertung von XPath-Anfragen, Einführung zu ausfürlicher und abgekürzter Syntax, Pfadausdrücke, Auswertung von E1/E2, Achsen von XPath, Knotentests (Namentests und Typ-Tests), Prädikate: Auswertung von E1[E2].
9. Dienstag, 06.12.2016:
Kapitel 6: XPath (Folie 6-64 bis 6-113)
Wiederholung zu Kontext, Achsen, Namenstests, Typ-Tests. Prädikate, effektiver boolescher Wert. Volle Syntax (Achsenschritte), Abkürzungen. Aufgabe/Beispiel. Lexikalische Syntax. Sequenz-Konstruktor ",". Konstruktion numerischer Bereiche mit "to". Mengenoperationen. Atomisierung. Vergleichsoperatoren: Wertvergleich, Knotenvergleich, allgemeine Vergleichsoperatoren. Überraschungen beim Vergleich (Verletzungen der Transitivität, gleichzeitig = und !=). Arithmetische Operatoren, Logische Operatoren, some, every. for-Schleifen.
10. Dienstag, 13.12.2016:
Kapitel 6: XPath (Folie 6-110 bis 6-191)
Diskussion über Deklarativität des for-Konstruktes (und Parallelisierungsmöglichkeiten). for, if, Wiederholung und Übersicht über Operatoren (Prioritäten), Datentypen: cast as, castable as, Konstruktor-Funktionen, instance of (Typ-Test), treat as (Typ-Zusicherung), XPath-Funktionen (Einführung und Übersicht), Knoten-Eigenschaften, Lokalisation von Knoten, Funktionen für Sequenzen, unordered, Aggregations-Funktionen.
11. Dienstag, 03.01.2017:
Kapitel 7: XQuery (Folie 7-1 bis 7-50)
Motivation: Allgemeine Überlegungen zu Anfragesprachen, Einschränkungen von XPath. Geschichtliches. XQuery vs. XSLT. XQuery Implementierungen. Erstes Beispiel, FLWOR-Ausdrücke, Unterschiede zu SQL, Schachtelung. Vergleich der Grammatik von XPath und XQuery, typeswitch. Direkte Konstruktoren für XML/XDM-Knoten. Boundary whitespace, preserve vs.&mnsp;strip.
12. Dienstag, 10.01.2017:
Kapitel 7: XQuery (Folie 7-51 bis 7-90)
Wiederholung: XQuery vs. XPath, Beispiel XQuery-Anfrage mit for...where...return..., Direkte Konstruktoren und {...}, Kopieren von Knoten von der Eingabe in die konstruierten Knoten, Berechnete Konstruktoren, FLWOR-Ausdrücke mit allen Details, Unterschied for und let, Reihenfolge der konstruierten Variablenbelegungen, where-Klausel (Filter für Variablen-Belegungen), return Klausel (Berechnung des Anfrage-Ergebnisses), Positions-Variablen mit "at" in der for-Klausel, Typ-Angabe mit "as" in for- und let-Klausel, Ordering Mode (ordered und unordered), order by-Klausel.

Planung (unverbindlich):

13. Dienstag, 17.01.2017:
14. Dienstag, 24.01.2017:
15. Dienstag, 31.01.2017:

 


Stefan Brass (brass@informatik.uni-halle.de), 03. Januar 2017

Original URL: http://www.informatik.uni-halle.de/~brass/xml16/ablauf.html   [XHTML 1.0 Checked]   [CSS Checked]   [Links Geprüft]   [Impressum]