Klausur Semistrukturierte Daten und XML Sommersemester 2008 Prof. Dr. Wolfgang May 16. Juli 2008, Uhr Bearbeitungszeit: 90 Minuten

Ähnliche Dokumente
Klausur Datenbanken Wintersemester 2014/2015 Prof. Dr. Wolfgang May 27. Januar 2015, Uhr Bearbeitungszeit: 90 Minuten

Klausur Datenbanken Wintersemester 2009/2010 Prof. Dr. Wolfgang May 2. Februar 2010, Uhr Bearbeitungszeit: 90 Minuten

Klausur Datenbanken Wintersemester 2017/2018 Prof. Dr. Wolfgang May 26. Februar 2018, Uhr Bearbeitungszeit: 90 Minuten

Klausur Semistrukturierte Daten und XML Sommersemester 2011 Prof. Dr. Wolfgang May 14. Juli 2011, Uhr Bearbeitungszeit: 90 Minuten

Klausur Datenbanken Wintersemester 2015/2016 Prof. Dr. Wolfgang May 2. März 2016, Uhr Bearbeitungszeit: 90 Minuten

Klausur Datenbanken Wintersemester 2012/2013 Prof. Dr. Wolfgang May 6. Februar 2013, Uhr Bearbeitungszeit: 90 Minuten

Klausur: Internet-Technologien

Probeklausur Datenbanken und Informationssysteme II

Klausur Semistrukturierte Daten und XML Sommersemester 2009 Prof. Dr. Wolfgang May 16. Juli 2009, Uhr Bearbeitungszeit: 90 Minuten

Klausur Semistrukturierte Daten und XML Sommersemester 2007 Prof. Dr. Wolfgang May 19. Juli 2007, 13:30-15:30 Uhr Bearbeitungszeit: 90 Minuten

Klausur Datenbanken Wintersemester 2013/2014 Prof. Dr. Wolfgang May 29. Januar 2014, Uhr Bearbeitungszeit: 90 Minuten

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Klausur. Informatik 1 Wintersemester 2005/2006 Prof. Dr. Wolfgang May 4. April 2006, Uhr Bearbeitungszeit: 90 Minuten

Klausur Datenbanken Wintersemester 2011/2012 Prof. Dr. Wolfgang May 8. Februar 2012, Uhr Bearbeitungszeit: 90 Minuten

Klausur. Universität Augsburg, Institut für Informatik Sommersemester 2007 Prof. Dr. Werner Kießling 21. Juli (Suchmaschinen) Hinweise:

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Vorlesung Datenbanken I Endklausur

Name:... Matr.-Nr... Bearbeitungszeit: 120 Minuten. Lesen Sie die Aufgaben jeweils bis zum Ende durch; oft gibt es hilfreiche Hinweise!

1. Klausur Web-basierte Informationssysteme SS 2010

Frankfurt. Info und News. Geschrieben 26. Apr :22 Uhr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Vorlesung Dokumentation und Datenbanken Klausur

Klausur Informatik. Es sind keinerlei Hilfsmittel (Literatur, Taschenrechner, usw.) zugelassen.

1. Einführung 2. DTD 3. XML Schema 4. XPath 5. XSLT 6. XSL-FO 7. XQuery 8. Web Services 9. XML und Datenbanken

Informationssysteme für Ingenieure Herbstsemester 2016

Gruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis

Integrierte Anwendungssysteme XML - Übungsaufgabe

Klausur Datenbanken Wintersemester 2004/2005 Prof. Dr. Wolfgang May 10. Februar 2004, Uhr Bearbeitungszeit: 90 Minuten

Document Type Definition (DTD)

Praktische SQL-Befehle 2

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Datenbanken Wintersemester 2013/2014 Datenbanken 1 Sommersemester 2013/

Vorlesung Datenbanken I Zwischenklausur

Schlüssel. Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1

PROBEKlausur XML-Technologien, Sommersemester 2011 Matrikelnummer Vorname. korrigiert von Gesamtpunktzahl von 30 Note

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Klausur Algorithmen und Datenstrukturen I WS 05/06

PRÜFUNG IN SEMI-STRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Klausur. Softwareentwurf. 14. Februar 2011 Bearbeitungszeit: 120 Minuten

Datenbanken und Informationssysteme II

Kurzeinführung in XML. Was ist XML? Well-formed u. gültiges XML Erste Anwendung in XML Externe DTD Attribute und Entities Datenausgabe mit XSL

a) Erklären Sie, was die folgenden Eigenschaften eines XML-Dokumentes aussagen? wohlgeformt gültig

Übungen zu XML & Datenbanken

Musterlösung Übungsblatt 14

Datenbanken Vertiefung Wintersemester 2014/ Matrikelnummer: Hinweise. Unterschrift

Praktische SQL-Befehle

Klausur Semistrukturierte Daten und XML Sommersemester 2009 Prof. Dr. Wolfgang May 16. Juli 2009, Uhr Bearbeitungszeit: 90 Minuten

Vorlesung XML und Datenbanken Klausur

Eine Dokumenttypdefinition lässt sich im Kopfbereich des XML-Dokumentes (interne DTD) oder in einer separaten Datei formulieren (externe DTD).

Klausur. Softwareentwurf. 04. Februar 2013 Bearbeitungszeit: 120 Minuten

XML und Datenbanken Fortsetzung

XML Datenbanken Quickstart für die Anfragesprachen XPath und XQuery

Probeklausur Digitale Medien

Musterlösung des Übungsblattes 1

Datenbanken Vertiefung Wintersemester 2013/ Matrikelnummer: Hinweise. Unterschrift

Es handelt sich um die gängigste Auswahl an Abflughäfen weitere Abflughäfen auf Anfrage.

Hochschule Karlsruhe Technik und Wirtschaft Fakultät für Informatik und Wirtschaftsinformatik

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Endkontrolle Informatik-Propädeutikum (Ermel/Hartung/Nichterlein/Niedermeier, Wintersemester 2013/14)

Tutorial: Verwendung von Visual Studio 2005 als XML-Werkzeug

Datenbank und Tabelle mit SQL erstellen

Klausur Informatik II

Klausur zur Vorlesung Algorithmen und Datenstrukturen

Aufgabe Punkte

1. Einführung 2. DTD 3. XML Schema 4. XPath 5. XSLT 6. XSL-FO 7. XQuery 8. Web Services 9. XML und Datenbanken

Vorlesung Suchmaschinen Semesterklausur Sommersemester 2016

Linux I II III Res WN/TT NLTK XML Weka E XML BNC XSLT BNC/XML 7 BNC/XML XML BNC XSLT. Ressourcen-Vorkurs

Datenbanken und Informationssysteme II

APEX Datenverwaltung Wo sind die Daten gerade?

Semistrukturierte Daten

Trainingsmanagement Gutschein Management. Beschreibung

Lineare Algebra für Informatiker Abschlussklausur

web266.de 1/5 Erstellungsdatum ändern

Klausur Einführung in die Informatik I für Elektrotechniker 16. Juli 2003

Probeklausur Datenbanken und Informationssysteme II

Document Type Definitions (DTDs)

=GANZZAHL(69,5) =MITTELWERT(REST(8; 3);KÜRZEN(2,876;0)) ergibt =UND(ODER(2+2=4;3-2=1);WAHR)

Klausur Digitale Medien

Vorlesung Suchmaschinen Semesterklausur Sommersemester 2014

Prüfung Informatik für Ökonomen II. 14. Januar Teil 1: Datenbanktechnik Musterlösungen

PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Aufgabe Punkte Aufgabe Σ Punkte. Note:

Konzeptionelle Modellierung von XML-Dokumenttypen

Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 3. Februar 2006

Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis HANSER

APEX Datenverwaltung Wo sind die Daten gerade? Dr. Gudrun Pabst

Reservation Stohler Tours Produkt

Vorlesung Datenbanken I Nachklausur

KLAUSUR ZUM BACHELORMODUL PROBEKLAUSUR VORLESUNG COMPUTERLINGUISTISCHE ANWENDUNGEN PROBEKLAUSUR, DR. BENJAMIN ROTH KLAUSUR AM

Einführung in XML. Seminarunterlage. Version 3.05 vom

Klausur Informatik II. Sommersemester 2006

Klausur. Einführung in die Wirtschaftspolitik (AVWL III) O Bachelor O Diplom O

e-bag Kurzanleitung e-bag Grundfunktionen

Kryptologie. K l a u s u r WS 2006/2007, Prof. Dr. Harald Baier

Transkript:

Klausur Semistrukturierte Daten und XML Sommersemester 2008 Prof. Dr. Wolfgang May 16. Juli 2008, 10-12 Uhr Bearbeitungszeit: 90 Minuten Vorname: Nachname: Matrikelnummer: Bei der Klausur sind keine Hilfsmittel (Skripten, Taschenrechner etc.) erlaubt. Handies müssen ausgeschaltet sein. Papier wird gestellt. Benutzen Sie nur die ausgeteilten, zusammengehefteten Blätter für Ihre Antworten. Schreiben Sie mit blauem/schwarzem Kugelschreiber, Füller etc.; Bleistift ist nicht erlaubt. Zum Bestehen der Klausur sind 45 Punkte hinreichend. meine Note soll mit Matrikelnummer so bald wie möglich auf der Vorlesungs-Webseite veröffentlicht werden. meine Note soll nicht veröffentlicht werden; ich erfahre sie dann vom Prüfungsamt (bzw. für nicht von einem Prüfungsamt verwaltete Teilnehmer: beim Abholen des Scheins). Max. Punkte Aufgabe 1 (Entwurf, DTD) 23 Aufgabe 2 (XPath, XQuery) 22 Aufgabe 3 (XQuery oder XSLT) 15 Aufgabe 4 (XSLT) 20 Aufgabe 5 (Konzeptuelles) 10 Summe 90 Erreichte Punkte Note:

Name: MatNr.: Die Klausur behandelt die Datenbank einer Fluggesellschaft: Flugstrecken, Flugplan, Flugbuchungen. Gegeben sind die folgenden Dinge: Ein Rahmen (siehe letzte Seite, wird in Aufgabe 1 vervollständigt) Daten zu Flughäfen. Da diese prinzipiell von allen Fluggesellschaften benutzt werden, wird angenommen, dass alle Flughafendaten weltweit (mit eindeutigen Flughafencodes) von der IATA (International Air Transport Assoc.) vorgegeben sind. Neben den bereits eingefügten Flughäfen soll die Datenbasis die folgenden fluglinienspezifischen Informationen enthalten: die Flugstrecken der Gesellschaft: z.b. Flugnummer LH123 von FRA nach LIS, Abflug 12h30min, Ankunft 14h30min und Flugnummer LH124 von FRA nach JFK, Abflug 8h40min, Ankunft 11h20min (alle Zeiten geben die lokale Zeit an). Sommer- und Winterzeit werden nicht berücksichtigt. Annahme: Kein Flug geht über Mitternacht, d.h. alle Flüge landen an demselben Tag, an dem sie gestartet sind. Annahme: jede Flugstrecke wird täglich geflogen; hierzu sind also keine speziellen Daten notwendig. Für jeden Tag werden die Buchungen gespeichert. Buchungen werden, z.b. von Online-Web-Services etc., als XML-Fragmente in HTTP- Messages verschickt. Der Inhalt einer solchen Nachricht sieht folgendermaßen aus: <booking flight="lh123" firstname="john" name="doe" nationality="uk"> <date year="2008" month="07" day="16"/> </booking> Annahme: Name+Vorname identifizieren eine Person eindeutig. Aufgabe 1 (Entwurf, DTD [23 Punkte]) Überlegen Sie sich, wie Sie Flüge und Buchungen in der XML-Datenbasis ablegen möchten. Überlegen Sie sich, wie Sie am besten den Datentyp Zeit (für Anflugs- und Ankunftszeit) in XML repräsentieren, damit Sie darauf auch (zumindest ein bisschen) rechnen können. 1. Erweitern Sie das angegebene XML-Fragment entsprechend Ihren Überlegungen mit Beispieldaten zu Flügen und Buchungen. (8 P) 2. Geben Sie die DTD zu Ihrem Entwurf an. (15 P) 1

2

Name: MatNr.: Aufgabe 2 (XPath, XQuery [22 Punkte]) Bearbeiten Sie die folgenden Aufgabenteile (1) (4) entsprechend der von Ihnen entworfenen Datenbasis. Geben Sie zu jedem Aufgabenteil eine XPath- oder XQuery-Anfrage an, die das Ergebnis in dem jeweils angegebenen Format ausgibt (falls kein Format angegeben, beliebig). 1. Geben Sie einen XPath-Ausdruck an, der die Flugnummern aller Lufthansa-Flüge ausgibt, die John Doe im Juli 2008 gebucht hat. (3 P) 2. Geben Sie die Namen aller Flughäfen an, von denen man Albany (Code: ALB) mit genau einer Zwischenlandung erreichen kann. Die Ausgabe darf Duplikate enthalten (5 P). 3. Geben Sie die Namen aller Flughäfen an, von denen man alle portugiesischen Flughäfen (Landescode: P ) direkt erreichen kann. (5 P) 4. welche Passagiere fliegen am 16.7.2008 aus einem anderen Land in die USA, und am nächsten Tag mit einem Inlandsflug weiter? Geben Sie die Namen der Passagiere sowie die Flugnummern an (9 P). 3

4

Name: MatNr.: Aufgabe 3 (XQuery oder XSLT [15 Punkte]) Es soll eine HTML-Tabelle (Flugnummer, Start, Ziel) erstellt werden, die genau diejenigen Flüge enthält, die mindestens 8 Stunden dauern. 1. Diese Frage dient der Vorüberlegung und ist nicht in XQuery zu beantworten, sondern einfach mit einem Wert: Wieviel Uhr ist es in Frankfurt, wenn Flug LH123 in Lissabon landet? (2 P) 2. Geben Sie eine XQuery-Anfrage oder ein XSLT-Stylesheet an, das die gewünschte Tabelle erzeugt. (13 P) 5

6

Name: MatNr.: Aufgabe 4 (XSLT [20 Punkte]) Jede Fluggesellschaft muss für ihre Flüge, die auf einem US-amerikanischen Flughafen landen, zwei Tage vorher einen Report übermitteln, der diese Flüge mit den Namen aller Passagiere gemäß folgender DTD enthält: <ELEMENT airlinereport (name, flight+)> <ATTLIST airlinereport month CDATA #REQUIRED day CDATA #REQUIRED year CDATA #REQUIRED> <ELEMENT name (#PCDATA)> <!-- name of the airline that submits the report --> <ELEMENT flight (person+)> <ATTLIST flight code ID #REQUIRED> <ELEMENT person (givenname, familyname, nationality)> <ELEMENT givenname (#PCDATA)> <ELEMENT familyname (#PCDATA)> <ELEMENT nationality (#PCDATA)> 1. Geben Sie ein kurzes charakteristisches XML-Fragment an, wie dieser Report für die Lufthansa aussieht. (3 P) 2. Schreiben Sie ein XSLT-Stylesheet, das z.b. mit saxonxsl -s lufthansa.xml -xsl makeusreport.xsl month=07 day=16 year=2008 aufgerufen wird und für den angegebenen Tag den entsprechenden Report der Lufthansa entsprechend Ihrer Datenbasis erstellt. (17 P) 7

8

Name: MatNr.: Aufgabe 5 (Konzeptuelles [10 Punkte]) In einer deklarativen Datenbank-Sprache kann man nicht nur Anfragen stellen, sondern auch Daten ändern, löschen und einfügen. Letzteres geschieht z.b. in SQL durch das Konstrukt UPDATE table_name SET attribute = new_value WHERE condition. Welche Informationen muss eine solche Sprache (denken Sie z.b. an eine Ergänzung zu XQuery) zum Einfügen, Löschen, oder Ändern von Werten in XML-Dokumenten ausdrücken können? Wie würden Sie in einer solchen Sprache eine Flugplanänderung, z.b. die Ankunftszeit von LH123 auf 14:40 Uhr zu setzen, ausdrücken? 9

10

Name: MatNr.: Trennen Sie diese Seite ggf. ab, um damit die restlichen Aufgaben bearbeiten zu können (Kopien dieses Blattes sind verfügbar; versehen Sie diese bitte zuerst mit Ihrem Namen). <lufthansa> <airport code="fra" city="frankfurt/main" country="d" timezone="+1"> <name>rhein-main-flughafen Frankfurt</name> </airport> <airport code="lon" city="london" country="gb" timezone="0"> <name>london Heathrow</name> </airport> <airport code="lis" city="lisbon" country="p" timezone="0"> <name>lisboa Portela</name> </airport> <airport code="jfk" city="new York" country="usa" timezone="-5"> <name>john F. Kennedy Airport New York</name> </airport> <airport code="alb" city="albany" country="usa" timezone="-5"> <name>albany International Airport</name> </airport> <!-- weitere Flughaefen --> 11