Μεταπτυχιακό µάθηµα θεµελίωσης Βάσεων εδοµένων ιδάσκων: Β. Βασσάλος

Σχετικά έγγραφα
Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός)

Το εσωτερικό ενός Σ Β

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα

Μάθημα Βάσεις Δεδομένων ΙΙ - Ασκήσεις Επανάληψης. 01 Εκφώνηση

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Κεφ.11: Ευρετήρια και Κατακερματισμός

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ ΔΕΥΤΕΡΗ

Βάσεις Δεδομένων 2. Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων. Ημερ: 27/5/2008 Ακ.Έτος

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Επαναληπτικές ασκήσεις

ΗΥ460 Συστήµατα Διαχείρισης Βάσεων Δεδοµένων Χειµερινό Εξάµηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εξεταστική Περίοδος Ιουνίου 2004

Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Επεξεργασία ερωτημάτων

Δεντρικά Ευρετήρια. Δέντρα Αναζήτησης

Κεφάλαιο 14. οµές Ευρετηρίων για Αρχεία. ιαφάνεια 14-1

Επεξεργασία Ερωτήσεων

Βάσεις εδοµένων Ευαγγελία Πιτουρά 2

Σημεία ελέγχου (Checkpoints)

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ευρετήρια. Το ευρετήριο αρχείου είναι ένα διατεταγµένο αρχείο µε σταθερού µήκους εγγραφές

Έλεγχος Ταυτοχρονισμού

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Ευρετήρια. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια. Ευρετήρια. Ευρετήρια

Ευρετήρια. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια. Ευρετήρια. Ευρετήρια

Οι πράξεις της συνένωσης. Μ.Χατζόπουλος 1

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

Κεφάλαιο 14. Δομές Ευρετηρίων για Αρχεία. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση,

Ευρετήρια. Το ευρετήριο αρχείου είναι ένα διατεταγµένο αρχείο µε σταθερού µήκους εγγραφές

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Επεξεργασία οσοληψιών

Ευρετήρια και Κατακερµατισµός

Ονοματεπώνυμο: Αριθμός Μητρώου:

Ευρετήρια. Ευρετήρια. Βάσεις εδοµένων :ευρετήρια 1

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Βάσεις Δεδομένων ΙΙ Ενότητα 5

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

Παλαιότερες ασκήσεις

Ευρετήρια. Βάσεις Δεδομένων. Διδάσκων: Μαρία Χαλκίδη

ΗΥ360 Αρχεία και Βάσεις εδοµένων

Έλεγχος συγχρονικότητας Μέρος 2 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

Α1. (α). ώστε τον ορισµό του προβλήµατος (Μονάδες 3)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙI

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Σχετικά µε το µάθηµα: Αξιολόγηση. Σχετικά µε το µάθηµα:faq ΟΧΙ ΝΑΙ. Λιγότερος! (ας πούµε το 1/3-1/4)

Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρα 1. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια.

εντρικά Ευρετήρια έντρα Αναζήτησης

Αλγόριθμοι Ταξινόμησης Μέρος 4

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Προχωρημένα Θέματα Βάσεων Δεδομένων

ΓΡΗΓΟΡΗ ΜΑΝΑΡΙΩΤΗ Ερωτήσεις Εµπέδωσης Αξιολόγησης για το EXCEL

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

Πανεπιστήμιο Πειραιώς, Τμήμα Πληροφορικής

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Φροντιστήριο 4. Άσκηση 1. Λύση. Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών HY463 - Συστήµατα Ανάκτησης Πληροφοριών Εαρινό Εξάµηνο

Κατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1

ΗΥ360 Αρχεία και Βάσεις εδοµένων

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2013

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Επεξεργασία οσοληψιών. το πώς βλέπει το Σ Β τα προγράµµατα των χρηστών. οσοληψία (transaction)

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Πληροφορική 2. Δομές δεδομένων και αρχείων

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Επίπεδα Αφαίρεσης Σ Β. Αποθήκευση Εγγραφών - Ευρετήρια. ρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, Επίπεδο Όψεων.

ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε:

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

Βελτιστοποίηση επερωτημάτων

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-1

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 6: Δομές ευρετηρίων για αρχεία

Τεχνικές Ανάκαµψης. Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε

επιµέλεια Θοδωρής Πιερράτος

Επεξεργασία Ερωτήσεων: Επανάληψη και Ασκήσεις

Θέματα Υλοποίησης Σχεσιακών ΣΔΒΔ

Transcript:

Μεταπτυχιακό µάθηµα θεµελίωσης Βάσεων εδοµένων ιδάσκων: Β. Βασσάλος ιάρκεια ιαγωνίσµατος: :30 ώρες 4//05 Σύνολο βαθµών διαγωνίσµατος: 85 Το διαγώνισµα διεξάγεται µε ανοιχτό βιβλίο. Στις ερωτήσεις πολλαπλής επιλογής, γράψτε την επιλογή σας καθαρά µέσα στο κουτάκι. Αν η επιλογή σας δεν είναι γραµµένη καθαρά, δεν θα πάρετε βαθµό για τη συγκεκριµένη ερώτηση. Προσπαθήστε να απαντήσετε τις ερωτήσεις σύντοµης απάντησης µε σαφήνεια και συντοµία. Αν δεν καταλαβαίνουµε κάποια απάντησή σας ή την κρίνουµε ως υπερβολικά και αδικαιολόγητα πολύπλοκη, δεν θα τη βαθµολογήσουµε. ΟΝΟΜΑΤΕΠΩΝΥΜΟ: Α.Μ.: Μέρος Μέγιστο Βαθµός 1 ο 48 ο 11 3 ο 1 4 ο 14 ΣΥΝΟΛΟ 85

Μέρος 1ο Ερωτήσεις πολλαπλής επιλογής (3 µονάδες έκαστη σωστή απάντηση. 0 µονάδες για λάθος απάντηση.) Οι ερωτήσεις 1 και βασίζονται στην υπόθεση που περιγράφεται παρακάτω. Το µέγεθος των blocks είναι 1000 bytes και δεν υπάρχει ανάγκη για επικεφαλίδα στα blocks. Οι εγγραφές έχουν µέγεθος 100 bytes από τα οποία τα 1 είναι στο πεδίο κλειδί. Οι δείκτες (pointers) έχουν µέγεθος 8 bytes. Ένα ακολουθιακό αρχείο (ταξινοµηµένο µε το κλειδί) αποτελείται από 10000 εγγραφές που σηµαίνει ότι καταλαµβάνει 1000 blocks. Ερώτηση 1. Το πλήθος των blocks που απαιτούνται για ένα dense index (πυκνό ευρετήριο) του ακολουθιακού αρχείου είναι: (α) 0 (β) 50 (γ) 100 (δ) 00 (ε) 500 Ερώτηση. Το πλήθος των blocks που απαιτούνται για ένα sparse index (αραιό ευρετήριο) του ακολουθιακού αρχείου είναι: (α) 10 (β) 0 (γ) 50 (δ) 100 (ε) 00 Ερώτηση 3. Υποθέστε ότι θέλουµε να χτίσουµε ένα πίνακα κατακερµατισµού σε ένα αρχείο 1000000 εγγραφών. Eνα block χωράει 10 εγγραφές ή 50 ζεύγη κλειδιούδείκτη. Ο πίνακας κατακερµατισµού έχει 1000 κουβάδες (buckets). «Κλειδί» είναι τόσο το πρωτεύον κλειδί των εγγραφών όσο και το κλειδί αναζήτησης για τον πίνακα κατακερµατισµού. Υποθέστε ότι υπάρχει πάντα στην κύρια µνήµη ένας δείκτης που δείχνει στο πρώτο block του κάθε bucket. ύο πιθανές δοµές δεδοµένων για την αποθήκευση του αρχείου µπορούν να χρησιµοποιηθούν: Α. Κρατάµε µία αλυσίδα από blocks που θα αποθηκεύονται οι εγγραφές, µε µία αλυσίδα για κάθε bucket. B. Κρατάµε ένα ξεχωριστό αρχείο που θα αποθηκεύονται οι εγγραφές. Κάθε κουβάς περιέχει µια αλυσίδα από blocks όπου αποθηκεύονται ζεύγη κλειδί-δείκτη, όπου ο δείκτης δείχνει στην εγγραφή µε το αντίστοιχο κλειδί. Κατά την αναζήτηση µιας εγγραφής µε βάση το κλειδί, πρέπει να βρεθεί το κατάλληλο bucket και στη συνέχεια να αναζητηθεί στην αλυσίδα των blocks αυτού του bucket η ζητoύµενη τιµή του κλειδιού. Στη δοµή (Β) ακολουθούµε εν συνεχεία τον δείκτη για να ανακτήσουµε την εγγραφή. Υποθέστε ότι στη µέση περίπτωση πρέπει να προσπελάσουµε τις µισές εγγραφές ή τα µισά ζεύγη κλειδιού-δείκτη σε ένα κουβά µέχρι να βρούµε το κλειδί που αναζητούµε. Ποιος είναι ο λόγος του µέσου αριθµού I/Os που απαιτούνται στο δίσκο για τη δοµή (Α) προς τον αντίστοιχο της δοµής (Β); (α) 0.5 (β) 1.1 (γ).0 (δ).5 (ε) 4.5

Οι ερωτήσεις 4 και 5 βασίζονται σε ένα αρχείο πλέγµατος (grid file) που χρησιµοποιείται για να αποθηκεύσει µια σχέση R(x,y). Τα γνωρίσµατα x και y είναι πραγµατικοί αριθµοί µε τιµές από 0 µέχρι 1000. Το πλέγµα (grid) χωρίζει τις εγγραφές της R σε 1000 περιοχές (buckets) διαιρώντας το αρχείο σε 0 οριζόντιες και σε 50 κατακόρυφες ζώνες (stripes) Ερώτηση 4. Στο ακόλουθο range query SELECT * FROM R WHERE 310<x AND 50<y AND y<730; ο αριθµός των buckets που πρέπει να προσπελαστούν είναι (α) 0 (β) lathos apanthseis.. h8ele kai x<400 (γ) 4 (δ) 5 (ε) 30 Ερώτηση 5. Θέλουµε να γράψουµε ένα nearest-neighbour query προκειµένου να βρούµε το σηµείο (x,y) της σχέσης R το οποίο είναι το πλησιέστερο στο σηµείο (110,05). Ξεκινάµε την αναζήτηση στην περιοχή που έχει ως κάτω αριστερά γωνία το σηµείο (100,00) και άνω δεξιά γωνία το (10,50). Βρίσκουµε ότι το πλησιέστερο σηµείο είναι το (115,0). Ο αριθµός των άλλων περιοχών που πρέπει να ψάξουµε για να επιβεβαιώσουµε ότι αυτό το σηµείο είναι το πλησιέστερο από όλα τα σηµεία είναι (α) 0 (β) (γ) 4 (δ) 5 (ε) 6 Ερώτηση 6. Θεωρείστε τη σχέση R(a,b) που ενδέχεται να έχει διπλότυπα. Μελετήστε προσεκτικά τις παρακάτω εκφράσεις. I. σ a= 1 ( γ a, SUM ( b) (R)) II. γ a, SUM ( b) ( σ a= 1(R)) III. γ a, SUM ( b) (δ( σ a= 1(R))) Επιλέξτε ποιο από τα παρακάτω ισχύει: (α) Είναι και οι τρεις ισοδύναµες (β) εν υπάρχουν δύο µεταξύ τους ισοδύναµες (γ) η Ι και ΙΙ είναι ισοδύναµες µεταξύ τους αλλά όχι µε την ΙΙΙ (δ) η Ι και η ΙΙΙ είναι ισοδύναµες µεταξύ τους αλλά όχι ισοδύναµες µε την ΙΙ (ε) η ΙΙ και η ΙΙΙ είναι ισοδύναµες µεταξύ τους αλλά όχι ισοδύναµες µε την Ι

Οι παρακάτω τρεις ερωτήσεις βασίζονται στις τέσσερις σχέσεις ΑΒ, ΒC, CD και DE. Κάθε σχέση περιλαµβάνει τα δύο γνωρίσµατα που χρησιµοποιούνται για την ονοµασία της σχέσης. (π.χ. η σχέση ΑΒ έχει τα γνωρίσµατα Α και Β). ίνονται τα παρακάτω στατιστικά: Ν(ΑΒ) = 100 - N(BC)=00 - N(CD) =300 - N(DE) =400 V(A,AB) =0 - V(B,AB)=50 V(B, BC)= 50 - V(C,BC)=40 - V(C,CD)=60 V(D,CD) = 100 - V(D,DE)=50 - V(E,DE)=100 Ερώτηση 7. εδοµένων των παραπάνω και του γνωστού κανόνα βάσει του οποίου υπολογίζεται ο πληθάριθµος της πράξης join (όπως στο βιβλίο), ποια από τις παρακάτω εκτιµήσεις για το µέγεθος του AB BC CD DE είναι η καλύτερη; (α) 8000 (β) 10000 (γ) 1000 (δ) 15000 (ε) 0000 Ερώτηση 8. Ας υποθέσουµε ότι δε δεχόµαστε κανένα δέντρο έκφρασης (expression tree) στο οποίο ένα φυσικό join είναι γινόµενο (δηλαδή δεν υπάρχουν κοινά γνωρίσµατα µεταξύ του αριστερού και δεξιού ορίσµατος του join). Τότε το πλήθος των διαφορετικών left-deep δέντρων έκφρασης για το join και των τεσσάρων σχέσεων είναι: (α) 0 (β) 1 (γ) (δ) 6 (ε) 8 Ερώτηση 9. Όλες οι παρακάτω εκφράσεις παράγουν δυο σχέσεις ως ενδιάµεσα αποτελέσµατα (το αποτέλεσµα των πράξεων µέσα στην παρένθεση). Για ποια από τις παρακάτω εκφράσεις είναι το άθροισµα των εκτιµώµενων µεγεθών των δύο αυτών ενδιάµεσων αποτελεσµάτων ελάχιστο; (α) ΑΒ (ΒC (CD DE)) (β) (AB DE) (BC CD) (γ) DE (CD (AB BC)) (δ) (AB BC) (CD DE) (ε) ((CD BC) AB) DE Ερώτηση 10. Θέλουµε να κάνουµε join τις σχέσεις R(a,b), S(b,c) και T(c,d) υποθέτοντας ότι: 1. Υπάρχουν Β ενταµιευτές (buffers) διαθέσιµοι για την αποθήκευση των δεδοµένων και από τις τρεις σχέσεις. Οι σχέσεις χρησιµοποιούν n R, n S και n T πλήθος block αντίστοιχα

3. Η σχέση R είναι αποθηκευµένη έχοντας ταξινοµηθεί µε βάση το b. Οι άλλες σχέσεις δεν έχουν κάποια ταξινόµηση 4. Η στρατηγική µε την οποία γίνεται το join είναι η εξής: i. Εκτέλεσε την πρώτη φάση της ταξινόµησης two-phase multiway merge sort για την S. Για να το κάνεις, χρησιµοποίησε όσες φορές απαιτείται τους ενταµιευτές για να φορτώσεις δεδοµένα από την S, ταξινόµησε τις πλειάδες µε βάση το b και τύπωσε τον ταξινοµηµένο υποκατάλογο. ii. Φόρτωσε ολόκληρη τη σχέση Τ στην κύρια µνήµη χρησιµοποιώντας όσους ενταµιευτές είναι απαραίτητοι iii. Συνένωσε (merge) (και κάνε τα απαραίτητα joins) την R µε τους ταξινοµηµένους υποκαταλόγους της S και σύγκρινε κάθε πλειάδα που προκύπτει µε τις πλειάδες της Τ. Κάθε πλειάδα του τελικού αποτελέσµατος αποθήκευσέ την σε έναν ενταµιευτή εξόδου, που δεν υπολογίζεται στο σύνολο των διαθέσιµων ενταµιευτών Β που έχουν δοθεί εξ αρχής. Ποιες από τις παρακάτω ανισότητες είναι η εγγύτερη προσέγγιση στη συνθήκη υπό την οποία η ακολουθία των βηµάτων µπορεί να εκτελεστεί όπως έχει περιγραφεί; (α) (β) (γ) (δ) (ε) B n S + Β n T B n T + Β n S B n T + n S B n R +Β n T + B B n R + n T +Β n S n S Οι παρακάτω δύο ερωτήσεις βασίζονται στο ακόλουθο undo/redo log αρχείο (το ST είναι συντοµογραφία του START) <ST T1> <ST T> <ST T3> <T1,A,0,1> <T,A,1,> <T3,A,,3> <COMMIT T> Ερώτηση 11. Ποια από τις παρακάτω προτάσεις είναι αληθής; 1. Τουλάχιστον µία συναλλαγή εκτέλεσε ένα dirty read. Η τιµή του Α στο δίσκο στο τέλος αυτού του αρχείου log µπορεί να είναι 0 3. Η τιµή του Α στο δίσκο στο τέλος αυτού του αρχείου log µπορεί να είναι (α) µόνο η 1 (β) µόνο οι 1 και (γ) µόνο οι 1 και 3 (δ) µόνο οι και 3 (ε) οι 1, και 3

Ερώτηση 1. Αν ακολουθήσουµε τον undo/redo κανόνα για ανάνηψη (recovery), και ειδικότερα αν αγνοήσουµε την ανάγκη για πιθανά cascaded rollbacks, τότε η τιµή του Α στο δίσκο µετά την ανάνηψη είναι (α) 0 (β) 1 (γ) (δ) 3 (ε) εν µπορεί να εξαχθεί συµπέρασµα Ερώτηση 13. Παρακάτω δίνεται ο πίνακας συγκρούσεων για τρεις υποθετικές καταστάσεις κλειδώµατος (lock modes) (Χ, Υ και Ζ). Ένα κλείδωµα σε ένα στοιχείο Α είναι δυνατό στην κατάσταση που προσδιορίζεται από τη στήλη j αν και µόνο αν δεν υπάρχει άλλη συναλλαγή που να διατηρεί κλειδωµένο το Α σε κάποια κατάσταση i, όπου για συντεταγµένες i και j υπάρχει στον πίνακα η τιµή «ΟΧΙ». i j X Y Z X ΝΑΙ ΝΑΙ ΟΧΙ Y ΟΧΙ ΝΑΙ ΝΑΙ Z ΝΑΙ ΟΧΙ ΝΑΙ Από τις τρεις παρακάτω προτάσεις: 1. Είναι δυνατό διαφορετικές δοσοληψίες να έχουν locks στο ίδιο στοιχείο στις καταστάσεις Χ και Ζ ταυτόχρονα.. Είναι δυνατό περισσότερες από µια δοσοληψίες να έχουν locks στο ίδιο στοιχείο στην κατάσταση Ζ, ενώ την ίδια στιγµή άλλη δοσοληψία κρατά lock για το ίδιο στοιχείο στην κατάσταση Υ. 3. Είναι δυνατό διαφορετικές δοσοληψίες να έχουν locks στο ίδιο στοιχείο και στις τρεις καταστάσεις ταυτόχρονα. ποιες είναι αληθείς; (α) µόνο η 1 (β) µόνο η (γ) η 1 και η (δ) η 1 και η 3 (ε) και οι τρεις Ερώτηση 14. Από τα παρακάτω τρία είδη logging i. Undo logging ii. Redo logging iii. Undo/Redo logging σε ποιο µπορεί να παραβλεφθεί το γράψιµο εγγραφής ABORT στο log χωρίς να χειροτερεύσει η επίδοση κατά τη διάρκεια της ανάνηψης;

(α) µόνο το i (β) µόνο το ii (γ) µόνο το iii (δ) όλα (ε) κανένα Οι ερωτήσεις 15 και 16 αναφέρονται στην εξής ακολουθία ενεργειών των δοσοληψιών Τ1, Τ και Τ3. r3(b); r1(a); r(c); w1(c); w(b); w3(a); Oι χρόνοι έλευσης των T1,T και Τ3 είναι 100, 00 και 300 αντίστοιχα. Κάνουµε τις παρακάτω υποθέσεις σχετικά µε τη σειρά εκτέλεσης ενεργειών. i. Μια δοσοληψία ζητεί κλείδωµα (shared lock για ανάγνωση και exclusive lock για γράψιµο) σε στοιχεία δεδοµένων µόλις πριν ζητήσει να γίνει η ενέργεια στα στοιχεία αυτά. ii. Όποτε µια δοσοληψία πάρει όλα τα κλειδιά που χρειάζεται, τότε αµέσως ολοκληρώνει τις εργασίες της, κάνει commit, και αποδεσµεύει τα κλειδιά. iii. Αν µια δοσοληψία σκοτωθεί ή πληγεί (wounded) τότε άµεσα απελευθερώνει κάθε κλείδωµα. και επανεκτελείται µόνο αν εκτελεστούν ή µαταιωθούν οι τρέχουσες δοσοληψίες. iv. Όταν ένα κλειδί απελευθερωθεί, δίνεται αµέσως σε οποιαδήποτε δοσοληψία βρίσκεται σε αναµονή για αυτό (µε σειρά άφιξης FCFS). Ερώτηση 15. Αν η στρατηγική wait-die χρησιµοποιείται για τη διαχείριση των αιτηµάτων κλειδώµατος, ποια είναι η σειρά µε την οποία εκτελούνται οι δοσοληψίες; (α) Τ1,Τ,Τ3 (β) Τ1,Τ3,Τ (γ) Τ,Τ1,Τ3 (δ) Τ,Τ3,Τ1 (ε) Αδιέξοδο, καµία εκτέλεση Ερώτηση 16. Αν η στρατηγική wound-wait χρησιµοποιείται για τη διαχείριση των αιτηµάτων κλειδώµατος ποια είναι η σειρά µε την οποία εκτελούνται οι δοσοληψίες; (α) Τ1,Τ,Τ3 (β) Τ1,Τ3,Τ (γ) Τ,Τ1,Τ3 (δ) Τ,Τ3,Τ1 (ε) Αδιέξοδο, καµία εκτέλεση

Μέρος ο Ερωτήσεις σύντοµης απάντησης Οι ερωτήσεις 1 και αναφέρονται σε µια σχέση R µε 4000 εγγραφές. Υποθέστε ότι ένα πυκνό Β+ tree ευρετήριο είναι χτισµένο στο γνώρισµα-κλειδί της σχέσης. Ένα block µπορεί είτε να αποθηκεύσει 10 εγγραφές της σχέσης ή να αποθηκεύσει ένα κόµβο του ευρετηρίου µε 0 κλειδιά και 1 δείκτες. Ερώτηση 1 (3 µονάδες). Πόσα blocks απαιτούνται για το ευρετήριο; Απάντηση: 00+10+1 Ερώτηση (4 µονάδες). Υποθέστε ότι ένα ευρετήριο B+ tree έχει ακριβώς τον αριθµό blocks που υπολογίσατε παραπάνω και ότι ένας ενταµιευτής (buffer) µεγέθους 10 blocks είναι διαθέσιµος για την αποθήκευση block εγγραφών και block του ευρετηρίου στη µνήµη. Θέλουµε να ανακτήσουµε µία πλειάδα της R χρησιµοποιώντας την τιµή του κλειδιού της. Ποιος είναι ο καλύτερος σχεδιασµός για την εκτέλεση µιας τέτοιας επερώτησης; Πόσα Ι/Οs θα απαιτηθούν µε βάση την προτεινόµενη σχεδίαση; Απάντηση: Ερώτηση 3 (4 µονάδες). Θεωρείστε το πρωτόκολλο ελέγχου ταυτοχρονισµού µε επικύρωση (validation). Υποθέστε ότι έχουµε τρεις δοσοληψίες Τ1, Τ και Τ3 και τρία στοιχεία της βάσης A, B και C. Τα σύνολα ανάγνωσης και εγγραφής (read set, RS και write set WS) των δοσοληψιών είναι τα παρακάτω: RS(T1) = {A,B}; WS(T1) = {B} RS(T) = (A,C}; WS(T) = {A} RS(T3) = {C}; WS(T3) = {B,C}

Χρησιµοποιούµε τα Si, Vi και Fi για να αναπαραστήσουµε ότι µια συναλλαγή ξεκινά, προσπαθεί να επικυρωθεί και τερµατίζεται αντίστοιχα. οσµένης της ακολουθίας γεγονότων S1 S V1 S3 V3 F1 V F F3 ποια θα είναι το αποτέλεσµα κάθε δοσοληψίας (κάθε δοσοληψία µπορεί να κάνει είτε commit, για επιτυχή επικύρωση, είτε abort σε αντίθετη περίπτωση) ; Απάντηση: Μέρος 3o - Ερωτήσεις πολλαπλής επιλογής (Σύνολο 1 µονάδες. µονάδες έκαστη σωστή απάντηση, 0 µονάδες για λάθος απάντηση.) Θεωρήστε µια σχέση Parent(X,Y) όπου η πλειάδα (x,y) της Parent καθορίζει ότι το άτοµο x είναι γονιός του ατόµου y. Το µόνο κλειδί για την Parent αποτελείται από τα δύο ιδιοχαρακτηριστικά (attributes) µαζί. Ενδιαφερόµαστε να γράψουµε µια αναδροµική επερώτηση (recursive query) για να βρούµε όλους τους απογόνους του ατόµου που ονοµάζεται Eve. Τα µέρη (a) (f) παρακάτω περιέχουν το καθένα ένα with statement, χωρίς την τελική επερώτηση επιλογής (select query). Για κάθε with statement, διαλέξτε µια από τις τρεις παρακάτω επιλογές και γράψτε το νούµερο στο κουτί: (1) Προσθέτοντας την τελική επερώτηση select Y from Descendant παράγεται το επιθυµητό αποτέλεσµα (όλοι οι απόγονοι της Eve ). () Προσθέτοντας την τελική επερώτηση select Y from Descendant where X= Eve παράγεται το επιθυµητό αποτέλεσµα, αλλά η επερώτηση στο (1) δεν παράγει το επιθυµητό αποτέλεσµα. (3) Ούτε η επερώτηση στο (1), ούτε στο () παράγει το επιθυµητό αποτέλεσµα. Θεωρήστε ότι όλες οι επερωτήσεις όπως δίνονται είναι έγκυρες για SQL-99. (α) with recursive Descendant(X,Y) as ( (select X,Y from Parent) (select Descendant.X, Parent.Y from Descendant, Parent where Descendant.Y=Parent.X) ) (β) with recursive Descendant(X,Y) as ( (select X,Y from Parent where X= Eve ) (select Descendant.X, Parent.Y

from Descendant, Parent where Descendant.Y=Parent.X) ) (γ) with recursive Descendant(X,Y) as ( (select X,Y from Parent) (select Parent.X, Descendant.Y from Parent, Descendant where Parent.Y = Descendant.X) ) (δ) with recursive Descendant(X,Y) as ( (select X,Y from Parent) (select Parent.X, Descendant.Y from Parent, Descendant where Parent.Y = Descendant.X and Parent.X= Eve ) ) (ε) with recursive Descendant(X,Y) as ( (select X,Y from Parent where X= Eve ) (select D1.X, D.Y from Descendant D1, Descendant D where D1.Y = D.X) ) (στ) with recursive Descendant(X,Y) as ( (select X,Y from Parent) (select D1.X, D.Y from Descendant D1, Descendant D where D1.Y = D.X and D1.X= Eve ) ) Μέρος 4o (Σύνολο 14 µονάδες.) Θεωρήστε τις παρακάτω conjunctive queries: Q1 : p(x,y) :- a(x,a) & a(a,a) & a(a,y) & a(x,b) & a(b,c) & a(c,y) Q : p(x,y) :- a(x,u) & a(u,y) & a(x,v) & a(v,v) & a(v,w) & a(w,y) α) (4 µονάδες) Το Q1 "περιέχεται" στο Q? ώστε είτε µια απεικόνιση περιεκτικότητας (containment mapping) είτε ένα αντιπαράδειγµα (µια βάσης για την οποία δεν ισχύει η ζητούµενη σχέση περιεκτικότητας).

β) (4 µονάδες) Το Q "περιέχεται" στο Q1? ώστε είτε µια απεικόνιση περιεκτικότητας (containment mapping) είτε ένα αντιπαράδειγµα (µια βάσης για την οποία δεν ισχύει η ζητούµενη σχέση περιεκτικότητας). γ) (6 µονάδες) Αν και δεν το αποδείξαµε στην τάξη, δεν είναι δύσκολο να δείξουµε τo εξής: αν το C1 είναι η «µικρότερη» conjunctive query ισοδύναµη µε το C (δηλ., το C1 έχει το πολύ όσους υποστόχους (subgoals) έχει και οποιοδήποτε άλλη CQ ισοδύναµη µε το C) τότε το C1 είναι ίδιο µε το C µε κάποιους από τους υποστόχους του C να έχουν αποµακρυνθεί. Έτσι, µπορούµε να ψάξουµε για το µικρότερο ισοδύναµο κάποιου δοσµένου CQ C ελέγχοντας εάν το C είναι ισοδύναµο µε το CQ που προκύπτει αν αποµακρύνουµε ένα ή περισσότερα από τα subgoals του C. Βρείτε το µικρότερο ισοδύναµο του Q1.