Title | Klausur Sommersemester 2012, Fragen und Antworten |
---|---|
Course | XML |
Institution | Frankfurt University of Applied Sciences |
Pages | 14 |
File Size | 287 KB |
File Type | |
Total Downloads | 136 |
Total Views | 183 |
Aufgabe 1 (Datenbanksysteme und XML) (4 + 2 + 4 = 10 Punkte)Zur Verwaltung der Notenergebnisse speichert ein Institut die Noten bisher in eine strukturierte Textdatei (Noten), die den folgenden zeilenweisen Aufbau besitzt:Matrikelnummer;Vorname;Nachname;Klausurname;Semester;NoteBeispielsweise sieht ...
Datenbanksysteme und XML
SS 2012
Aufgabe 1 (Datenbanksysteme und XML)
Matr.-Nr.:
(4 + 2 + 4 = 10 Punkte)
Zur Verwaltung der Notenergebnisse speichert ein Institut die Noten bisher in eine strukturierte Textdatei (Noten.txt), die den folgenden zeilenweisen Aufbau besitzt:
Matrikelnummer;Vorname;Nachname;Klausurname;Semester;Note Beispielsweise sieht eine Zeile also folgend aus:
12345;Max;Müller;DBSXML;WS11_12;3.3 Diese Informationen sollen nun in einer relationalen Datenbank gespeichert werden. Hierzu wurde dieses Relationsschema vorgeschlagen:
noten: NOTEN(MATRIKELNUMMER, VORNAME, NACHNAME, KLAUSURNAME, SEMESTER, NOTE) a) Beurteilen Sie den Entwurf und nennen Sie einen möglichen Mangel. Welche Alternativen würden sich dafür anbieten? (4 Punkte)
1 / 14
Datenbanksysteme und XML
SS 2012
Matr.-Nr.:
b) Nennen Sie vier Probleme relationaler Datenbanksysteme. (2 Punkte)
c) Beschreiben Sie, was für eine wohlgeformte XML-Elementstruktur notwendig ist? (4 Punkte)
2 / 14
Datenbanksysteme und XML
SS 2012
Aufgabe 2 (Informationsintegration)
Matr.-Nr.:
(4 + 6 = 10 Punkte)
a) Welche Arten von Konflikten können bei der Informationsintegration auftreten? Nennen Sie dazu jeweils zwei Konflikte und erläutern Sie diese anhand eines Beispiels. (4 Punkte)
3 / 14
Datenbanksysteme und XML
SS 2012
Matr.-Nr.:
b) Erläutern Sie die bei der Schemaintegration auszuführenden Schritte anhand des folgenden Beispiels: Ein neu zu entwickelnder Dienst, der die Publikationsrecherche unterstützen soll, bezieht seine Daten aus existierenden Diensten und Systemen. (6 Punkte)
4 / 14
Datenbanksysteme und XML
SS 2012
Aufgabe 3 (XML-Baum, XPath-Achsen)
Matr.-Nr.:
(4 + 6 = 10 Punkte)
Gegeben sei das folgende XML-Dokument:
Harry Potter
Joanne K. Rowling
HÖRZU
01 Juni 2012
a) Geben Sie den erweiterten XML-Baum für das gegebene XML-Dokument an. (4 Punkte)
5 / 14
SS 2012
Datenbanksysteme und XML
Matr.-Nr.:
b) Vervollständigen Sie die nachfolgende Abbildung, indem Sie die überlappungsfreien XPathAchsen bzgl. eines Autor-Knotens benennen und zusätzlich jeweils einen Stellvertreter aus den Knotenmengen der Achsen eintragen. (6 Punkte)
self
Autor
6 / 14
Datenbanksysteme und XML
SS 2012
Matr.-Nr.:
Aufgabe 4 (XML Schema)
(8 Punkte)
Vervollständigen Sie das folgende XML Schema so genau, wie es mit dem in Aufgabe 3 gegebenen XML-Dokument möglich ist. Das XML-Dokument muss für das XML Schema gültig sein. Verwenden Sie geeignete vordefinierte Datentypen zur Deklaration von Elementen und vervollständigen Sie die Namensraumdeklarationen. (8 Punkte)
Bitte umblättern!
7 / 14
Datenbanksysteme und XML
SS 2012
8 / 14
Matr.-Nr.:
Datenbanksysteme und XML
SS 2012
Aufgabe 5 (XPath)
Matr.-Nr.:
(6 + 4 = 10 Punkte)
a) Gegeben seien die folgenden vier XPath-Anfragen und zu diesen jeweils zugehörige Ausgaben.
/descendant::Name[ancestor::Backwaren/@ID="1"]/text() Brot //Name[ancestor::*/@ID="2"] Kleingebaeck self::node()//*[3]/* Feingebaeck 1,50 EUR
child::Baecker/descendant-or-self::node()/Preis/child::text() 2 EUR 1 EUR 1,50 EUR Erstellen Sie ein passendes XML-Dokument, das zu diesen Anfragen die angegebenen Ausgaben erzeugt. (6 Punkte)
9 / 14
Datenbanksysteme und XML
SS 2012
Matr.-Nr.:
b) Gegeben sei das folgende XML-Fragment:
Welche Ausgabe liefern die folgenden XPath 2.0-Anfragen zurück? i. //d/../d (1 Punkt)
ii. /a//*[2], (/a//*[2] | /a//*[1]) (1 Punkt)
iii. (/a//*[2], /a//*[2]) | /a//*[3] (1 Punkt)
iv. (/a//*[2], /a//*[2]) | /a//*[2] (1 Punkt)
10 / 14
Datenbanksysteme und XML
SS 2012
Matr.-Nr.:
Aufgabe 6 (XQuery)
(6 Punkte)
Gegeben sei das folgende XML-Dokument:
1000
800
2011-10-01 2011-10-20
3000
200
2011-10-01 2011-10-15
500
2011-10-02 2011-10-16
Ermitteln Sie mit Hilfe einer XQuery-Anfrage für alle Artikel die durchschnittliche Bestellmenge und überprüfen Sie, ob im Durchschnitt eine Menge größer als 1500 bestellt wurde. Formulieren Sie Ihre Anfrage so, dass als Ergebnis ein wohlgeformtes XML-Dokument mit den Artikelnummern und den jeweiligen Wahrheitswerten der Überprüfung ausgegeben wird.
11 / 14
Datenbanksysteme und XML
SS 2012
Matr.-Nr.:
Berücksichtigen Sie bei der Formulierung Ihrer Anfrage bei Bedarf eine oder mehrere der auf der letzten Seite angegebenen XPath-Funktionen.
12 / 14
Datenbanksysteme und XML
SS 2012
Aufgabe 7 (Invertierte Liste)
Matr.-Nr.:
(3 + 3 = 6 Punkte)
a) Erläutern Sie das Grundprinzip der invertierten Liste zur Indexerstellung. (3 Punkte)
b) Welche Verfahren auf Wortebene können zur Indexerstellung angewendet werden? Nennen Sie drei Verfahren mit jeweils kurzer Erläuterung. (3 Punkte)
13 / 14
Datenbanksysteme und XML
SS 2012
Matr.-Nr.:
Allgemeine Syntax von XQuery-Anfragen:
FLWR-expr ::= for-expr | let-expr for-expr ::= (for $var in expr (, $var in expr)*)+ (where expr)? return expr let-expr ::= (let $var := expr (, $var := expr)*)+ (where expr)? return expr
Funktionen:
fn:avg($arg as xs:anyAtomicType*) as xs:anyAtomicType? Gibt den Durchschnittswert der Werte der übergebenen Elemente zurück.
fn:concat($arg1 as xs:anyAtomicType?, $arg2 as xs:anyAtomicType?, ...) as xs:string Gibt eine Zeichenfolge (vom Typ xs:string) zurück, die durch Verketten der Werte der einzelnen Argumente erstellt wird.
fn:data($arg as item()*) as xs:anyAtomicType* Gibt die atomaren Werte der übergebenen Elemente zurück.
fn:sum($arg as xs:anyAtomicType*) as xs:anyAtomicType Gibt die Summe der numerischen Werte der übergebenen Elemente zurück.
$arg cast as xs:integer Umwandlung von Elementen eines primitiven Datentyps in Elemente eines anderen primitiven Datentyps; in diesem Fall in den Zieldatentyp xs:integer.
14 / 14...