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

Σχετικά έγγραφα
Βελτιστοποίηση επερωτημάτων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 8. SQL-99: Ορισμός Σχήματος, Περιορισμοί, και Επερωτήσεις και Όψεις

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πράξεις στο Σχεσιακό Μοντέλο

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

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

Σχεσιακή Άλγεβρα. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1

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

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

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

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

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

Απεικόνιση Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Μοντέλο Δεδομένων

Απεικόνιση Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Μοντέλο Δεδομένων

Εξωτερική Ταξινόμηση. Μ.Χατζόπουλος 1

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

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

Σχεσιακή Άλγεβρα. Συνολοθεωρητικές Πράξεις. Εκφράσεις. Ειδικές Πράξεις. Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων. Σχεσιακός Λογισμός

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

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

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

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

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

Βάσεις Δεδομένων 2. Φροντιστήριο Δοσοληψίες Τεχνικές ελέγχου συνδρομικότητας. Ημερ: 05/5/2009 Ακ.Έτος

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

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

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

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

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

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

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

Τελεστής Προβολής - Παράδειγμα. Π Πόλη, Εξάμηνο (Φοιτητές)

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

Οργάνωση Αρχείων. Βάσεις Δεδομένων : Οργάνωση Αρχείων 1. Blobs

Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL

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

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

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

#5. Σχεσιακό Μοντέλο

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

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

Περιεχόμενα. Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL. Συνένωση Σχέσεων στην SQL2 (3) Συνένωση Σχέσεων στην SQL2. (Join Relations Feature in SQL)

Οργάνωση Αρχείων. Βάσεις Δεδομένων : Οργάνωση Αρχείων 1. Blobs

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

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

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα

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

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

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

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

Το Σχεσιακό Μοντέλο-Σχεσιακή Άλγεβρα, Σχεσιακός Λογισμός. 06/06/2009 Μ.Χατζόπουλος 1

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

Βάσεις εδοµένων Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

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

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

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

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

Τα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο

Transcript:

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

Υλοποίηση σχεσιακών πράξεων ΤΑΞΙΝΟΜΗΣΗ Εξωτερική ταξινόμηση για μεγάλα αρχεία, αποθηκευμένα στον δίσκο Φάση Ταξινόμησης Ταξινόμηση υπό-αρχείων σειρών (runs) Φάση Συγχώνευσης Συγχώνευση ενδιάμεσων αρχείων σε τελικό Κόστος ταξινόμησης σε blocks (2*b) +(2*(b*(log dm (n R ))) Φάση ταξινόμησης (2 προσπελάσεις / block) Φάση συγχώνευσης

Υλοποίηση σχεσιακών πράξεων ΤΑΞΙΝΟΜΗΣΗ n R = πλήθος των αρχικών σειρών b = Πλήθος των block του αρχείου n B =διαθέσιμος χώρος buffer n R = b/n B d M = βαθμός συγχώνευσης Το πλήθος των σειρών που μπορούν να συγχωνευθούν σε ένα πέρασμα d M =min(n B -1,n R ) Πλήθος περασμάτων = (log dm (n R ))

Υλοποίηση σχεσιακών πράξεων ΣΥΝΝΕΝΩΣΗ R A=B S Μέθοδοι: Εμφωλευμένοι βρόγχοι Συνένωση απλού βρόγχου (χρήση μιας δομής προσπέλασης για ανάκτηση εγγραφών που ικανοποιούν την συνθήκη) Συνένωση ταξινόμησης-συγχώνευσης Συνένωση με κατακερματισμό Φάση διαμέρισης Φάση αναζήτησης

Θεωρία Συμβολισμός Δέντρων Επερωτήσεων Δέντρο επερωτήσεων : μίαδεντρικήδομήπου αντιστοιχεί σε μία έκφραση της σχεσιακής άλγεβρας Σχέσεις εισόδου κόμβοι φύλλα Πράξεις σχεσιακής άλγεβρας εσωτερικοί κόμβοι Εκτέλεση του δέντρου επερώτησης: Εκτέλεση των πράξεων κάθε εσωτερικού κόμβου όταν οι σχέσεις εισόδου του είναι διαθέσιμες και... Αντικατάσταση του εσωτερικού κόμβου από την σχέση που προκύπτει από την εκτέλεση της πράξης Τερματισμός: Εκτέλεση της πράξης στον κόμβο ρίζα Δείχνει την σειρά εκτέλεσης Πολλά ισοδύναμα δέντρα

Παράδειγμα π Για κάθε έργο στην θέση Stafford, να ανακτηθεί ο κωδικός του έργου, ο κωδικόςτου τμήματος που το ελέγχει και το επίθετο, η διεύθυνση και η ημερομηνία γέννησης του διευθυντή του τμήματος ΚΩΔ _ ΕΡΓΟΥ, ΚΩΔ _ ΤΜΗΜ, ΕΠΙΘΕΤΟ, ΔΙΕΥΘΥΝΣΗ, ΗΜΕΡΟ _ ΓΕΝ ΤΟΠ _ ΕΡΓΟΥ= ' Stafford ' Κ_ ΤΜΗΜΑ=ΚΩΔ_ ΤΜΗΜ ΔΙΕΥΘΥΝΤΗΣ=ΑΡ_ ΤΑΥΤ ((( σ ( ΕΡΓΟ)) ( ΤΜΗΜΑ)) ΕΡΓΑΖΟΜΕΝΟΣ)) π Ρ.ΚΩΔ_ΕΡΓΟΥ,Ρ.Κ_ΤΜΗΜΑ,Ε.ΕΠΙΘΕΤΟ,Ε.ΔΙΕΥΘΥΝΣΗ,Ε.ΗΜ_ΓΕΝ Select Ρ.ΚΩΔ_ΕΡΓΟΥ,Ρ.Κ_ΤΜΗΜΑ,Ε.ΕΠΙΘ ΕΤΟ,Ε.ΔΙΕΥΘΥΝΣΗ,Ε.ΗΜ_ΓΕΝ FROM ΕΡΓΟ AS P, ΤΜΗΜΑ AS Τ, ΕΡΓΑΖΟΜΕΝΟΣ AS Ε. WHERE P.K_TMHMA=T.ΚΩΔ_ΤΜΗΜ AND Τ.ΔΙΕΥΘΥΝΤΗΣ = Ε.ΑΡ_ΤΑΥΤ AND Ρ.ΤΟΠ_ΕΡΓΟΥ= Stafford (3) Τ.ΔΙΕΥΘΥΝΤΗΣ=Ε.ΑΡ_ΤΑΥΤ (2) Ρ.Κ_ΤΜΗΜΑ=Τ.ΚΩΔ_ΤΜΗΜ ΕΡΓΑΖΟΜΕΝΟΣ (1) σ Ρ.ΤΟΠ_ΕΡΓΟΥ= Stafford TMHMA ΕΡΓΟ

Γράφος Επερωτήσεων Σχέσεις κόμβοι (κύκλοι) Πχ : ΕΡΓΑΖΟΜΕΝΟΣ Σταθερές τιμές σταθεροί κόμβοι (διπλοί κύκλοι) Πχ: Stafford Συνθήκες επιλογής συνένωσης πλευρές γράφου Γνωρίσματα που ανακτώνται Τετράγωνες αγκύλες στην αντίστοιχη σχέση Δενδείχνειτηνσειράεκτέλεσης Ένας γράφος για κάθε επερώτησης

Παράδειγμα [Ε.ΕΠΙΘΕΤΟ,ΕΔΙΕΥΘΥΝΣΗ,Ε/ΗΜ_ΓΕΝ] Ε.ΑΡ_ΤΑΥΤ=Τ.ΔΙΕΥΘΥΝΤΗΣ Τ.ΚΩΔ_ΤΜΗΜ=Ρ.Κ_ΤΜΗΜΑ [Ρ.ΚΩΔ_ΕΡΓΟΥ,Ρ.Κ_ΤΜΗΜΑ] E T P Ρ.ΤΟΠ_ΕΡΓΟΥ= Stafford Stafford

Γενικοί κανόνες μετασχηματισμού βελτίωση επερωτήσεων με ευριστικούς κανόνες Θεωρούμε αδιάφορη την διάταξη γνωρισμάτων 1. Διασπώνται οι πράξεις επιλογής και με συζευκτικές συνθήκες σε ακολουθίες πράξεων επιλογής 2. Μετατοπίζεται κάθε πράξη επιλογής όσο πιο κάτω επιτρέπεται από τα γνωρίσματα που περιλαμβάνονται στην συνθήκη επιλογής 3. Θέσε τους κόμβους φύλλα έτσι ώστε να εκτελούνται πρώτα οι κόμβοιφύλλα με τις σχέσεις που έχουν πιο περιοριστικές πράξεις επιλογής (Λιγότερες πλειάδες ή μικρότερη επιλεκτικότητα). Εξασφαλίστε ότι η διάταξη των κόμβων δεν προκαλεί πράξεις καρτεσιανού γινομένου. 4. Αντικατάσταση συνδυασμού καρτεσιανού γινομένου και πράξεων επιλογής με μια συνθήκη συνένωσης 5. Οι λίστες γνωρισμάτων προβολής διασπώνται και μετατοπίζονται όσο το δυνατών πιο κάτω στο δέντρο της επερώτησης 6. Εντοπισμός υποδέντρων με ομάδες πράξεων που μπορεί να εκτελεστούν με κοινό αλγόριθμο

Βελτίωση επερωτήσεων με συστηματική εκτίμηση του κόστους διαφορετικών στρατηγικών εκτέλεσης Επιλεκτικότητα s κάποιας συνθήκης: Ο λόγος του πλήθους των εγγραφών(πλειάδων) που ικανοποιούν την συνθήκη (έστω i) προς τον ολικό αριθμό εγγραφών (πλειάδων) r(r) στο αρχείο (σχέση r(r)) s=1/i Πλήθος των εγγραφών που ικανοποιούν μια συνθήκη = s* r(r) Αν s* r(r) ησυνθήκηχρησιμοποιείταιπρώτηγια ανάκτηση εγγραφών

Ασκήσεις

Άσκηση 1 Έστω οι σχέσεις r 1 (A,B,C), r 2 (C,D,E) και r 3 (E,F) με πρωτεύοντα κλειδιά τα γνωρίσματα A,C,E. Υποθέστε ότι οι r 1 έχει 1000 Πλειάδες, η r 2 έχει 1500 πλειάδες και η r 3 έχει 750 πλειάδες. Υπολογίστε το μέγιστο μέγεθος (σε πλειάδες) της φυσικής συνένωσης r 1 r 2 r 3

ΛΥΣΗ r 1 (A,B,C), r 2 (C,D,E) και r 3 (E,F) r 1 r 2 1000, 1500 1000 πλειάδες το πολύ, διότι οι 1500 εγγραφές της σχέσης r 2 μπορεί να ταιριάζουν τοελάχιστομεκαμίαήτοπολύμε1000 εγγραφές της σχέσης r 1 r 2 r 3 1500, 750 1500 πλειάδες το πολύ, διότι οι 750 εγγραφές της σχέσης r 3 μπορεί να ταιριάζουν τοελάχιστομεκαμίαήτοπολύμε1500 εγγραφές της σχέσης r 2 r 1 r 2 r 3 r 1 (1500) 1000 πλειάδες το πολύ

Άσκηση 2 ΕΡΓΑΖΟΜΕΝΟΣ ΑΡΙΘ_Τ=ΚΩΔ_ΤΜΗΜ ΤΜΗΜΑ n B =7 block ΤΜΗΜΑ r T =50 εγγραφές σε b T =10 blocks ΕΡΓΑΖΟΜΕΝΟΣ r E =6000 εγγραφές σε b E =2000 blocks Βρείτε το κόστος συνένωσης σε προσπελάσεις blocks με χρήση της μεθόδου συγχώνευσης εμφωλευμένων βρόγχων.

Λύση Προσέγγιση Εμφωλευμένων βρόγχων Διαβάζονται στην μνήμη n B -2 blocks από μία σχέση +1 block γιανακαταχωρούνταιοιεγγραφές του αποτελέσματος μετά την συνένωση +1 block που διαβάζει από το αρχείο του εσωτερικού βρόγχου

Λύση Προσέγγιση Εμφωλευμένων βρόγχων Επιλέγουμε σχέση Εργαζόμενος στον εξωτερικό βρόγχο: Πλήθος προσπελάσεων block για το εξωτερικό αρχείο: b E Φορές που φορτώνονται (n B - 2) block του εξωτερικού αρχείου : b E /(n B -2) Πλήθος προσπελάσεων block γιατοεσωτερικόαρχείο: b Τ *( b E /(n B -2) ) ΕΡΓΑΖΟΜΕΝΟΣ 1 2 n B -2 n B -2 n B -2 b E 1 1 1 1... 1 b Τ b E /(n B -2) ΤΜΗΜΑ Συνολικό πλήθος προσπελάσεων μπλοκ: b Τ *( b E /(n B -2) ) + b E =10 *( 2000/5) ) +2000 = 6000

Λύση Προσέγγιση Εμφωλευμένων βρόγχων Επιλέγουμε σχέση TMHMA στον εξωτερικό βρόγχο: Πλήθος προσπελάσεων block για το εξωτερικό αρχείο: b T Φορές που φορτώνονται (n B - 2) block του εξωτερικού αρχείου : b Τ /(n B -2) Πλήθος προσπελάσεων block γιατοεσωτερικόαρχείο: b Ε *( b Τ /(n B -2) ) ΤΜΗΜΑ 1 2 n B -2 n B -2 n B -2 b T 1 1 1 1... 1 b E b T /(n B -2) ΕΡΓΑΖΟΜΕΝΟΣ Συνολικό πλήθος προσπελάσεων μπλοκ: b Ε *( b Τ /(n B -2) ) + b Τ =2000 *( 10/5) ) +10 = 4010

Λύση Προσέγγιση Εμφωλευμένων βρόγχων Παρατήρηση: Είναι προτιμότερο να χρησιμοποιούνται στο εξωτερικό block το αρχείο με τα λιγότερα block Αν το αρχείο που προκύπτει καταλαμβάνει b RES blocks τότε στους προηγούμενους τύπους πρέπει να προσμετρηθεί επιπλέον b RES προκειμένου να εκτιμηθεί το κόστος της πράξης συνένωσης.

Άσκηση 3 ΤΜΗΜΑ ΔΙΕΥΘΥΝΤΗΣ=ΑΡ_ΤΑΥΤ ΕΡΓΑΖΟΜΕΝΟΣ Δευτερεύοντα ευρετήρια για τα γνωρίσματα ΔΙΕΥΘΥΝΤΗΣ (2 επιπέδων x ΔΙΕΥΘΥΝΤΗΣ =2),ΑΡ_ΤΑΥΤ(4 επιπέδων x ΑΡ_ΤΑΥΤ =4) n B =7 block ΤΜΗΜΑ r T =50 εγγραφές σε b T =10 blocks ΕΡΓΑΖΟΜΕΝΟΣ r E =6000 εγγραφές σε b E =2000 blocks 1. Βρείτε το κόστος συνένωσης σε προσπελάσεις blocks με χρήση της μεθόδου συγχώνευσης απλού βρόγχου. 2. Βρείτε το κόστος συνένωσης σε προσπελάσεις blocks με χρήση της μεθόδου ταξινόμησης συγχώνευσης.

Λύση 1 επιλογή Α Ανακτάται κάθε εγγραφή της σχέσης ΕΡΓΑΖΟΜΕΝΟΣ Χρήση του ευρετηρίου στο γνώρισμα ΔΙΕΥΘΥΝΤΗΣ για να βρεθεί η εγγραφή της σχέσης ΤΜΗΜΑ που αντιστοιχεί Προσπελάσεις block κατά προσέγγιση b E + (r E *(x ΔΙΕΥΘΥΝΤΗΣ +1) = 2000 + 6000*3 =20000 Στην χειρότερη περίπτωση

Λύση 1 επιλογή Β Ανακτάται κάθε εγγραφή της σχέσης ΤΜΗΜΑ Χρήση του ευρετηρίου στο γνώρισμα ΑΡ_ΤΑΥΤ για να βρεθεί η εγγραφή της σχέσης ΕΡΓΑΖΟΜΕΝΟΣ που αντιστοιχεί Προσπελάσεις block κατά προσέγγιση b T + (r T *(x ΑΡ_ΤΑΥΤ +1) = 10 + 50*5 =260 Στην χειρότερη περίπτωση

Λύση 1- Παρατηρήσεις Επιλογή Α Υπάρχουν εργαζόμενοι που δεν είναι διευθυντές και οι εγγραφές τους θα ανακτηθούν Επιλογή Β Κάθε εγγραφή τμήμα που θα ανακτηθεί έχει αντίστοιχη εγγραφή στην σχέση ΕΡΓΑΖΟΜΕΝΟΣ Συμπέρασμα: Στον εξωτερικό βρόγχο χρησιμοποιούμε είτε το μικρότερο αρχείο, είτε το αρχείο για κάθε εγγραφή του οποίου υπάρχει αντίστοιχη εγγραφή στο άλλο αρχείο (μεγάλος παράγοντας επιλεκτικότητας συνένωσης) Παράγοντας επιλεκτικότητας συνένωσης Το ποσοστό των εγγραφών ενός αρχείου που θα συνενωθούν με εγγραφές του άλλου αρχείου

Λύση 2 nr = b/nb = #runs dm =min(nb-1,nr) Πλήθος περασμάτων = (logdm(nr)) = (log63(64)) Τα γνωρίσματα συνένωσης πρέπει να είναι ταξινομημένα Κόστος Ταξινόμησης γνωρίσματος ΔΙΕΥΘΥΝΤΗΣ n R = b T /n B = 10/7 =2 (2*b T )+(2*(b T *(log dm (n R ))) = 2 * 10 + 2 *10*log 2 (2)=40 Κόστος Ταξινόμησης γνωρίσματος ΑΡ_ΤΑΥΤ n R = b E /n B = 2000/7 =286 (2*b E )+(2*(b E *(log dm (n R ))) =2*2000 + 2*2000* log 6 (286) Επιπλέον το άθροισμα των block των δύο αρχείων Εκτελείται μόνο μια σάρωση των δύο αρχείων b E + b T = 2000 + 10 προσπελάσεις blocks

Άσκηση 4-Παράδειγμα βελτιστοποίησης Ερώτημα: Να βρεθούν τα επίθετα των εργαζομένων που γεννήθηκαν μετά το 1957 και απασχολούνται σε ένα έργο με όνομα Aquarious SQL: SELECT ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ, ΑΠΑΣΧΟΛΗΣΗ,ΕΡΓΟ WHERE Ε_ΟΝΟΜΑ= Aquarius AND ΚΩΔ_ΕΡΓΟΥ=Κ_ΕΡΓΟ AND Ε_ΑΡΤΑΥΤ_ΑΡ_ΤΑΥΤ AND ΗΜ_ΓΕΝ> 1957-12-31

Παράδειγμα βελτιστοποίησης Δέντρο επερώτησης Αρχικό Πρώτα πράξεις επιλογής π ΕΠΙΘΕΤΟ π ΕΠΙΘΕΤΟ σ Ε_ΟΝΟΜΑ= Aquarius AND ΚΩΔ_ΕΡΓΟΥ=Κ_ΕΡΓΟ AND Ε_ΑΡΤΑΥΤ=ΑΡ_ΤΑΥΤ AND ΗΜ_ΓΕΝ> 1957-12-31 x x ΕΡΓΟ σ ΚΩΔ_ΕΡΓΟΥ=Κ_ΕΡΓΟ x σ σ Ε_ΑΡΤΑΥΤ=ΑΡ_ΤΑΥΤ Ε_ΟΝΟΜΑ= Aquarius ΕΡΓΑΖΟΜΕΝΟΣ ΑΠΑΣΧΟΛΗΣΗ x ΕΡΓΟ σ ΗΜ_ΓΕΝ> 1957-12-31 ΑΠΑΣΧΟΛΗΣΗ ΕΡΓΑΖΟΜΕΝΟΣ

Παράδειγμα βελτιστοποίησης Δέντρο επερώτησης Αντιμετάθεση σχέσεων (Πιο περιοριστικές πρώτα) Αντικατάσταση καρτεσιανού γινομένου με συνένωση π ΕΠΙΘΕΤΟ π ΕΠΙΘΕΤΟ σ Ε_ΑΡΤΑΥΤ=ΑΡ_ΤΑΥΤ x Ε_ΑΡΤΑΥΤ=ΑΡ_ΤΑΥΤ σ ΚΩΔ_ΕΡΓΟΥ=Κ_ΕΡΓΟ σ ΗΜ_ΓΕΝ> 1957-12-31 ΚΩΔ_ΕΡΓΟΥ=Κ_ΕΡΓΟ σ ΗΜ_ΓΕΝ> 1957-12-31 x ΕΡΓΑΖΟΜΕΝΟΣ σ Ε_ΟΝΟΜΑ= Aquarius ΑΠΑΣΧΟΛΗΣΗ ΕΡΓΑΖΟΜΕΝΟΣ σ Ε_ΟΝΟΜΑ= Aquarius ΑΠΑΣΧΟΛΗΣΗ ΕΡΓΟ ΕΡΓΟ

Παράδειγμα βελτιστοποίησης Δέντρο επερώτησης Μετακίνηση των πράξεων προβολής προς τα κάτω, στο δέντρο επερώτησης π ΕΠΙΘΕΤΟ Ε_ΑΡΤΑΥΤ=_ΑΡ_ΤΑΥΤ π Ε_ΑΡΤΑΥΤ π ΑΡ_ΤΑΥΤ,ΕΠΙΘΕΤΟ ΚΩΔ_ΕΡΓΟΥ=Κ_ΕΡΓΟ σ ΗΜ_ΓΕΝ> 1957-12-31 π ΚΩΔ_ΕΡΓΟΥ π Ε_ΑΡΤΑΥΤ,Κ_ΕΡΓΟ ΕΡΓΑΖΟΜΕΝΟΣ σ Ε_ΟΝΟΜΑ= Aquarius ΑΠΑΣΧΟΛΗΣΗ ΕΡΓΟ

Τέλος!!!! Ύλη κεφάλαιο 15 του βιβλίου : R. Elmasri - S.B. Navathe, Θεμελιώδεις Αρχές Συστημάτων Βάσεων Δεδομένων Α' τόμος 4η έκδοση αναθεωρημένη, Eκδοσεις Δίαυλος, 2005.