XML (EXTENSIBLE MARKUP LANGUAGE) WI Übung "Daten-, Informations- und Wissensmanagement" (MW31.3) | Lisa Wenige | WS 2016/17 Wahr oder Falsch? a) b) c) d) e) f) WI XML ist eine Auszeichnungssprache. XML ist plattformabhängig. XML eignet sich nicht zur Abbildung hochgradig strukturierter Daten. XML eignet sich als Austauschformat. Wohlgeformte XML-Dokumente sind syntaktisch nicht korrekt. XML-Dokumente lassen sich in einer Baumstruktur abbilden. Übung "Daten-, Informations- und Wissensmanagement" (MW31.3) | Lisa Wenige | WS 2016/17 2 Büchersammlung als XML-Datenbank Zeichnen Sie einen Dokumentenbaum für das XML-Dokument <?xml version="1.0" encoding="UTF-8"?> <books> <book number="b1"> <title>How to Build a Digital Library</title> <authors> <author> <first_name>Ian H.</first_name> <family_name>Witten</family_name> </author> <author> <first_name>David</first_name> <family_name>Bainbridge</family_name> </author> </authors> <year>2003</year> <publisher>Morgan Kaufmann Publishers</publisher> <isbn>1-55860-790-0</isbn> WI </book> <book number="b2"> <title>Understanding Digital Libraries</title> <edition>2</edition> <authors> <author> <first_name>Michael</first_name> <family_name>Lesk</family_name> </author> </authors> <year>2005</year> <publisher>Morgan Kaufmann Publishers</publisher> <isbn>1-55860-924-5</isbn> </book> </books> Übung "Daten-, Informations- und Wissensmanagement" (MW31.3) | Lisa Wenige | WS 2016/17 3 Strukturierung von XML-Daten Erstellen Sie eine XML-Datenbank mit zwei Ihrer Lieblingsfilme. Die Datenbank soll folgende Informationen enthalten: – Titel des Films – – – – WI Regisseur Veröffentlichungsdatum Drehbuchautor (Schauspieler) Übung "Daten-, Informations- und Wissensmanagement" (MW31.3) | Lisa Wenige | WS 2016/17 4 XML Schema a) Wofür gibt es XML Schema? b) Mit welcher Komponente eines RDBMS ist XML Schema vergleichbar? c) Was beschreibt das folgende XML Schema? Erstellen Sie ein mögliche Instanz. <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> WI Übung "Daten-, Informations- und Wissensmanagement" (MW31.3) | Lisa Wenige | WS 2016/17 5 Wohlgeformtheit und Validität von XML-Dokumenten a) Überlegen Sie, ob das Dokument wohlgeformt ist und korrigieren Sie ggf. die Fehler. b) Wie könnte ein mögliches XML Schema für den von Ihnen korrigierten XMLDatensatz aussehen? Welche Elemente müssten enthalten sein? c) Rufen Sie die folgende Seite auf: http://www.freeformatter.com/xsdgenerator.html d) Lassen Sie sich automatisch ein XML Schema für Ihren Datensatz erstellen WI Übung "Daten-, Informations- und Wissensmanagement" (MW31.3) | Lisa Wenige | WS 2016/17 6 Wohlgeformtheit und Validität von XML-Dokumenten Gegeben sei das folgende XML-Dokument: <?xml version="1.0" encoding="UTF-8"> <!-- Hier steht ein Kommentar > <adressen> <person id="1" id="HRichter" > <titel></titel> </name><vorname>Hans Peter<nachname>Richter</nachname></vorname></name> <adressen> <adresszeile1>Poststrasse 20 <adresszeile2> <plz>10178</plz> <ort>Berlin</ort> </adressen> <person> </adressen> WI Übung "Daten-, Informations- und Wissensmanagement" (MW31.3) | Lisa Wenige | WS 2016/17 7 Beispiel-Klausuraufgabe Gegeben sind die folgenden Tabellen einer relationalen Datenbank einer Universitätsbibliothek: NutzerID Name Geschlecht Geb.-datum Rolle 3458 Müller m 1990-11-20 Student 3459 Reuters w 1989-01-02 Student AusleihID NutzerID BuchID von bis 3460 Schmidt m 1962-05-11 Professor 1 3463 2 2016-07-24 2016-08-24 3461 Wilhelm w 1988-05-12 Student 2 3458 1 2016-11-25 2016-12-25 3462 Fischer m 1991-03-03 Student 3 3458 2 2016-11-25 2016-12-25 3463 Weber w 1982-12-06 Mitarbeiter 4 3458 3 2016-11-30 2016-12-30 5 3463 4 2016-12-03 2017-01-03 6 3461 6 2016-12-15 2017-01-15 7 3461 7 2016-12-15 2017-01-15 8 3463 8 2016-12-15 2017-01-15 9 3459 5 2016-12-01 2017-01-15 Tabelle: Nutzer BuchID Titel Autor Jahr 1 MySQL Fischer 2000 2 XML Koch 2002 3 Geo-DB Bauer 2009 4 HTML Richter 2009 5 ACID Klein 2004 6 PHP Wolf 2008 7 SQL Schwarz 2003 8 OLAP Baum 2012 Tabelle: Ausleihe Tabelle: Buch WI Übung "Daten-, Informations- und Wissensmanagement" (MW31.3) | Lisa Wenige | WS 2016/17 8 Beispiel-Klausuraufgabe • Beschreiben Sie kurz umgangssprachlich den Sinn der folgenden SQL-Abfrage und bestimmen Sie die Ergebnistabelle der Abfrage für die oben dargelegte Datenbank (3P): SELECT Nutzer.NutzerID, Nutzer.Name, count(Auseihe.NutzerID) FROM Nutzer, Ausleihe WHERE Nutzer.NutzerID = Ausleihe.NutzerID GROUP BY (Nutzer.NutzerID) HAVING COUNT (Ausleihe.NutzerID) > 1; • • WI Erstellen Sie einen SQL-Befehl zur Erweiterung der Tabelle Nutzer um die E-Mail-Adresse (email) (1P) Erklären Sie kurz den Zweck bzw. Unterschiede von Triggern sowie Stored Procedures in relationalen Datenbanken (2P) Übung "Daten-, Informations- und Wissensmanagement" (MW31.3) | Lisa Wenige | WS 2016/17 9