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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ταξινόμηση με συγχώνευση Merge Sort

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

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

Ενδεικτικές Ερωτήσεις Θεωρίας

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

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

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

Διαδικασιακός Προγραμματισμός

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis)

Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

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

Αποθήκευση εδομένων. Μαγνητικοί ίσκοι. Μαγνητικές ταινίες για. Εισαγωγή

Σχεδιασμός μιας Β : Βήματα

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

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

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

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)

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

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I

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

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

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

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

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή

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

Ταξινόμηση κάδου και ταξινόμηση Ρίζας Bucket-Sort και Radix-Sort

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

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

Transcript:

Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΣΔΒΔ Σύνολο από προγράμματα γιατηδιαχείρισητηςβδ Αρχεία ευρετηρίου Αρχεία δεδομένων Κατάλογος συστήματος ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Σύστημα Βάσεων Δεδομένων (ΣΒΔ) 2 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 1

Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 3 Επεξεργασία Ερωτήσεων Ερώτηση SQL Ερώτηση Συντακτική Ανάλυση & Μετάφραση Έκφραση της Σχεσιακής Άλγεβρας Βελτιστοποίηση Μηχανή Υπολογισμού Σχέδιο Εκτέλεσης Στατιστικά Στοιχεία Δεδομένα Αποτέλεσμα 4 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 2

Επεξεργασία Ερωτήσεων Τα βασικά βήματα στην επεξεργασία μιας ερώτησης είναι 1. Συντακτική Ανάλυση & Μετάφραση 2. Βελτιστοποίηση 3. Υπολογισμός 5 Συντακτική Ανάλυση & Μετάφραση 1. Συντακτική Ανάλυση (Parsing)& Μετάφραση Η SQL ερώτηση μεταφράζεται σε μια εσωτερική μορφή αφού γίνει ο απαραίτητος συντακτικός και σημασιολογικός έλεγχος (π.χ., τα ονόματα που αναφέρονται είναι ονόματα σχέσεων που υπάρχουν) Αντικατάσταση των όψεων από τον ορισμό τους Σε ποια εσωτερική μορφή; Έκφραση της σχεσιακής άλγεβρας selecta 1, A 2,, A n from R 1, R 2,, R m where P π A1, A2,, An (σ P (R 1 xr 2 x xr m )) 6 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 3

Βελτιστοποίηση 2. Βελτιστοποίηση Μια SQL ερώτηση μπορεί να μεταφραστεί σε διαφορετικές (ισοδύναμες) εκφράσεις της σχεσιακής άλγεβρας select balance from account wherebalance < 25000 π balance (σ balance < 2500 (account)) σ balance < 2500 (π balance (account)) Με ποιο κριτήριο γίνεται η επιλογή της έκφρασης; Η βελτιστοποίηση είναι το πιο «δύσκολο» βήμα 7 Βελτιστοποίηση Κάθε πράξη της σχεσιακής άλγεβρας μπορεί να υλοποιηθεί με διαφορετικούς αλγορίθμους: π.χ., για την υλοποίηση της επιλογής μπορεί είτε να σαρώσουμε (scan σειριακή αναζήτηση) όλο το αρχείο ελέγχοντας κάθε εγγραφή αν ικανοποιεί τη συνθήκη είτε ανυπάρχει π.χ., έναβ + ευρετήριο στο γνώρισμαbalance να χρησιμοποιήσουμε το ευρετήριο Άρα δεν αρκεί ο προσδιορισμός της πράξης - πρέπει να προσδιορίζεται και ο αλγόριθμος που θα χρησιμοποιηθεί για την υλοποίησή της 8 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 4

Βελτιστοποίηση βασικές(primitive) πράξεις: πράξη + αλγόριθμος Σχέδιο εκτέλεσης(execution plan): μια ακολουθία από βασικές πράξεις π balance σ balance < 2500, χρησιμοποίησε το ευρετήριο 1 account 9 Βελτιστοποίηση selecta 1, A 2,, A n from R 1, R 2,, R m where P x Μετάφραση π Α1, Α2,... An σ P x π A1, A2,, An (σ P (R 1 xr 2 x xr m )) Πλάνο εκτέλεσης (ποιες πράξεις και με ποιον αλγόριθμο) Φύλλα: σχέσεις Εσωτερικοί κόμβοι: βασικές πράξεις της σχεσιακής άλγεβρας x Βελτιστοποίηση του πλάνου R 1 R 2 R 3 R m 10 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 5

Βελτιστοποίηση Τα διαφορετικά σχέδια εκτέλεσης έχουν και διαφορικό κόστος Βελτιστοποίηση: η διαδικασία επιλογής του σχεδίου εκτέλεσης που έχει το μικρότερο κόστος Εκτίμηση του κόστους (συνήθως χρήση στατιστικών στοιχείων) 11 Βελτιστοποίηση Ερωτήσεων Μερικοί ευριστικοί κανόνες Γενική ιδέα: εκτέλεση πρώτα των πράξεων με μικρή επιλεξικότητα ώστε να περιοριστεί το μέγεθος των ενδιάμεσων αποτελεσμάτων 1. Διάσπαση των πράξεων επιλογής με συζευκτικές συνθήκες σε ακολουθίες πράξεων επιλογής 2. Μετατοπίζουμε την πράξη επιλογής όσο πιο κάτω επιτρέπεται από τα γνωρίσματα που περιλαμβάνονται στη συνθήκη 3. Επανα-διευθέτηση των φύλλων ώστε να εκτελούνται πρώτα οι σχέσεις που έχουν τις πιο περιοριστικές πράξεις επιλογής 12 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 6

Βελτιστοποίηση Ερωτήσεων 4. Συνδυασμός μιας πράξης καρτεσιανού γινομένου με μια πράξη επιλογής που ακολουθεί 5. Διάσπαση και μετακίνηση των λιστών προβολής όσο πιο κάτω γίνεται στο δέντρο 6. Εντοπισμός υποδέντρων με ομάδες πράξεων που μπορεί να εκτελεστούν με κοινό αλγόριθμο 13 Εκτέλεση 3. Εκτέλεση Μηχανή εκτέλεσης που εκτελεί τις βασικές πράξεις 14 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 7

Εκτέλεση Υπάρχουν υλοποιημένοι μια σειρά από αλγόριθμοι για κάθε βασική πράξη (π.χ., που χρησιμοποιούν ή όχι ευρετήρια κλπ) Γενικά, το ΣΔΒΔ κάνει μια εκτίμηση του κόστους και επιλέγει τον αλγόριθμο για κάθε πράξη με τον μικρότερο(με βάση την εκτίμηση) κόστος Η εκτίμηση του κόστους γίνεται με βάση στατιστικά στοιχεία που αποθηκεύονται στη βάση δεδομένων για αυτό το σκοπό 15 Αλγόριθµοι Εκτέλεσης Βασικών Πράξεων Για να επιλέξουμε ποιόν αλγόριθμο θα χρησιμοποιήσουμε, διατηρούμε στατιστικά στοιχεία Παράδειγμα Για ένα αρχείο δεδομένων μιας σχέσης R, μπορεί να διατηρούμε στοιχεία όπως: n R :αριθμόςπλειάδωντηςσχέσηςr b R :αριθμόςblocksτηςσχέσηςr s R :μέγεθοςσεbytesκάθεπλειάδαςτηςσχέσηςr f R :παράγονταςομαδοποίησης(αριθμόςεγγραφώνανάblock) ανμηεκτεινόμενη,f R = B/s R καιb R = n R /f R Ενημέρωση στατιστικών στοιχείων; 16 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 8

Αλγόριθµοι Εκτέλεσης Βασικών Πράξεων Άλλα στατιστικά στοιχεία; V(A,R):πλήθοςτωνδιαφορετικώντιμώνπουπαίρνειτογνώρισμαΑ π Α (R) -- αντοακλειδί; SC(A, R): μέσος αριθμός πλειάδων που ικανοποιεί μια συνθήκη (δεδομένου ότι υπάρχει μια τουλάχιστον που την ικανοποιεί) 1 αν κλειδί, αν ομοιόμορφη; 17 Αλγόριθµοι Εκτέλεσης Βασικών Πράξεων Στατιστικά στοιχεία επίσης για το αρχείο ευρετηρίου(αν υπάρχει) f i :παράγονταςδιακλάδωσης, πολυεπίπεδοf 0,Β + δέντρο~τάξη H i :αριθμόςεπιπέδων LΒ i :αριθμόςblockφύλλων Με βάση τα στατιστικά επιλέγεται ο αλγόριθμος με το μικρότερο κόστος I/O Κόστος(Αριθμό blocks που μεταφέρονται) 18 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 9

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

Επιλογή Πιθανοί αλγόριθμοι εκτέλεσης για την επιλογή: Ε1: Σειριακή αναζήτηση Ε2: Δυαδική αναζήτηση (αν το αρχείο είναι ταξινομημένο) Ε3: Χρήση πρωτεύοντος ευρετηρίου/κατακερματισμού(αν υπάρχει) Ε4: Χρήση δευτερεύοντος ευρετηρίου/κατακερματισμού (αν υπάρχει) Αν υπάρχει κάποιο ευρετήριο, λέμε ότι έχουμε μονοπάτι προσπέλασης (access path) 21 Επιλογή: Συνθήκη Ισότητας Επιλογή - συνθήκη ισότητας σ Α= α (R) Ε1 Σειριακή αναζήτηση Διάβασμα (scan) όλου του αρχείου b R :αριθμόςblocksτηςσχέσηςr b R b R /2 (μέσος όρος) αν το Α υποψήφιο κλειδί (οπότε το αποτέλεσμα έχει μόνο μία πλειάδα, σταματάμε την αναζήτηση μόλις τη βρούμε) Μπορεί να χρησιμοποιηθεί σε οποιοδήποτε αρχείο 22 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 11

Επιλογή: Συνθήκη Ισότητας Ε2 Δυαδική αναζήτηση b R :αριθμόςblocks τηςσχέσης R SC(A, R): μέσος αριθμός πλειάδων που ικανοποιεί μια συνθήκη(«ταιριάσματα») f R :παράγονταςομαδοποίησης Μπορεί να χρησιμοποιηθεί μόνο αν το αρχείο είναι διατεταγμένομε βάση το Α (δηλαδή, το γνώρισμα της επιλογής) + log ( b R ) SC(A, r)/f R -1 Εύρεση της πρώτης Εύρεση των υπόλοιπων Αν το Α υποψήφιο κλειδί; 23 Ε3 Χρήση πρωτεύοντος δεντρικού ευρετηρίου Πρωτεύονευρετήριο σημαίνει ταξινομημένο αρχείο Επιλογή: Συνθήκη Ισότητας b R :αριθμόςblocks τηςσχέσης R SC(A, R):μέσος αριθμός πλειάδων που ικανοποιεί μια συνθήκη f R : παράγοντας ομαδοποίησης HT i : αριθμός επιπέδων (ύψος) Μπορεί να χρησιμοποιηθεί μόνο αν υπάρχει τέτοιο ευρετήριο στο Α HT i + 1 Εύρεση και μεταφορά της πρώτης Αν το Α δεν είναι υποψήφιο κλειδί -- ευρετήριο συστάδων HT i + SC(A, R)/f R Εύρεση και των υπόλοιπων ΣΗΜΕΙΩΣΗ: Πρωτεύον ευρετήριο στο Α, σημαίνει ότι οι εγγραφές του αρχείου δεδομένων είναι ταξινομημένες (διατεταγμένες) ως προς Α άρα οι υπόλοιπες εγγραφές με την ίδια τιμή (αν υπάρχουν) βρίσκονται σε γειτονικά blocks του αρχείου δεδομένων 24 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 12

Ε4 Χρήση δευτερεύοντος δεντρικού ευρετηρίου Επιλογή: Συνθήκη Ισότητας Μπορεί να χρησιμοποιηθεί μόνο αν υπάρχει τέτοιο ευρετήριο στο Α Αν το Α είναι υποψήφιο κλειδί HT i + 1 b R :αριθμόςblocksτης σχέσης R SC(A, R):μέσος αριθμός πλειάδων που ικανοποιεί μια συνθήκη f R :παράγοντας ομαδοποίησης HT i : αριθμός επιπέδων Εύρεση και μεταφορά της πρώτης Αν το Α δεν είναι υποψήφιο κλειδί +κόστος για την εύρεση των υπολοίπων HT i + ενδιάμεσο επίπεδο +SC(A, R) Εύρεση και των υπόλοιπων Στη χειρότερη περίπτωση κάθε εγγραφή που ικανοπoιεί τη συνθήκη σε διαφορετικό block 25 Επιλογή: Συνθήκη µε Σύγκριση Επιλογή - συνθήκη με σύγκριση σ Α u (R) ή σ Α u (R) 26 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 13

Επιλογή: Συνθήκη µε Σύγκριση Επιλογή - συνθήκη με σύγκριση σ Α u (R) Έστω αύξουσα διάταξη Απότο1 ο blockτουαρχείουέωςτηνπρώτηεγγραφήμεa>u Κόστος? 27 Επιλογή: Συνθήκη µε Σύγκριση Επιλογή - συνθήκη με σύγκριση σ Α u (R) Έστω αρχείου σωρού(δεν υπάρχει διάταξη) και Β+ δέντρο ΕύρεσηστοΒ+δέντροτηςτιμήςu Χρήση εγγραφών στο φύλλο για τις υπόλοιπες τιμές Κόστος? 28 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 14

Επιλογή: Συνθήκη Σύζευξης Συζευκτική επιλογή σ P1 AND AND.. PM (R) Υπάρχει διαδρομή προσπέλασης για ένα από τα γνωρίσματα που εμφανίζονται σε οποιαδήποτε συνθήκη Επιλογή του γνωρίσματος συνθήκη με τη μικρότερη επιλεκτικότητα(γιατί;) Χρήση μιας από τις προηγούμενες μεθόδους για την ανάκτηση των εγγραφών που ικανοποιούν αυτήν την συνθήκη και έλεγχος για κάθε επιλεγμένη εγγραφή αν ικανοποιεί και τις υπόλοιπες συνθήκες 29 Επιλογή: Συνθήκη Διάζευξης Επιλογή - συνθήκη διάζευξης σ P1 ORP2 ORPn (R) Αν έστω και μία από τις συνθήκες δεν έχει διαδρομή προσπέλασης -> σάρωση όλου του αρχείου 30 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 15

Επεξεργασία Ερωτήσεων Αλγόριθμους εκτέλεσης βασικών πράξεων Επιλογή Συνένωση Πράξεις συνόλων 31 Συνένωση Συνένωση R >< R.A op S.B S Σ1 Εμφωλευμένος (εσωτερικός - εξωτερικός) βρόγχος Σ2 Χρήση μιας δομής προσπέλασης Σ3 Ταξινόμηση-Συγχώνευση Έχει σημασία πόσο χώρο μνήμης κάθε χρονική στιγμή (buffers) μπορούμε να χρησιμοποιήσουμε για τις σχέσεις δηλαδή, πόσα blocks στην μνήμη Αρχικά, ας υποθέσουμε ότι έχουμε μόνο 2 blocks 32 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 16

Συνένωση (εµφωλευµένος βρόγχος) Σ1 Εμφωλευμένος (εσωτερικός-εξωτερικός) βρόγχος Για κάθε εγγραφή t της R Για κάθε εγγραφή s της S Αν t[a] op s[b] πρόσθεσε το t s στο αποτέλεσµα Αγνοώντας την εγγραφή των blocks του αποτελέσματος b r +n R * b S 33 Συνένωση (εµφωλευµένος βρόγχος) Για κάθε block B r της R Για κάθε block B s της S Για κάθε εγγραφή t του B r Για κάθε εγγραφή s του B s Αν t[a] op s[b] πρόσθεσε το t s στο αποτέλεσµα Αγνοώντας την εγγραφή των blocks του αποτελέσματος b R + b R * b S Συμφέρει η τοποθέτηση της μικρότερης σχέσης στον εξωτερικό βρόγχο 34 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 17

Συνένωση (χρήση ευρετηρίου) Σ2 Χρήση μιας δομής προσπέλασης Η σχέση για την οποία υπάρχει ευρετήριο τοποθετείται στον εσωτερικό βρόγχο. ΈστωότιυπάρχειευρετήριογιατογνώρισμαΒτηςσχέσηςS Για κάθε block B r της R Για κάθε εγγραφή t του B r Χρησιμοποίησε το ευρετήριοστο Bγια να βρεις τις εγγραφές s της S τέτοιες ώστε t[a] op s[b] b R + n R * C όπου C το κόστος μιας επιλογής στο S (δηλαδήτηςεύρεσης της εγγραφής(εγγραφών) του S που ικανοποιούν τη συνθήκη) 35 Σ3 Ταξινόμηση - Συγχώνευση Έστω συνθήκη ισότητας Συνένωση (ταξινόµηση-συγχώνευση) Ταξινόμησε τις πλειάδες της R στο γνώρισμα Α Ταξινόμησε τις πλειάδες της S στο γνώρισμα Β i : = 1; j := 1; while (i n R and j n S ) if (R i [A] <S j [B]) i := i + 1;(*προχώρησε το δείκτη στην R *) if (R i [A] >S j [B]) j := j + 1; (* προχώρησε το δείκτη στην S*) 36 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 18

Συνένωση (ταξινόµηση-συγχώνευση) else (* R i [A] = S j [B] *) πρόσθεσε το R i. S j στο αποτέλεσμα k := j + 1; (* γράψεκαιτιςάλλεςπλειάδεςτης S που ταιριάζουν, αν υπάρχουν *) while ((k n S ) and (R i [A] = S k [B])) πρόσθεσε το R i. S k στο αποτέλεσμα k := k + 1; m := i+ 1; (* γράψεκαιτιςάλλεςπλειάδεςτης R που ταιριάζουν, αν υπάρχουν *) while ((m n R ) and (R m [A] = S j [B])) πρόσθεσε το R m. S j στο αποτέλεσμα m:= m+ 1; i := m; j := k; 37 Συνένωση (ταξινόµηση-συγχώνευση) Αν αγνοήσουμε τη ταξινόμηση για τη συγχώνευση(merge) απλή σάρωση των δύο αρχείων: b R + b S Ταξινόμηση: b R * log(b R ) + b S * log(b S ) 38 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 19

Συνένωση Πράξεις συνόλου R S(ένωση) R S(τομή) R S(διαφορά) Θα δούμε έναν αλγόριθμο βασισμένο σε merge-sort (ταξινόμησησυγχώνευση) 39 Πράξεις Συνόλων Ταξινόμησε τις πλειάδες της R σε ένα γνώρισμα(έστω Α) Ταξινόμησε τις πλειάδες της S στο ίδιο γνώρισμα i: = 1; j := 1; while (i n R and j n S ) if (R i [A] >S j [Α]) Τομή τίποτα j := j + 1 Ένωση γράψε το S j στο αποτέλεσμα Διαφορά τίποτα 40 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 20

Πράξεις Συνόλων else if (R i [A] < S j [Α]) i := i + 1 Τομή τίποτα else (* R i [A] = S j [Α] *) Τομή γράψε το R i στο αποτέλεσμα i := i + 1; j := j + 1; Ένωση γράψε το R i στο αποτέλεσμα Ένωση i := i + 1; Διαφορά γράψε το R i στο αποτέλεσμα Διαφορά i := i + 1; j := j + 1; 41 Πράξεις Συνόλων Αν υπάρχουν ακόμα εγγραφές για κάποιο αρχείο: Ένωση while (i n R ) γράψε το R i στο αποτέλεσμα i: = i + 1; while (j n S ) γράψε το S j στο αποτέλεσμα j: = j + 1; Διαφορά while (i n R ) γράψε το R i στο αποτέλεσμα i: = i + 1; 42 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 21

Τέλος 43 : Εισαγωγή στην Επεξεργασία Ερωτήσεων 22