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

Σχετικά έγγραφα
Εαρινό Εξάμηνο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΗΥ360 Αρχεία και Βάσεις Δεδομένων. Φροντιστήριο στην Σχεσιακή Άλγεβρα.

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

R-Trees, kd-trees, QuadTrees. Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

ΗΥ360: Αρχεία και Βάσεις Δεδομένων Διδάσκων: Πλεξουσάκης Δημήτρης. Φροντιστήριο Σχεσιακή Άλγεβρα Δημητράκη Κατερίνα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διδάσκων: Παναγιώτης Ανδρέου

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί

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

Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I. Διδάσκων: Παναγιώτης Ανδρέου

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων. Εργαστήριο ΙV. Τμήμα Πληροφορικής ΑΠΘ

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

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

Βάσεις Δεδομένων Σύνθετα SQL queries

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

Βάσεις Δεδομένων Σύνθετα SQL queries. Ψευδώνυμα (Aliases) (2) Ψευδώνυμα (Aliases) (1) Ασάφεια και Πλήρη Ονόματα. Ερώτημα χωρίς τον όρο WHERE (1)

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

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Σχεσιακός Ορισµός. Μαθ. #12

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

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

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

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

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke

Βάσεις Δεδομένων Ι Εξεταστική Περίοδος Φεβρουαρίου 2006

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

Διαχείριση Πολιτισμικών Δεδομένων

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

Query-by-Example (QBE)

Διαχείριση Πολιτισμικών Δεδομένων

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός

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

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

Βάσεις Περιβαλλοντικών Δεδομένων

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

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

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

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

Φροντιστήριο Σχεσιακή Άλγεβρα (μέρος 2 ο ) - Σχεσιακός Λογισμός Δημητράκη Κατερίνα

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

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

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

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

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

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

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

Transcript:

Βάσεις Δεδομένων ΙΙ Βελτιστοποίηση επερωτημάτων Πανεπιστήμιο Πατρών Τμήμα Μηχανικών Η/Υ & Πληροφορικής Βάσεις Δεδομένων ΙΙ Α. Κομνηνός

Βελτιστοποίηση Ερωτημάτων Διαδικασία επιλογής του πιο αποτελεσματικού πλάνου υπολογισμού ενός ερωτήματος, μεταξύ των διαφόρων στρατηγικών. Επίπεδο σχεσιακής άλγεβρας Επίπεδο επιλογής αλγορίθμου για την εκτέλεση μιας λειτουργίας Επιλογή συγκεκριμένου ευρετηρίου

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

Κανόνες Ισοδυναμίας (1/5) 1. Οι συζευκτικές επιλογές μπορούν να αναλυθούν σε μια ακολουθία Ξεχωριστών επιλογών 2. Οι επιλογές είναι αντιμεταθετικές 3. Σε μια ακολουθία από προβολές μόνο η τελευταία προβολή χρειάζεται, οι υπόλοιπες μπορούν να παραληφθούν 4. Οι επιλογές μπορούν να συνδυαστούν με Καρτεσιανά γινόμενα και θήτα συνενώσεις α. σ θ (E 1 X E 2 ) = E 1 θ E 2 β. σ θ1 (E 1 θ2 E 2 ) = E 1 θ1 θ2 E 2

Κανόνες Ισοδυναμίας (2/5) 5. Οι λειτουργίες Θ- συνένωσης (και φυσικής σύνδεσης) είναι αντιμεταθετικές E 1 θ E 2 = E 2 θ E 1 6. a) Οι λειτουργίες φυσικής σύνδεσης είναι προσεταιριστικές : (E 1 E 2 ) E 3 = E 1 (E 2 E 3 ) (b) Οι λειτουργίες Θ- συνένωσης είναι προσεταιριστικές, με την ακόλουθη έννοια : (E 1 θ1 E 2 ) θ2 θ3 E 3 = E 1 θ1 θ3 (E 2 θ2 E 3) όπου η θ 2 περιλαμβάνει χαρακτηριστικά μόνο των E 2 και E 3

Κανόνες Ισοδυναμίας (3/5) 7. Η επιλογή αντιμετατίθεται με Θ - συνένωση κάτω από τις ακόλουθες δύο συνθήκες: (a) Όταν όλα τα χαρακτηριστικά της συνθήκης θ 0 προέρχονται μόνο από τα χαρακτηριστικά μιας εκ των σχέσεων που συμμετέχουν στη σύνδεση (π.χ. E 1 ) σ θ0 (E 1 θ E 2 ) = (σ θ0 (E 1 )) θ E 2 (b ) Όταν όλα τα χαρακτηριστικά της συνθήκης θ 1 προέρχονται (περιλαμβάνουν) μόνο από χαρακτηριστικά της E 1 ενώ τα χαρακτηριστικά της θ 2 προέρχονται μόνο από χαρακτηριστικά της E 2 σ θ1 θ2 (E 1 θ E 2 ) = (σ θ1 (E 1 )) θ (σ θ2 (E 2 ))

Κανόνες Ισοδυναμίας (4/5) 8. Η προβολή επιμερίζεται με τη Θ- συνένωση ως εξής: (a) Αν η προβολή Π περιλαμβάνει χαρακτηριστικά μόνο από το σύνολο L 1 L 2 : L ( E θ E 2 ) = ( L ( E 1 )) θ ( L ( 2 )) 1 L 2 1 E 1 2 (b) Ας θεωρήσουμε τη συνένωση E 1 θ E 2 Έστω L 1 και L 2 είναι σύνολα χαρακτηριστικών από E 1 και E 2, αντίστοιχα Έστω L 3 τα χαρακτηριστικά της E 1 που συμμετέχουν στη συνθήκη θ, αλλά δεν ανήκουν στο L 1 L 2, και έστω L 4 τα χαρακτηριστικά της E 2 που συμμετέχουν στη συνθήκη θ αλλά δεν ανήκουν στο L 1 L 2 ( E θ E ) = 2 L (( L L L ( E 1 )) ( θ L L ( 2 ))) 1 L 1 E 2 1 2 1 3 2 4 L

Κανόνες Ισοδυναμίας (5/5) 9. H ένωση και η τομή είναι αντιμεταθετικές E 1 E 2 = E 2 E 1 E 1 E 2 = E 2 E 1 Σημείωση: η διαφορά δεν είναι αντιμεταθετική 10. Η ένωση και η τομή είναι προσεταιριστικές (E 1 E 2 ) E 3 = E 1 (E 2 E 3 ) (E 1 E 2 ) E 3 = E 1 (E 2 E 3 ) 11. Η λειτουργία της επιλογής επιμερίζεται με τις λειτουργίες, και σ θ (E 1 E 2 ) = σ θ (E 1 ) σ θ (E 2 ) Όμοια με τους τελεστές και Επιπλέον: σ θ (E 1 E 2 ) = σ θ (E 1 ) E 2 αν η θ αφορά μόνο χαρακτηριστικά της E 2 Όμοια με τον τελεστές αλλά δεν ισχύει με το 12. Η λειτουργία της προβολής κατανέμεται στη λειτουργία της ένωσης Π L (E 1 E 2 ) = (Π L (E 1 )) (Π L (E 2 ))

Γραφική Αναπαράσταση Ισοδυναμιών

Γενικά Μεταθέτουμε τις επιλογές στους πίνακες που ταιριάζουν έτσι ώστε να μειώσουμε τις πλειάδες που επιστρέφουν (περιορισμός) Μεταθέτουμε τις σχέσεις έτσι ώστε οι πιο περιοριστικές πράξεις να γίνονται πρώτα Αντικαθιστούμε τα γινόμενα / επιλογές με συνενώσεις 10

Άσκηση 1 - Παράδειγμα βελτιστοποίησης Ερώτημα: Να βρεθούν τα επίθετα των εργαζομένων που γεννήθηκαν μετά το 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 ΑΠΑΣΧΟΛΗΣΗ ΕΡΓΟ

Άσκηση Ερώτημα: Να βρεθούν τα επίθετα των μηχανικών που δούλεψαν στο αυτοκίνητο ΑΧΝ- 2699 την 26/3/2011 SQL: SELECT Επίθετο FROM ΜΗΧΑΝΙΚΟΣ Μ, ΕΠΙΣΚΕΥΗ Ε, ΑΥΤΟΚΙΝΗΤΟ Α WHERE Α.Πινακίδα= ΑΧΝ- 2699 AND Ε.Πιν=Α.Πινακίδα AND Ε.Μηχ=Μ.Κωδικός AND E.ημ = 26/3/2011 π Επίθετο σ Α,Πινακίδα= ΑΧΝ- 2699 AND Ε.Πιν = Α.Πινακίδα AND Ε.Μηχ=Μ.Κωδικός AND Ε.ημ=26/3/2011 x x Αυτοκίνητο Μηχανικός Επισκευή 15

Υπολογισμός προσπελάσεων Ακολουθιακή Σάρωση b(rel) = n(rel) / f(rel) Στη μέση περίπτωση: b(rel) / 2 Προσπέλαση αν έχουμε διάταξη κατά γνώρισμα k: Selec on Cardinality SC» SC(k, rel)= n(rel) / V(k, rel) b(k, rel) = log2(v(k, rel))+ SC(k, rel)/f(rel) - 1 Προσπέλαση αν το k είναι και κλειδί b(k, rel) = log2(b(rel)) 16

Υπολογισμός προσπελάσεων Σε περίπτωση δένδρου Ύψος δένδρου ΗΤ= log(v(k, rel)) / log(fanout) Προσπελάσεις SC(k, rel)= n(rel) / V(k, rel) b(k, rel) = HT+ SC(k, rel) / f(rel) 17

Άσκηση 2 Έστω η πράξη επιλογής: σ e- name= George (employee), όπου employee(e- id, e- name, e- address, e- age, e- salary). Για τον υπολογισμό της επιλεκτικότητας (selec on cardinality) θεωρείστε ότι έχουμε ομοιόμορφη κατανομή των τιμών. Θεωρείστε: n employee =20.000 εγγραφές, f employee =50 εγγραφές ανά μπλοκ, V(e- salary, employee) = 100 διακριτές εγγραφές, V(e- age, employee) = 40 διακριτές εγγραφές, V(e- name, employee) = 100 διακριτές εγγραφές, 1) Βρείτε το πλήθος των προσπελάσεων σε αριθμό μπλοκς μιας ακολουθιακής σάρωσης 2) Αν χρησιμοποιήσουμε ένα αραιό ευρετήριο τύπου B- tree ως δομή δεικτοδότησης, για το δευτερεύον κλειδί e- name με fan- out=50: a) Βρείτε το πλήθος των επιπέδων του ευρετηρίου b) Βρείτε το πλήθος των προσπελάσεων σε αριθμό μπλοκς.

Λύση 1) b employee = n employee /f employee =400 disk accesses 2) a) HT=log(#entries)/log(fanout)= =log(100)/log(50)=2 επίπεδα 2) b) ΗΤ ι + SC(ename,employee)/ f employee = =2+200/50=6 προσπελάσεις SC(ename,employee)= n employee / V(e- name, employee) =200

Άσκηση Έστω η πράξη επιλογής: σ εκδότης= Κάκτος (βιβλία), όπου βιβλία (ISBN, τιτλος, τιμή, εκδότης, συγγραφέας, περιγραφή). Για τον υπολογισμό της επιλεκτικότητας (selec on cardinality) θεωρείστε ότι έχουμε ομοιόμορφη κατανομή των τιμών. Θεωρείστε: n βιβλία =30.000 εγγραφές, f βιβλία =60 εγγραφές ανά μπλοκ, V(τιμή, βιβλία) = 20 διακριτές εγγραφές, V(συγγραφέας, βιβλία) = 100 διακριτές εγγραφές, V(εκδότης, βιβλία) = 30 διακριτές εγγραφές, 1) Βρείτε το πλήθος των προσπελάσεων σε αριθμό μπλοκς μιας ακολουθιακής σάρωσης Μιας ακολουθιακής σάρωσης στη μέση περίπτωση Όταν πρόκειται γίνει αναζήτηση και έχουμε ταξινόμηση κατά το κλειδί ISBN 2) Αν χρησιμοποιήσουμε ένα αραιό ευρετήριο τύπου B- tree ως δομή δεικτοδότησης, για το δευτερεύον κλειδί εκδότης με fan- out=40: a) Βρείτε το πλήθος των επιπέδων του ευρετηρίου b) Βρείτε το πλήθος των προσπελάσεων σε αριθμό μπλοκς. 20