• Keine Ergebnisse gefunden

Fachbereich f¨ur Computerwissenschaften Prof. Dr. Nikolaus Augsten Jakob-Haringer-Str. 2 5020 Salzburg, Austria Telefon: +43 662 8044 6347 E-Mail: nikolaus.augsten@sbg.ac.at

N/A
N/A
Protected

Academic year: 2022

Aktie "Fachbereich f¨ur Computerwissenschaften Prof. Dr. Nikolaus Augsten Jakob-Haringer-Str. 2 5020 Salzburg, Austria Telefon: +43 662 8044 6347 E-Mail: nikolaus.augsten@sbg.ac.at"

Copied!
11
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

5020 Salzburg, Austria Telefon: +43 662 8044 6347 E-Mail: nikolaus.augsten@sbg.ac.at

Datenbanken II Pr¨ufung

Wintersemester 2018/2019 06.09.2019

Name: Matrikelnummer:

Hinweise

Bitte ¨uberpr¨ufen Sie die Vollst¨andigkeit des Pr¨ufungsbogens (11 nummerierte Seiten).

Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf jedes Blatt des Pr¨ufungsbogens und geben Sie alle Bl¨atter ab.

Grunds¨atzlich sollten Sie alle Antworten auf den Pr¨ufungsbogen schreiben.

Sollten Sie mehr Platz f¨ur eine Antwort ben¨otigen, bitte einen klaren Verweis neben die Frage auf die Seitennummer des zus¨atzlichen Blattes setzen.

Keinen Bleistift verwenden. Keinen roten Stift verwenden.

Verwenden Sie die Notation und die L¨osungsans¨atze, die w¨ahrend der Vorlesung besprochen wurden.

Aufgaben mit mehr als einer L¨osung werden nicht bewertet.

Als Unterlage ist ein beliebig (auch beidseitig) beschriftetes A4-Blatt erlaubt.

Zeit f¨ur die Pr¨ufung: 90 Minuten

Unterschrift

Korrekturabschnitt Bitte frei lassen

Aufgabe 1 2 3 4 5 6 7 8 9 10 Summe

Maximale Punkte 1 1 1 1 1 1 1 1 1 1 10

Erreichte Punkte

(2)

Aufgabe 1 - Indexstrukturen. 1 Punkt Auf der TabelleR[M usician, Stage] soll einHash-Indexkonstruiert werden. Als Schl¨ussel wird das AttributMusician verwendet. Der Hashwert ist dernumerische Wert des 1.

Buchstaben des Attributwerts. Es k¨onnen 3 Tupel pro Bucket gespeichert werden.

Bucket Overflows werden durchOverflow Chainingaufgel¨ost, wobei ein Zeiger auf ein Overflow Bucket einen Eintrag im Bucket ben¨otigt.Illustrieren Sie den Hash-Index.

1. Buchstabe D E M N P S T numerischer Wert 1 2 3 4 5 6 7

Musician Stage Noisia Mothership Madface Temple Merikan Shredder Pythius Portal Signal Shredder Mefjus Portal Emperor Portal

Mizo Shredder

Turno Temple

Dimension Mothership

(3)

Aufgabe 2 - Slotted Page. 1 Punkt

Gegeben sei eine Slotted Page mit folgenden Eigenschaften:

• Gr¨oße: 213= 8192 Bytes,

• Adressierungstyp: Byte-Adressierung (es kann jedes Byte adressiert werden) In dieser Slotted Page werden 3 Tupel O, P,Q gespeichert:

• d1:|O|= 64 Bytes

• d2:|P|= 128 Bytes

• d3:|Q|= 256 Bytes

Erg¨anzen Sie die Slotted Page um die fehlenden Werte/Adressen, wobei pi und gi sich auf den jeweiligen Datensatz di beziehen.(0.125 Punkte pro Wert/Adresse)

a f g3 p3 g2 p2 g1 p1 . . . d1 d2 d3

O P Q

(4)

Aufgabe 3 - B+-Baum L¨oschen. 1 Punkt Gegeben ist ein B+-Baum mit m = 5. Zeichnen Sie den B+-Baum, der nach L¨oschen von 180 entsteht.

80 120 180 210

40 60 80 90 100 120 140 160 180 190 210 230 250 270

(5)

Aufgabe 4 - B+-Baum-Einf¨ugen. 1 Punkt Gegeben ist ein B+-Baum mitm = 5. Zeichnen Sie den B+-Baum, der nach dem Einf¨ugen von 260 entsteht.

80 120 180 210

40 60 80 90 100 120 140 160 170 180 190 200 205 210 230 250 270

(6)

Aufgabe 5 - Erweiterbares Hashing. 1 Punkt Gegeben ist der folgende Hashcontainer, in dem 10 Tupel gespeichert sind. Ein Bucket im Hashcontainer kann bis zu 3 Tupel speichern. Die Hashfunktion h(x) liefert die in der Tabelle angegebenen Bin¨arwerte. Erg¨anzen Sie die fehlenden Zeiger, sodass ein g¨ultiger Hashcontainer entsteht. (0.125 Punkte pro korrekt verbundenem Bucket)

x h(x)

Noisia 0000 Madface 0010 Merikan 0001 Pythius 1110 Signal 0011 Mefjus 1100 Emperor 1000

Mizo 0101

Turno 1111 Dimension 0011

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

4

Noisia Merikan

3

Madface

4

Dimension Signal

4

Mizo

2

Emperor

2

Mefjus

3

Pythius

4

Turno

4

(7)

Aufgabe 6 - Externes Merge-Sort. 1 Punkt F¨uhren Sie externes Merge-Sort auf der folgenden Relation R[A] aus.

Jeder Block fasst 2 Tupel. Die Gr¨oße desPuffer betr¨agt 3 Bl¨ocke.

99 35 10 45 95 20 25 5 30 90 40 0 15 50 80 60 55 75 65 70 85

(8)

Aufgabe 7 - Effiziente Anfragebearbeitung. 1 Punkt

Gegeben sei eine Relation R[A, B, C] mit folgenden Eigenschaften:

• |R|= 4·109 Tupel,

• Pro Datenblock werden 8·103 Tupel gespeichert,

• Attribut A hat ganzzahlige Werte gleichverteilt im Bereich [1; 4·109],

• Attribut B hat ganzzahlige Werte gleichverteilt im Bereich [1; 4·106],

• Attribut C hat ganzzahlige Werte gleichverteilt im Bereich [1; 4·105],

• Duplikate werden mittels Tuple Identifier (TID) aufgel¨ost,

• Folgende Indizes existieren:

– flacher sparse Index auf AttributA mit 12.500 Eintr¨agen pro Indexblock, – dense B+-Baum-Index auf Attribut B, m= 2.048, minimale H¨ohe,

– dense B+-Baum-Index auf Attribut C, m= 1.024, minimale H¨ohe.

Es soll folgende Anfrage beantwortet werden:

σC=8·103∧A≥4·103(R)

Geben Sie die Strategie (0.5 Punkte)an und berechnen Sie dieAnzahl der Block- zugriffe (0.5 Punkte) um die Anfrage m¨oglichst effizient zu beantworten (1 Kno- tenzugriff im B+-Baum entspricht 1 Blockzugriff).

(9)

Aufgabe 8 - Effiziente Anfragebearbeitung. 1 Punkt

Gegeben sei eine Relation R[A, B, C] mit folgenden Eigenschaften:

• |R|= 8·109 Tupel,

• Pro Datenblock werden 16·103 Tupel gespeichert,

• Attribut A hat ganzzahlige Werte gleichverteilt im Bereich [1; 8·106],

• Attribut B hat ganzzahlige Werte gleichverteilt im Bereich [1; 8·109],

• Attribut C hat ganzzahlige Werte gleichverteilt im Bereich [1; 8·103],

• Duplikate werden mittels Tuple Identifier (TID) aufgel¨ost,

• Folgende Indizes existieren:

– flacher sparse Index auf Attribut A mit 12.500 Eintr¨agen pro Indexblock, – dense B+-Baum-Index auf Attribut B, m= 4.096, minimale H¨ohe,

Es soll folgende Anfrage beantwortet werden:

σB<8·109(R)

Geben Sie die Strategie (0.5 Punkte)an und berechnen Sie dieAnzahl der Block- zugriffe (0.5 Punkte) um die Anfrage m¨oglichst effizient zu beantworten (1 Kno- tenzugriff im B+-Baum entspricht 1 Blockzugriff).

(10)

Aufgabe 9 - Join-Algorithmen. 1 Punkt Welcher Join Algorithmus (Hash Join, Block Nested Loop Join (Zick-Zack Mo- dus)) generiert die minimalen Kosten f¨ur das folgende Szenario? Geben Sie in der L¨osung die Algorithmen und die dazugeh¨origen Kosten an.

Berechnen Sie einen Natural Join zwischen zwei Relationen R[A, B] undS[B, C], wobei

|R| = 4.000 Tupel und |S| = 1.000 Tupel. Die Relationen sind auf bR = 600 bzw. bS = 1.000 hintereinander liegenden Bl¨ocken gespeichert. Der Buffer hat Platz f¨ur M = 21 Bl¨ocke und k = 4. Es existiert ein sparse B+-Baum Index auf R.B, wobei jeder Knoten im B+-Baum 20 Schl¨ussel speichern kann.

(11)

Aufgabe 10 - Anfrageoptimierung, Join-Reihenfolge. 1 Punkt

Gegeben sind die folgende Relationen:

• |R[A, B, C]|= 100.000, V(R, A) = 150,V(R, B) = 50, V(R, C) = 50

• |S[C, D, E]|= 5.000, V(S, C) = 20, V(S, D) = 50, V(S, E) = 100

• |T[A, B]|= 10.500, V(T, A) = 80, V(T, B) = 70

Die Werten in den Tupeln sind gleichverteilt und unabh¨angig.

1. Formulieren Sie die folgende Anfrage so um, dass Selektionen und Projektionen so weit wie m¨oglich nach unten geschoben werden (sodass der kleinstm¨ogliche Join durchgef¨uhrt wird). Geben Sie entweder den umformulierten relationalen Ausdruck oder den entsprechenden Operatorbaum an.

πAB,C,DA=a∧D=d(R onS))onT)

2. Sch¨atzen Sie die Kardinalit¨at des Ergebnisses der JoinsRonS und R onT ab.

Referenzen

ÄHNLICHE DOKUMENTE

Player Team Bell Steelers Brees Saints Brown Steelers Donald Rams Edelman Patriots Fournette Jaguars Gurley Rams Houston Chiefs Jones Falcons Kuechly Panthers Lattimore Saints

Flugnummer (FgID), SVN des Piloten (PilotSVN), Seriennummer des Flugzeuges (FlugzeugNum), Abflugort (OrtAb), Zielort (OrtAn), Abflugzeit (ZeitAb), Ankun- ftszeit (ZeitAn). Die

2.1 Anfrage in erweiterter relationaler Algebra: Geben Sie zu jedem Angestell- ten die Sozialversicherungsnummer (SVN) aus, sowie die Summe der Stunden, welche der Angestellte auf

∗ Ein Mitarbeiter muss weder Verk¨ aufer noch Abteilungsleiter sein... 1.3 ¨ Ubersetzen Sie die folgenden ER Diagramme in relationale Schemata und geben Sie alle

a) Zahl aller roten Segelboote.. b) Liste aller Segler die jemals ein rotes Boot reserviert haben mit der jeweiligen Anzahl der Reservierungen von roten Booten. Es sollen nur

– Ein Fotograf kann eine beliebige Zahl von Bildern machen, aber ein Bild kann nicht von mehreren Fotografen gemacht werden.. Wenn ein Bild gemacht ist, wird auch ein

∗ Ein G¨ artner kann nicht mehr als eine Aktivit¨ at zu einer bestimmten Zeit erledigen. ∗ Eine Pflanze muss von genau einem Typ sein (Baum, Blume oder

• Eine Mahlzeit muss von maximal einem Koch zubereitet werden.. • Jede Mahlzeit wird von einem