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

Σχετικά έγγραφα
2 η Σειρά Ασκήσεων Ημερομηνία Παράδοσης: 14/11/2016

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2018 Project

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

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

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

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

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

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

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

Ο βελτιστοποιητής ερωτημάτων (query optimizer) Μετασχηματισμός εκφράσεων σχεσιακής άλγεβρας Υπολογισμός μεγεθών πράξεων σχεσιακής άλγεβρας

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

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

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

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

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

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

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

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

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

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

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

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

Υλοποίηση των Σχεσιακών Τελεστών. 6/16/2009 Μ.Χατζόπουλος 1

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

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

Φροντιστήριο Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία

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

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

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση

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

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ (Σεπτεμβρίου)

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

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

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

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

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

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

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

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

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

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

Προηγμένη Ευρετηρίαση Δεδομένων (ΠΜΣ) Ενδεικτικές ερωτήσεις-θέματα για την εξέταση της θεωρίας

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση

Advanced Data Indexing

Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό

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

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

Βάσεις Δεδομένων Ι Ευρετήρια/Indexes. (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών

Πληροφορική & Τηλεπικοινωνίες Υλοποίηση Συστημάτων Βάσεων Δεδομένων - Χειμερινό Εξάμηνο Καθηγητής Δ. Γουνόπουλος

Βελτιστοποίηση Ερωτημάτων Κεφ. 14

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

Εαρινό Εξάμηνο

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

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

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

Βάσεις Δεδομένων. Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων, κατακερματισμός και δομές ευρετηρίων για αρχεία. Φροντιστήριο 7 o

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

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

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

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

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

Εαρινό Εξάμηνο

Συστήματα Διαχείρισης Βάσεων Δεδομένων (ΗΥ460) Χειμερινό εξάμηνο 2017

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

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

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

ΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους

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

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

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

Βάσεις Δεδομένων (Databases)


Κεφάλαιο 7. ISAM και B- έντρα Φυσικός Σχεδιασµός για Βάσεις εδοµένων. ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.53

ΟΝΟΜΑΤΕΠΩΝΥΜΟ : Αντικείμενα: Βάσεις δεδομένων, σχέσεις μεταξύ πινάκων, ερωτήματα, φόρμες και αναφορές.

Οργάνωση Αρχείων. Διάγραμμα Σχεσιακού σχήματος. Ευρετήρια. Ταξινομημένα ευρετήρια B + δένδρα Ευρετήρια κατακερματισμού

PostgreSQL. Oracle. Εαρινό Εξάμηνο

Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης

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

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Σχήμα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ ΤΡΙΤΗ 11 ΙΟΥΝΙΟΥ 2019 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ

Τμήμα Πληροφορικής ΑΠΘ

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων

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

Transcript:

ΗΥ460 Συστήµατα Διαχείρισης Βάσεων Δεδοµένων Χειµερινό Εξάµηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης 2 η Σειρά Ασκήσεων Ηµεροµηνία Παράδοσης: 14/11/2016 Άσκηση 1 (10 µονάδες) Εξωτερική Ταξινόµηση Θεωρείστε µια βάση δεδοµένων που περιέχει µια σχέση R, η οποία έχει Τ πλειάδες και καταλαµβάνει B µπλοκ στο δίσκο. Υπάρχουν δύο B+-tree ευρετήρια ορισµένα στην R: ένα συσταδοποιηµένο (clustered) ευρετήριο στο γνώρισµα R.a και ένα µη-συσταδοποιηµένο (unclustered) ευρετήριο στο γνώρισµα R.b. Τα γνωρίσµατα R.a και R.b δε συσχετίζονται µεταξύ τους. Μας ενδιαφέρει η εκτέλεση του ακόλουθου SQL ερωτήµατος στην προηγούµενη βάσεων δεδοµένων: select * from R order by R.b α. (5 µονάδες) Υποθέστε ένα πλάνο εκτέλεσης του ερωτήµατος που περιλαµβάνει σειριακή σάρωση της R και στην συνέχεια ταξινόµηση της σχέσης στο γνώρισµα R.b χρησιµοποιώντας εξωτερική ταξινόµηση µε συγχώνευση (external merge sort). Υποθέσετε ο τελεστής ταξινόµησης µε συγχώνευση διαθέτει επαρκή µνήµη για να κρατά µόνο Μ µπλοκ δεδοµένων, όπου Μ < Β. Ποιό είναι το κόστος Ε/Ε αυτού του πλάνου, δηλαδή πόσες λειτουργίες ανάγνωσης εγγραφής µπλοκ στο δίσκο απαιτούνται για να εκτελεστεί; Λάβετε υπόψη και το κόστος της σειριακής σάρωσης και το κόστος της ταξινόµησης. β. (5 µονάδες) Υποθέστε ένα πλάνο εκτέλεσης του ερωτήµατος που διαβάζει τις πλειάδες της R ταξινοµηµένες χρησιµοποιώντας το µη συσταδοποιηµένο ευρετήριο πάνω στο R.b (index scan). Εκτιµήστε το κόστος Ε/Ε αυτού του πλάνου. Υποθέστε ότι το σύστηµα έχει λανθάνουσα µνήµη (buffer cache) Μ σελίδων (Μ<Β) η οποία αρχικά περιέχει Μ από τα Β µπλοκ της σχέσης R. Άσκηση 2 (20 µονάδες) Αλγόριθµοι Σύζευξης Μας ενδιαφέρει η σύζευξη δύο πινάκων R και S χρησιµοποιώντας την συνθήκη R.a = S.b. Το γνώρισµα R.a είναι πρωτεύον κλειδί (primary key) του R στο οποίο έχει οριστεί ένα συσταδοποιηµένο (clustered ) ευρετήριο. Το γνώρισµα S.b είναι υποψήφιο κλειδί (candidate key) του S στο οποίο δεν έχουν οριστεί ευρετήρια. Το µέγεθος σε µπλοκ του R και του S είναι ίσα: B(R) = B(S) ενώ το µέγεθος του ευρετηρίου R.a είναι πολύ µικρό σε σχέση µε το B(R). α. (4 µονάδες) Υποθέστε ότι η σύζευξη εκτελείται µε έναν αλγόριθµο φωλιασµένων βρόχων βασισµένο σε µπλοκ (block nested loop) µε τον S εσωτερικό πίνακα και ότι είναι διαθέσιµες Μ σελίδες ενδιάµεσης µνήµης (buffer pages) όπου M < B. Δώστε µια εκτίµηση του κόστους Ε/Ε του πλάνου σε συνάρτηση µε τα B και M όταν το αποτέλεσµα της σύζευξης δεν αποθηκεύεται στον δίσκο (materialized). β. (4 µονάδες) Υποθέστε ότι η σύζευξη εκτελείται µε έναν αλγόριθµο συγχώνευσης µε ταξινόµηση (sort merge) Οι πλειάδες του R διαβάζονται διατεταγµένες χρησιµοποιώντας το συσταδοποιηµένο ευρετήριο στο R.a. Ο S ταξινοµείται χρησιµοποιώντας εξωτερική ταξινόµηση, το αποτέλεσµα της οποίας προωθείται σε σωλήνωση (pipelined) στην σύζευξη. Μ σελίδες ενδιάµεσης µνήµης (buffer 1

pages) είναι διαθέσιµες, όπου J B < M < B. Πόση µνήµη απαιτεί ο αλγόριθµος συγχώνευσης µε ταξινόµηση και πόση η εξωτερική ταξινόµηση; Δικαιολογήστε σύντοµα την απάντησή σας. γ. (8 µονάδες) Εκτιµήστε το κόστος του πλάνου του ερωτήµατος (β) υποθέτοντας Μ σελίδες ενδιάµεσης µνήµης σύµφωνα µε την εκτίµηση που έχετε κάνει προηγουµένως. Υποθέστε ότι οι αναγνώσεις και οι εγγραφές των µπλοκ είναι το ίδιο και ότι το αποτέλεσµα της σύζευξης δεν αποθηκεύεται στον δίσκο (materialized). δ. (4 µονάδες) Υποθέτοντας ότι J B < M < B, κάτω από ποιες συνθήκες ο αλγόριθµος φωλιασµένων βρόχων βασισµένο σε µπλοκ (block nested loop) είναι προτιµότερος από αλγόριθµο συγχώνευσης µε ταξινόµηση (sort merge). Δικαιολογήστε σύντοµα την απάντησή σας εκφράζοντας τις συνθήκες µε όρους των B και M. Άσκηση 3 (35 µονάδες) Βελτιστοποίηση Ερωτηµάτων Σας δίνονται οι παρακάτω πίνακες µε πληροφορία σχετική µε φοιτητές και µαθήµατα που παρακολουθούν: Student(id,name,class) Course(number,name) Enrolment(id,courseNum,grade,semester) Ένας φοιτητής µπορεί να παρακολουθήσει πολλές φορές το ίδιο µάθηµα σε διαφορετικά εξάµηνα. Μας ενδιαφέρει η βελτιστοποίηση του ακόλουθου ερωτήµατος SQL: SELECT * FROM Student,Enrolment,Course WHERE class = 1 AND grade = 'B' AND Student.id = Enrolment.id AND Enrolment.courseNum = Course.number λαµβάνοντας υπόψη τις παρακάτω παραµέτρους: Το µέγεθος µιας σελίδας είναι 4kb. Οι πλειάδες του Student έχουν µέγεθος 400 bytes µε το id να καταλαµβάνει 4 bytes. Οι πλειάδες του Course έχουν µέγεθος 200 bytes. Οι πλειάδες του Enrolment έχουν µέγεθος 100 bytes µε το grade να καταλαµβάνει 1 byte. T(Student) = 10000, T(Course) = 500, T(Enrolment) = 25000 V(Student,class) = 4, V(Enrolment, grade) = 10 500 σελίδες ενδιάµεσης µνήµης (buffer pages). Δείκτες σε µπλοκ καταλαµβάνουν 5 bytes. Όλα τα B+Trees έχουν 80% κάλυψη (occupancy). Έχει οριστεί ένα πρωτεύον (primary) B+Tree ευρετήριο στο γνώρισµα class. Έχει οριστεί ένα δευτερεύον (secondary) B+Tree ευρετήριο στο γνώρισµα grade. α. (10 µονάδες) Υπολογίστε την πιο αποδοτική σειρά εκτέλεσης των συζεύξεων του παραπάνω ερωτήµατος χρησιµοποιώντας τον αλγόριθµο δυναµικού προγραµµατισµού για την εύρεση του βέλτιστου λογικού πλάνου. 2

β. (25 µονάδες) Υπολογίστε το βέλτιστο πλάνο εκτέλεσης του λογικού πλάνου που δώσατε στο προηγούµενο ερώτηµα θεωρώντας τους αλγορίθµους σύζευξης: φωλιασµένων βρόγχων (nested loop), σάρωση µε χρήση ευρετηρίων (index joins), ταξινόµησης και συγχώνευσης (sort-merge). Υπολογίστε τον αριθµό Ε/Ε κάθε πλάνου που εξετάζεται στην απάντησή σας. Άσκηση 4 (25 µονάδες) Εκτίµηση Στατιστικών Σας δίνονται οι παρακάτω πίνακες µε πληροφορία σχετική µε αθλητές στίβου και τις επιδόσεις τους σε αθλητικές διοργανώσεις : Athlete(aid, name, country) Event(eid, year, location) Result(aid, eid, time) Ένας αθλητής έχει έναν µοναδικό κωδικό (aid) καθώς και ένα όνοµα (name) και την χώρα (country) µε την οποία αγωνίζεται. Τα αθλητικά γεγονότα έχουν και αυτά έναν µοναδικό κωδικό (eid) καθώς και πληροφορία για τον χρόνο (year) και την τοποθεσία (location) όπου διοργανώθηκαν (για παράδειγµα 2012 Grete). Οι επιδόσεις των αθλητών σε αγωνίσµατα δρόµων καταγράφεται στο γνώρισµα χρόνος (time). Τα γνωρίσµατα aid και eid είναι εξωτερικά κλειδιά του πίνακα Result από τους πίνακες Athlete και Event. Θεωρήστε τα παρακάτω στατιστικά στους τρεις πίνακες της βάσης δεδοµένων: B(Athlete) = 100 B(Event) = 40 B(Result) = 250 T(Athlete) = 2,000 T(Event) = 400 T(Result) = 50,000 V(Athlete, country) = 100 V(Event, year) = 50 V(Event, location) = 25 Οι πίνακες Athlete και Event είναι συσταδοποιηµένοι στα πρωτεύοντα κλειδιά τους aid και eid αντιστοίχως. Ο πίνακας Result δεν είναι συσταδοποιηµένος. Ο πίνακας Athlete έχει τρία B+tree ευρετήρια στα γνωρίσµατα aid, name, και country. Ο πίνακας Event έχει επίσης τρία B+tree ευρετήρια στα γνωρίσµατα eid, year, και location. Ο πίνακας Result έχει δύο B+ tree στα γνωρίσµατα eid και aid αλλά όχι στο γνώρισµα time. Υποθέστε ότι είναι διαθέσιµη επαρκής ενδιάµεση µνήµη (M) για να κρατήσει τους πίνακες (ολικώς ή µερικώς) ώστε να χρησιµοποιηθούν αλγόριθµοι που απαιτούν ένα µόνο πέρασµα (one-pass) για την εκτέλεση όλων των ερωτηµάτων SQL. Σας δίνεται το ακόλουθο λογικό πλάνο ενός ερωτήµατος που εµπλέκει και τις τρεις σχέσεις : 3

α. (5 µονάδες) Διατυπώστε ένα ερώτηµα SQL το οποίο θα µπορούσε να µεταφραστεί στο λογικό πλάνο που σας δίνεται. β. (5 µονάδες) Ποιο είναι το εκτιµώµενο κόστος του αρχικού λογικού πλάνου λαµβάνοντας υπόψη τα στατιστικά για τις σχέσεις τα οποία σας έχουν δοθεί. Κάντε τις δικές σας υποθέσεις για τους βέλτιστους φυσικούς αλγόριθµους εκτέλεσης των διάφορων σχεσιακών τελεστών του πλάνου και δώστε αριθµητικές εκτιµήσεις κόστους των ενδιάµεσων αποτελεσµάτων που το πλάνο παράγει. γ. (5 µονάδες) Προτείνεται ένα πιο αποδοτικό λογικό πλάνο από αυτό που σας δόθηκε αρχικά στην εκφώνηση που υπολογίζει τα ίδια αποτελέσµατα. Σχεδιάστε το πλάνο και εξηγήστε γιατί αναµένεται να βελτιώσει το κόστος εκτέλεσης του αρχικού. δ. (5 µονάδες) Δώστε µια εκτίµηση του κόστους του καινούργιου πλάνου. ε. (5 µονάδες) Ποιο είναι το βέλτιστο φυσικό πλάνο εκτέλεσης του παρακάτω λογικού πλάνου µε την σειρά των συζεύξεων που προβλέπει; Η απάντησή σας θα πρέπει να περιλαµβάνει τους φυσικούς αλγορίθµους εκτέλεσης των αλγορίθµων σύζευξης (nested loop, sortmerge, hash, κλπ.) καθώς και τις µεθόδους πρόσβασης (access methods) στις πλειάδες των πινάκων που απαιτούν (sequential scan, index, κλπ..) Δώστε όλες απαραίτητες πληροφορίες για την εκτέλεση των συζεύξεων του πλάνου: για συζεύξεις µε κατακερµατισµό ποιός είναι ο πίνακας που χρησιµοποιείται για δηµιουργήσει τον πίνακα κατακερµατισµού και αυτός για την ιχνηλάτησή του (build-probe relations), για συζεύξεις µε φωλιασµένους βρόγχους ποιός είναι ο εσωτερικός και ο εξωτερικός πίνακας (inner or outer relations), καθώς επίσης εάν τα ενδιάµεσα αποτελέσµατα των συζεύξεων αποθηκεύονται στον δίσκο (materialized) ή προωθούνται σε σωλήνωση (pipelined). Για λόγους απλότητας υποθέστε ότι υπάρχει επαρκής ενδιάµεση µνήµη για τους αλγόριθµους σύζευξης που επιλέγεται. Δώστε µια εκτίµηση του κόστους του φυσικού πλάνου που προτείνετε σε Ε/Ε και δικαιολογήστε σύντοµα γιατί είναι το βέλτιστο δυνατό. 4

Άσκηση 5 (12 µονάδες) Επαναδιατύπωση Ερωτηµάτων α. (4 µονάδες) Δώστε ένα φωλιασµένο ερώτηµα στον πίνακα Account(#account, branch, balance) το οποίο επιστρέφει για κάθε υποκατάστηµα (branch) του οποίου το όνοµα αρχίζει από «Α» όλους τους καταθετικούς λογαριασµούς µε το µέγιστο ποσό (balance) στο υποκατάστηµα. β. (4 µονάδες) Επαναδιατυπώστε το προηγούµενο ερώτηµα χωρίς την χρήση φωλιασµένων ερωτηµάτων (αποσυσχέτιση). γ. (4 µονάδες) Με βάση το προηγούµενο παράδειγµα προτείνεται µια γενική διαδικασία για την αποσυσχέτιση ερωτηµάτων. 5