Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση
|
|
- Θεράπων Παπανικολάου
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας Γνώσεων & Λογισμικού, Ινστιτούτο Πληροφορικής & Τηλεπικοινωνιών, Ε.Κ.Ε.Φ.Ε. Δημόκριτος Τηλ.: , Fax: , {vangelis, akrithara, Ακαδημαϊκό Έτος:
2 Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων < 1 > Οι διαφάνειες αυτού του σεμιναρίου βασίζονται σε διαφάνειες των: Δ. Γουνόπουλος, Ι. Ιωαννίδης
3 ΚΕΦΑΛΑΙΟ 19* Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων Copyright 2011 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Δίαυλος Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων
4 Θα μιλήσουμε για Εισαγωγή στη βελτιστοποίηση ερωτήσεων Μετάφραση SQL ερωτήσεων σε Σχεσιακή Άλγεβρα Αλγόριθμοι Εξωτερικής Ταξινόμησης Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗ και ΣΥΝΕΝΩΣΗ Αλγόριθμοι για ΠΡΟΒΟΛΗ και συνόλων Υλοποίηση Συναθροιστικών πράξεων και εξωτερικών συνενώσεων Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 3
5 Εισαγωγή στη βελτιστοποίηση ερωτήσεων Βελτιστοποίηση ερωτήσεων Η διαδικασία επιλογής κατάλληλης στρατηγικής εκτέλεσης μιας ερώτησης* Δύο εσωτερικές αναπαραστάσεις μιας ερώτησης: Δέντρο ερώτησης Γράφος ερώτησης *εύλογα αποδοτική στρατηγική Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 4
6 Εισαγωγή στη βελτιστοποίηση ερωτήσεων Ερώτηση σε γλώσσα υψηλού επιπέδου ΛΕΚΤΙΚΗ ΑΝΑΛΥΣΗ, ΣΥΝΤΑΚΤΙΚΗ ΑΝΑΛΥΣΗ ΚΑΙ ΕΛΕΓΧΟΣ ΕΓΚΥΡΟΤΗΤΑΣ Ερώτηση σε ενδιάμεση μορφή ΒΕΛΤΙΣΤΟΠΟΙΗΤΗΣ ΕΡΩΤΗΣΕΩΝ Σχέδιο εκτέλεσης Ο κώδικας μπορεί να: Εκτελείται άμεσα (λειτουργία διερμηνέας) Αποθηκεύεται και να εκτελείται αργότερα, όταν είναι απαραίτητο (λειτουργία μεταγλώττισης) ΓΕΝΝΗΤΟΡΑΣ ΚΩΔΙΚΑ ΕΡΩΤΗΣΕΩΝ Κώδικας για εκτέλεση της ερώτησης ΥΠΟΣΥΣΤΗΜΑ ΕΚΤΕΛΕΣΗΣ ΕΡΩΤΗΣΕΩΝ Αποτέλεσμα ερώτησης Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 5
7 Μετάφραση SQL Ερωτήσεων σε Σχεσιακή Άλγεβρα Μπλοκ ερώτησης: Η βασική μονάδα που μπορεί να μεταφρασθεί σε αλγεβρικούς τελεστές και να βελτιστοποιηθεί. Ένα μπλοκ ερώτησης περιέχει μια SELECT-FROM-WHERE έκφραση, καθώς και προτάσεις GROUP BY και HAVING αν αποτελούν τμήμα του μπλοκ. Οι εμφωλευμένες ερωτήσεις μέσα σε μια ερώτηση θεωρούνται ξεχωριστά μπλοκ ερωτήσεων. Οι συναθροιστικοί τελεστές (MAX, MIN, SUM και COUNT) στην SQL πρέπει να περιλαμβάνονται στην επεκτεταμένη άλγεβρα. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 6
8 Αλγόριθμοι για Εξωτερική Ταξινόμηση (1) Εξωτερική Ταξινόμηση: Αναφέρεται σε αλγορίθμους ταξινόμησης που είναι κατάλληλοι για μεγάλα αρχεία εγγράφων αποθηκευμένα στο δίσκο που δεν μπορούν να χωρέσουν ολόκληρα στην κύρια μνήμη, όπως τα περισσότερα αρχεία των βάσεων δεδομένων. Στρατηγική ταξινόμησης-συγχώνευσης: Ξεκινά με την ταξινόμηση μικρών υποαρχείων (σειρές ή runs) του κυρίως αρχείου και στη συνέχεια με συγχώνευση των ταξινομημένων σειρών, δημιουργώντας μεγαλύτερα ταξινομημένα υποαρχεία, που γίνεται με την σειρά συγχώνευση και αυτών. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 7
9 Αλγόριθμοι για Εξωτερική Ταξινόμηση (2) Φάση ταξινόμησης: n R = ( b n B ) Φάση συγχώνευσης: d M = Min n B 1, n R ; n P = (log dm n R ) n R : πλήθος των αρχικών σειρών b : πλήθος των μπλοκ του αρχείου n B : διαθέσιμος χώρος στο μπάφερ d M : βαθμός συγχώνευσης πλήθος σειρών που μπορούν να συγχωνευθούν σε ένα πέρασμα Ένα μπάφερ μπλοκ για κάθε τρέξιμο της συνένωσης, και ένα μπλοκ για να καταχωρείται ένα μπλοκ αποτελέσματος n P : αριθμός περασμάτων Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 8
10 Αλγόριθμοι για Εξωτερική Ταξινόμηση (3) Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 9
11 Αλγόριθμοι για Εξωτερική Ταξινόμηση (4) Παράδειγμα: b = 1024 μπλοκ το μέγεθος του αρχείου n B = 5 μπλοκ n P : αριθμός περασμάτων Φάση ταξινόμησης: n R = ( b ) = 1024 n B 5 Φάση συγχώνευσης: = 205 ταξινομημένες σειρές (υποαρχεία στο δίσκο) d M = Min n B 1, n R = Min 5 1, 205 = 4 σειρές σε κάθε πέρασμα Πρώτο πέρασμα: = 52 Δεύτερο πέρασμα: 52 4 = 13 Τρίτο πέρασμα: 13 4 = 4 Τέταρτο πέρασμα: 4 4 = 1 n P = (log dm n R ) = (log ) = 4 περάσματα Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 10
12 Αλγόριθμοι για Εξωτερική Ταξινόμηση (5) Απόδοση αλγορίθμου πλήθος των μπλοκ που διαβάζονται και γράφονται στο δίσκο: 2 b + (2 (b (log dm n R ))) Πλήθος των μπλοκ προσπελάσεων για τη φάση της ταξινόμησης, δύο προσπελάσεις σε κάθε μπλοκ του αρχείου, μια για διάβασμα στη μνήμη και μια για γράψιμο των εγγραφών πίσω στο δίσκο, μετά την ταξινόμηση. Το πλήθος των μπλοκ προσπελάσεων για τη φάση της συγχώνευσης. Σε κάθε πέρασμα διαβάζονται και γράφονται ένα πλήθος μπλοκ του δίσκου που είναι περίπου όσο το πλήθος των μπλοκ του αρχικού αρχείου b. Το πλήθος των περασμάτων είναι log dm n R. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 11
13 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (1) Υλοποίηση της πράξης ΕΠΙΛΟΓΗ (SELECT) Παραδείγματα: (ΠΡ1): σ ΑΡ_ΤΑΥΤ=' ' (ΕΡΓΑΖΟΜΕΝΟΣ) (ΠΡ2): σ ΚΩΔ_ΤΜΗΜ>5 (ΤΜΗΜΑ) (ΠΡ3): σ ΑΡΙΘ_Τ=5 (ΕΡΓΑΖΟΜΕΝΟΣ) (ΠΡ4): σ ΑΡΙΘ_Τ=5 AND ΜΙΣΘΟΣ>30000 AND ΦΥΛΛΟ= F (ΕΡΓΑΖΟΜΕΝΟΣ) (ΠΡ5): σ Ε_ΑΡΤΑΥΤ= AND Κ_ΕΡΓΟ=10 (ΑΠΑΣΧΟΛΗΣΗ) Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 12
14 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (2) Υλοποίηση της πράξης ΕΠΙΛΟΓΗ (SELECT) Μέθοδοι αναζήτησης για απλή επιλογή: Α1 Σειριακή αναζήτηση (εξαντλητική αναζήτηση): Ανάκτηση κάθε εγγραφής του αρχείου και έλεγχος αν οι τιμές των γνωρισμάτων ικανοποιούν τη συνθήκη επιλογής. Α2 Δυαδική αναζήτηση: Αν η συνθήκη επιλογής περιλαμβάνει μια σύγκριση ισότητας σε ένα γνώρισμα-κλειδί πάνω στο οποίο το αρχείο είναι ταξινομημένο, μπορεί να χρησιμοποιηθεί δυαδική αναζήτηση (η οποία είναι πιο αποτελεσματική από την Α1). Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 13
15 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (3) Υλοποίηση της πράξης ΕΠΙΛΟΓΗ (SELECT) Μέθοδοι αναζήτησης για απλή επιλογή (συν.): Α3 Χρήση πρωτεύοντος ευρετηρίου (ή κλειδιού κατακερματισμού) Αν η συνθήκη επιλογής περιλαμβάνει σύγκριση ισότητας σε ένα γνώρισμα κλειδί με πρωτεύον ευρετήριο (ή με κλειδί κατακερματισμού hash key), χρησιμοποιούμε το πρωτεύον ευρετήριο (ή το κλειδί κατακερματισμού) για την ανάκτηση της εγγραφής. Α4 Χρήση ενός πρωτεύοντος ευρετηρίου για ανάκτηση πολλών εγγραφών Αν η συνθήκη σύγκρισης είναι >,, <, ή σε ένα πεδίο-κλειδί με πρωτεύον ευρετήριο, χρησιμοποιούμε το ευρετήριο για να βρούμε την εγγραφή που ικανοποιεί την αντίστοιχη συνθήκη, και στη συνέχεια ανακτούμε όλες τις εγγραφές που ακολουθούν στο ταξινομημένο αρχείο. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 14
16 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (4) Υλοποίηση της πράξης ΕΠΙΛΟΓΗ (SELECT) Μέθοδοι αναζήτησης για απλή επιλογή (συν.): Α5 Χρήση ευρετηρίων συστάδων για ανάκτηση πολλών εγγραφών: Αν η συνθήκη επιλογής περιλαμβάνει μια συνθήκη ισότητας σε ένα γνώρισμα που δεν είναι κλειδί αλλά έχει οριστεί σε αυτό ένα ευρετήριο συστάδων, χρησιμοποιούμε το ευρετήριο συστάδων για την ανάκτηση όλων των εγγραφών που ικανοποιούν τη συνθήκη επιλογής. Α6 Χρήση δευτερεύοντος ευρετηρίου (B + Δέντρου) σε μια συνθήκη ισότητας: Αυτή η μέθοδος αναζήτησης μπορεί να χρησιμοποιηθεί για να ανακτηθεί μια μοναδική εγγραφή, αν το πεδίο είναι κλειδί ή για να ανακτηθούν πολλαπλές εγγραφές αν το πεδίο δεν είναι κλειδί. Επιπλέον, μπορεί να χρησιμοποιηθεί για ανάκτηση εγγράφων, για συνθήκες που περιλαμβάνουν τους τελεστές >,>=, <, or <=. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 15
17 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (5) Υλοποίηση της πράξης ΕΠΙΛΟΓΗ (SELECT) Μέθοδοι αναζήτησης για πολύπλοκες επιλογές: Α7 Συζευκτική επιλογή με χρήση ατομικού ευρετηρίου: Αν ένα γνώρισμα που περιλαμβάνεται σε οποιαδήποτε απλή συνθήκη της συζευκτικής συνθήκης έχει μια διαδρομή προσπέλασης που επιτρέπει τη χρήση μιας από τις μεθόδους Α2 έως Α6, χρησιμοποιούμε αυτή τη συνθήκη για την ανάκτηση των εγγράφων και στη συνέχεια ελέγχουμε αν κάθε ανακτηθείσα εγγραφή ικανοποιεί τις υπόλοιπες απλές συνθήκες της συζευκτικής συνθήκης Α8 Συζευκτική επιλογή με χρήση σύνθετου ευρετηρίου: Αν δύο ή περισσότερα γνωρίσματα συμμετέχουν σε συνθήκες ισότητας στη συζευκτική συνθήκη και υπάρχει σύνθετο ευρετήριο στο συνδυασμό πεδίων, μπορούμε να χρησιμοποιήσουμε άμεσα το ευρετήριο. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 16
18 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (6) Υλοποίηση της πράξης ΕΠΙΛΟΓΗ (SELECT) Μέθοδοι αναζήτησης για πολύπλοκες επιλογές (συν.): Α9 Συζευκτική επιλογή με τομή των δεικτών εγγράφων: Αν υπάρχουν δευτερεύοντα ευρετήρια σε όλα (ή σε μερικά) πεδία που ενέχονται σε συνθήκες σύγκρουσης ισότητας της συζευκτικής συνθήκης και αν τα ευρετήρια περιλαμβάνουν δείκτες εγγραφών (αντί δείκτες μπλοκ). Κάθε ευρετήριο μπορεί να χρησιμοποιηθεί για ανάκτηση ενός συνόλου δεικτών εγγραφών που ικανοποιούν τη μεμονωμένη απλή συνθήκη. Η τομή αυτών των συνόλων δεικτών δίνει τους δείκτες εγγράφων που ικανοποιούν τη συζευκτική συνθήκη, οι οποίοι χρησιμοποιούνται για την άμεση ανάκτηση αυτών των εγγράφων. Αν μερικές μόνο από τις συνθήκες έχουν δευτερεύοντα ευρετήρια, κάθε ανακτώμενη εγγραφή ελέγχεται για να διαπιστωθεί αν ικανοποιεί και τις υπόλοιπες συνθήκες. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 17
19 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (7) Υλοποίηση της πράξης ΕΠΙΛΟΓΗ (SELECT) : Όταν η επιλογή προσδιορίζεται από μια απλή συνθήκη, μπορούμε να ελέγξουμε μόνον αν υπάρχει κάποια διαδρομή προσπέλασης στο γνώρισμα που ενέχεται στη συνθήκη. Αν υπάρχει διαδρομή προσπέλασης χρησιμοποιείται η μέθοδος που αντιστοιχεί σ αυτή τη διαδρομή προσπέλασης, διαφορετικά χρησιμοποιείται η σειριακή αναζήτηση Α1 (βλ. ΠΡ1, ΠΡ2 και ΠΡ3) Για συζευκτικές συνθήκες επιλογής, όταν υπάρχουν διαδρομές προσπέλασης για περισσότερα από ένα από τα γνωρίσματα που ενέχονται στις συνθήκες, Ο βελτιστοποιητής πρέπει να επιλέξει τη διαδρομή προσπέλασης που ανακτά τις λιγότερες εγγραφές κατά τον πιο αποδοτικό τρόπο. Διαζευκτικές συνθήκες επιλογής Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 18
20 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (8) Υλοποίηση της πράξης ΣΥΝΕΝΩΣΗ (JOIN) : ΣΥΝΕΝΩΣΗ ΙΣΟΤΗΤΑΣ (EQUIJOIN), ΦΥΣΙΚΗ ΣΥΝΕΝΩΣΗ (NATURAL JOIN): Συνένωση δύο αρχείων e.g. R Α=B S Πολλαπλές συνενώσεις: συνενώσεις περισσοτέρων από δύο αρχείων e.g. R Α=B S C=D T Παραδείγματα: (ΠΡ6): ΕΡΓΑΖΟΜΕΝΟΣ ΑΡΙΘΤ =ΚΩΔ_ΤΜΗΜ ΤΜΗΜΑ (ΠΡ7): ΤΜΗΜΑ ΔΙΕΥΘΥΝΤΗΣ=ΑΡ_ΤΑΥΤ ΕΡΓΑΖΟΜΕΝΟΣ Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 19
21 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (9) Υλοποίηση της πράξης ΣΥΝΕΝΩΣΗ (JOIN) : Μέθοδοι υλοποίησης συνενώσεων: Σ1 Εμφωλευμένοι βρόγχοι (εξαντλητική αναζήτηση): Για κάθε εγγραφή t της σχέσης R (εξωτερικός βρόγχος), ανακτάται κάθε εγγραφή s από τη σχέση S (εσωτερικός βρόγχος) και ελέγχεται αν οι δύο εγγραφές ικανοποιούν τη συνθήκη συνένωσης t[a] = s[b]. Σ2 Συνένωση απλού βρόγχου (χρήση μιας δομής προσπέλασης για ανάκτηση των εγγραφών που ικανοποιούν τη συνθήκη): Αν υπάρχει ευρετήριο (ή κλειδί κατακερματισμού) για ένα από τα δύο γνωρίσματα τις συνένωσης έστω το B της σχέσης S ανακτώνται όλες οι εγγραφές t της σχέσης R, μία προς μία, και χρησιμοποιείται η δομή προσπέλασης για να ανακτηθούν άμεσα όλες οι εγγραφές s της σχέσης S που ικανοποιούν τη συνθήκη s[b] = t[a]. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 20
22 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (10) Υλοποίηση της πράξης ΣΥΝΕΝΩΣΗ (JOIN) : Μέθοδοι υλοποίησης συνενώσεων: Σ3 Συνένωση ταξινόμησης-συγχώνευσης: Αν οι εγγραφές των R και S είναι φυσικά ταξινομημένες σύμφωνα με τις τιμές των γνωρισμάτων συνένωσης A και B αντίστοιχα, μπορούμε να υλοποιήσουμε τη συνένωση με τον πιο αποδοτικό τρόπο. Και τα δύο αρχεία σαρώνονται σύμφωνα με τη διάταξη των γνωρισμάτων συνένωσης, και επιλέγεται ο συνδυασμός των εγγραφών με τις ίσες τιμές στα Α και B. Με αυτή τη μέθοδο οι εγγραφές κάθε αρχείου σαρώνονται μόνο μια φορά, προκειμένου να ταιριάξουν με αυτές του άλλου αρχείου εκτός αν και τα A και B δεν είναι γνωρίσματα-κλειδιά, στην οποία περίπτωση η μέθοδος πρέπει να τροποποιηθεί ελαφρά. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 21
23 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (11) Υλοποίηση της πράξης ΣΥΝΕΝΩΣΗ (JOIN) : Μέθοδοι υλοποίησης συνενώσεων: Σ4 Συνένωση με κατακερματισμό: Οι εγγραφές των αρχείων R και S διαμερίζονται σε μικρότερα αρχεία. Η διαμέριση κάθε αρχείου γίνεται με χρήσης της ίδιας συνάρτησης κατακερματισμού h στο γνώρισμα συνένωσης A της R και B της S. Φάση διαμέρισης: Ένα πέρασμα από το αρχείο με τις λιγότερες εγγραφές (έστω το R) απεικονίζει τις εγγραφές τις R στις διάφορες διαμερίσεις της R. Φάση αναζήτησης: Το άλλο αρχείο (S) διατρέχεται μόνο μία φορά με απεικόνιση κάθε εγγραφής του στον κατάλληλο κάδο, όπου η εγγραφή συνδυάζεται με όλες τις εγγραφές του αρχείου R που ταιριάζουν με αυτή. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 22
24 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (12) Τ R Α=Β S Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 23
25 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (17) Υλοποίηση της πράξης ΣΥΝΕΝΩΣΗ (JOIN) : Παράγοντες που επηρεάζουν την απόδοση συνένωσης: Διαθέσιμος μπάφερ χώρου Παράγοντας επιλεξιμότητας συνένωσης ενός αρχείου με ένα άλλο, σε σχέση με μια συνθήκη ισότητας Ποσοστό των εγγραφών του ενός αρχείου που θα συνενωθούν με εγγραφές άλλου αρχείου Επιλογή εσωτερικής VS εξωτερικής σχέσης Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 24
26 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (18) Υλοποίηση της πράξης ΣΥΝΕΝΩΣΗ (JOIN) : Άλλες μέθοδοι υλοποίησης συνενώσεων: Συνένωση κατακερματισμού με διαμέριση Φάση διαμέρισης: Κάθε αρχείο (R και S) χωρίζονται σε Μ σύνολα με τη χρήση της ίδιας συνάρτησης κατακερματισμού για τη διαμέριση των δύο αρχείων στο γνώρισμα συνένωσης (Α και Β): R 1, R 2, R 3,..., R m και S 1, S 2, S 3,, S m Το ελάχιστο πλήθος μπλοκ ενδιάμεσης μνήμης που απαιτούνται για τη φάση της διαμέρισης είναι: M+1. Για κάθε διαμέριση ένα υποαρχείο δίσκου δημιουργείται για να αποθηκεύει αυτή τη διαμέριση. Φάση συνένωσης: Απαιτούνται Μ επαναλήψεις, μία για κάθε διαμερισμένο αρχείο. Κατά την i επανάληψη, γίνεται συνένωση των διαμερίσεων R i και S i Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 25
27 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (19) Υλοποίηση της πράξης ΣΥΝΕΝΩΣΗ (JOIN) : Συνένωση κατακερματισμού με διαμέριση: Έστω ότι το R i είναι μικρότερο από το S i 1. Αντιγραφή των εγγραφών του R i σε μπάφερ της μνήμης. 2. Διάβασε όλα τα μπλοκ του S i -ένα τη φορά- και κάθε εγγραφή χρησιμοποιείται για αναζήτηση εγγραφών με την ίδια τιμή στο γνώρισμα συνένωσης με τη διαμέριση R i. 3. Γίνεται συνένωση των εγγραφών που ταιριάζουν και καταχωρείται στο αρχείο του αποτελέσματος. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 26
28 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (20) Υλοποίηση της πράξης ΣΥΝΕΝΩΣΗ (JOIN) : Κόστος συνένωσης κατακερματισμού με διαμέριση: 1. Κάθε εγγραφή διαβάζεται μια φορά, και γράφεται πίσω στο δίσκο μία φορά κατά τη φάση της διαμέρισης: (b R +b S ), (b R +b S ) 2. Κατά τη φάση της συνένωσης, κάθε εγγραφή διαβάζεται δεύτερη φορά για να εκτελεστεί η συνένωση: (b R +b S ) 3. Εγγραφή του αρχείου του αποτελέσματος: b RES Total Cost: 3 (b R +b S ) + b RES Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 27
29 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (21) Υλοποίηση της πράξης ΣΥΝΕΝΩΣΗ (JOIN) : Υβριδικός αλγόριθμος συνένωσης κατακερματισμού: Παραλλαγή της συνένωσης κατακερματισμού με διαμέριση: Η φάση συνένωσης μιας από τις διαμερίσεις περιλαμβάνεται στη φαση διαμέρισης. Φάση διαμέρισης: Διαμερίζεται το μικρότερο από τα δύο αρχεία ένα μπλοκ για κάθε μία από τις M-1 διαμερίσεις, και τα υπόλοιπα μπλοκ στη πρώτη διαμέριση. Διαμερίζονται οι εγγραφές του δεύτερου αρχείου της συνένωσης το μεγαλύτερο αρχείο. Φάση συνένωσης: Απαιτούνται M-1 επαναλήψεις για τις διαμερίσεις R 1, R 2, R 3,..., R m και S 1, S 2, S 3,, S m. R 1 και S 1 συνενώνονται κατά τη διαμέριση του S 1, και τα αποτελέσματα της συνένωσης R 1 και S 1 γράφονται στο δίσκο στο τέλος της φάσης διαμέρισης. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 28
30 Αλγόριθμοι για τις πράξεις ΠΡΟΒΟΛΗΣ και ΣΥΝΟΛΟΘΕΩΡΗΤΙΚΕΣ (1) Αλγόριθμοι για την πράξη ΠΡΟΒΟΛΗ: Αν η <λίστα γνωρισμάτων> περιλαμβάνει ένα κλειδί της σχέσης R: Το αποτέλεσμα της προβολής θα έχει το ίδιο πλήθος πλειάδων με τη σχέση R. Σε κάθε πλειάδα του αποτελέσματος θα εμφανίζονται μόνο τα γνωρίσματα που περιλαμβάνονται στη <λίστα γνωρισμάτων>. Αν η <λίστα γνωρισμάτων> δεν περιλαμβάνει ένα κλειδί της σχέσης R: Ταξινόμηση του αποτελέσματος και απαλοιφή των διπλότυπων πλειάδων (οι οποίες θα εμφανίζονται σε διαδοχικές θέσεις μετά την ταξινόμηση). Κατακερματισμός για την απαλοιφή των διπλότυπων: Κατά την εισαγωγή μιας εγγραφής στον κατάλληλο κάδο κατακερματισμού, αν πρόκειται για διπλότυπη πλειάδα, δεν εισάγεται. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 29
31 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (13) Τ π <λιστα γνωριματων> (R) Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 30
32 Αλγόριθμοι για τις πράξεις ΠΡΟΒΟΛΗΣ και ΣΥΝΟΛΟΘΕΩΡΗΤΙΚΕΣ (2) Αλγόριθμοι για τις ΣΥΝΟΛΟΘΕΩΡΗΤΙΚΕΣ πράξεις: ΕΝΩΣΗ (UNION) ΤΟΜΗ (INTERSECTION) ΣΥΝΟΛΟΘΕΩΡΗΤΙΚΗ ΔΙΑΦΟΡΑ (SET DIFFERENCE) ΚΑΡΤΕΣΙΑΝΟ ΓΙΝΟΜΕΝΟ (CARTESIAN PRODUCT) Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 31
33 Αλγόριθμοι για τις πράξεις ΠΡΟΒΟΛΗΣ και ΣΥΝΟΛΟΘΕΩΡΗΤΙΚΕΣ (3) Αλγόριθμοι για τις ΣΥΝΟΛΟΘΕΩΡΗΤΙΚΕΣ πράξεις: Το ΚΑΡΤΕΣΙΑΝΟ ΓΙΝΟΜΕΝΟ των σχέσεων R και S περιλαμβάνει μια εγγραφή για κάθε συνδυασμό εγγραφών από τις σχέσεις R και S. Τα γνωρίσματα του αποτελέσματος περιλαμβάνουν όλα τα γνωρίσματα των R και S. Ανάλυση κόστους του ΚΑΡΤΕΣΙΑΝΟΥ ΓΙΝΟΜΕΝΟΥ Αν η σχέση R έχει n εγγραφές και j γνωρίσματα, και η σχέση S έχει m εγγραφές και k γνωρίσματα, το αποτέλεσμα θα έχει n m εγγραφές και j k γνωρίσματα. Η πράξη ΚΑΡΤΕΣΙΑΝΟΥ ΓΙΝΟΜΕΝΟΥ είναι πολύ ακριβή και είναι σημαντικό να αποφεύγεται και να αντικαθίσταται από άλλες ισοδύναμες πράξεις. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 32
34 Αλγόριθμοι για τις πράξεις ΠΡΟΒΟΛΗΣ και ΣΥΝΟΛΟΘΕΩΡΗΤΙΚΕΣ (4) Αλγόριθμοι για τις ΣΥΝΟΛΟΘΕΩΡΗΤΙΚΕΣ πράξεις: ΕΝΩΣΗ (UNION) Ταξινόμηση των δύο σχέσεων στο ίδιο γνώρισμα. Ταυτόχρονη σάρωση και συγχώνευση των δύο ταξινομημένων αρχείων, και όταν η ίδια πλειάδα εμφανίζεται και στα δύο αρχεία, καταχωρείται μόνο μια φορά το αποτέλεσμα. ΤΟΜΗ (INTERSECTION) Ταξινόμηση των δύο σχέσεων στο ίδιο γνώρισμα. Ταυτόχρονη σάρωση και συγχώνευση των δύο ταξινομημένων αρχείων, και όταν η ίδια πλειάδα εμφανίζεται και στα δύο αρχεία, καταχωρείται το αποτέλεσμα. ΣΥΝΟΛΟΘΕΩΡΗΤΙΚΗ ΔΙΑΦΟΡΑ R-S (SET DIFFERENCE) Ταξινόμηση των δύο σχέσεων στο ίδιο γνώρισμα. Ταυτόχρονη σάρωση και συγχώνευση των δύο ταξινομημένων αρχείων, και όταν η ίδια πλειάδα εμφανίζεται μόνο στη σχέση R (κι όχι στην S), καταχωρείται το αποτέλεσμα. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 33
35 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (14) Τ R S Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 34
36 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (15) Τ R S Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 35
37 Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗΣ και ΣΥΓΧΩΝΕΥΣΗΣ (16) Τ R S Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 36
38 Υλοποίηση ΣΥΝΑΘΡΟΙΣΤΙΚΩΝ πράξεων και ΕΞΩΤΕΡΙΚΩΝ ΣΥΝΕΝΩΣΕΩΝ (1) Υλοποίηση ΣΥΝΑΘΡΟΙΣΤΙΚΩΝ Πράξεων: ΣΥΝΑΘΡΟΙΣΤΙΚΕΣ συναρτήσεις: MIN, MAX, SUM, COUNT and AVERAGE Επιλογές για την υλοποίηση των παραπάνω τελεστών: Σάρωση του πίνακα Χρήση κατάλληλου ευρετηρίου (αν υπάρχει) Παράδειγμα: SELECT MAX (ΜΙΣΘΟΣ) FROM ΕΡΓΑΖΟΜΕΝΟΣ; Αν υπάρχει ένα (με αύξουσα σειρά) ευρετήριο στο ΜΙΣΘΟΣ για τη σχέση ΕΡΓΑΖΟΜΕΝΟΣ, τότε ο βελτιστοποιητής μπορεί να αποφασίσει να χρησιμοποιήσει το ευρετήριο για να ψάξει για τη μεγαλύτερη τιμή, ακολουθώντας τον πιο δεξιό δείκτη σε κάθε κόμβο ευρετηρίου από τη ρίζα στο πιο δεξιό φύλλο. Αντίστοιχα για τη συνάρτηση MIN, ακολουθείται ο πιο αριστερός δείκτης από τη ρίζα στο πιο αριστερό φύλλο. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 37
39 Υλοποίηση ΣΥΝΑΘΡΟΙΣΤΙΚΩΝ πράξεων και ΕΞΩΤΕΡΙΚΩΝ ΣΥΝΕΝΩΣΕΩΝ (2) Υλοποίηση ΣΥΝΑΘΡΟΙΣΤΙΚΩΝ Πράξεων (συνέχεια): SUM, COUNT και AVG Για ένα πυκνό ευρετήριο (υπάρχει καταχώρηση για κάθε εγγραφή στο κυρίως αρχείο): Οι αντίστοιχοι υπολογισμοί εφαρμόζονται στις τιμές του ευρετηρίου. Για ένα μη-πυκνό ευρετήριο: Πρέπει να χρησιμοποιηθεί το πραγματικό πλήθος των εγγραφών που αντιστοιχούν σε κάθε καταχώρηση του ευρετηρίου GROUP BY: η συνάρτηση συνάθροισης πρέπει να εφαρμοστεί ξεχωριστά σε κάθε ομάδα από πλειάδες. Διαμερισμός του πίνακα σε υποσύνολα από πλειάδες, όπου κάθε διαμέριση έχει την ίδια τιμή για τα γνωρίσματα ομαδοποίησης. Η συνάρτηση συνάθροισης εφαρμόζεται για τις πλειάδες σε κάθε ομάδα. Αν υπάρχει ένα ευρετήριο συστάδα στα γνωρίσματα ομαδοποίησης; Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 38
40 Υλοποίηση ΣΥΝΑΘΡΟΙΣΤΙΚΩΝ πράξεων και ΕΞΩΤΕΡΙΚΩΝ ΣΥΝΕΝΩΣΕΩΝ (3) Υλοποίηση της ΕΞΩΤΕΡΙΚΗΣ ΣΥΝΕΝΩΣΗΣ: Πράξεις Εξωτερικής συνένωσης: Αριστερή εξωτερική συνένωση (Left outer join) Δεξιά εξωτερική συνένωση (Right outer join) Πλήρη εξωτερική συνένωση (Full outer join) Η πλήρης εξωτερική συνένωση δίνει αποτέλεσμα που αντιστοιχεί στην ένωση των αποτελεσμάτων της αριστερής και της δεξιάς εξωτερικής συνένωσης. Παράδειγμα: SELECT FROM ΕΠΙΘΕΤΟ, ΟΝΟΜΑ, Τ_ΟΝΟΜΑ (ΕΡΓΑΖΟΜΕΝΟΣ LEFT OUTER JOIN ΤΜΗΜΑ ON ΑΡΙΘ_Τ = ΚΩΔ_ΤΜΗΜ); Σημείωση: Το αποτέλεσμα αυτής της ερώτησης είναι ένας πίνακας με ονόματα εργαζομένων και το αντίστοιχο τμήμα τους. Μοιάζει με το αποτέλεσμα μιας κανονικής (εσωτερικής) συνένωσης, με εξαίρεση ότι αν μια πλειάδα ΕΡΓΑΖΟΜΕΝΟΣ δεν έχει ένα αντίστοιχο τμήμα, το όνομα του εργαζόμενου θα εμφανιστεί στον πίνακα του αποτελέσματος, αλλά για αυτή την πλειάδα το όνομα του τμήματος στο αποτέλεσμα της ερώτησης θα είναι null. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 39
41 Υλοποίηση ΣΥΝΑΘΡΟΙΣΤΙΚΩΝ πράξεων και ΕΞΩΤΕΡΙΚΩΝ ΣΥΝΕΝΩΣΕΩΝ (4) Υλοποίηση της ΕΞΩΤΕΡΙΚΗΣ ΣΥΝΕΝΩΣΗΣ: Τροποποιώντας έναν από τους αλγορίθμους συνένωσης: Συνένωση εμφωλευμένων βρόγχων ή απλής συνένωσης με επαναλήψεις. Για παράδειγμα: Για μια αριστερή εξωτερική συνένωση, χρησιμοποιούμε την αριστερή σχέση στην εξωτερική επανάληψη ή απλή επανάληψη επειδή κάθε πλειάδα αυτής πρέπει να εμφανιστεί στο αποτέλεσμα. Αν υπάρχουν πλειάδες από την άλλη σχέση που ταιριάζουν, παράγονται οι πλειάδες συνένωσης και αποθηκεύονται στο αποτέλεσμα. Αν δεν βρεθεί πλειάδα που να ταιριάζει, η πλειάδα συμπεριλαμβάνεται στο αποτέλεσμα, αλλά συμπληρώνεται με τιμές null. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 40
42 Υλοποίηση ΣΥΝΑΘΡΟΙΣΤΙΚΩΝ πράξεων και ΕΞΩΤΕΡΙΚΩΝ ΣΥΝΕΝΩΣΕΩΝ (5) Υλοποίηση της ΕΞΩΤΕΡΙΚΗΣ ΣΥΝΕΝΩΣΗΣ: Εκτέλεση συνδυασμού πράξεων της σχεσιακής άλγεβρας. Υλοποίηση της προηγούμενης αριστερής εξωτερικής συνένωσης: 1. Υπολόγισε την (εσωτερική) συνένωση των πινάκων ΕΡΓΑΖΟΜΕΝΟΣ και ΤΜΗΜΑ Τ1 π ΕΠΙΘΕΤΟ,ΟΝΟΜΑ,ΤΟΝΟΜΑ (ΕΡΓΑΖΟΜΕΝΟΣ ΑΡΙΘ_Τ=ΚΩΔ_ΤΜΗΜ ΤΜΗΜΑ) 2. Βρες τις πλειάδες της ΕΡΓΑΖΟΜΕΝΟΣ που δεν εμφανίζεται στο αποτέλεσμα της συνένωσης (εσωτερικής) Τ2 π ΕΠΙΘΕΤΟ,ΟΝΟΜΑ ΕΡΓΑΖΟΜΕΝΟΣ π ΕΠΙΘΕΤΟ,ΟΝΟΜΑ (Τ1) 3. Συμπλήρωσε κάθε πλειάδα της Τ2 με null τιμές στο πεδίο Τ_ΟΝΟΜΑ. Τ2 Τ2 null 4. Εφάρμοσε την πράξη της συνένωσης των Τ1 και Τ2 για να παραχθεί το αποτέλεσμα της αριστερής εξωτερικής συνένωσης. ΑΠΟΤΕΛΕΣΜΑ Τ1 Τ2 Το κόστος αυτού του υπολογισμού της εξωτερικής συνένωσης, είναι το άθροισμα του κόστους των επιμέρους βημάτων (εσωτερική συνένωση, προβολές και ένωση). Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 41
43 Σύνοψη κεφαλαίου Εισαγωγή στη βελτιστοποίηση ερωτήσεων Μετάφραση SQL ερωτήσεων σε Σχεσιακή Άλγεβρα Αλγόριθμοι Εξωτερικής Ταξινόμησης Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗ και ΣΥΝΕΝΩΣΗ Αλγόριθμοι για ΠΡΟΒΟΛΗ και συνόλων Υλοποίηση Συναθροιστικών πράξεων και εξωτερικών συνενώσεων Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 42
44 Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 7, μέρος 2 ο : Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας Γνώσεων & Λογισμικού, Ινστιτούτο Πληροφορικής & Τηλεπικοινωνιών, Ε.Κ.Ε.Φ.Ε. Δημόκριτος Τηλ.: , Fax: , {vangelis, akrithara, petasis}@iit.demokritos.gr Ακαδημαϊκό Έτος:
45 Σεμινάριο 5, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων < 44 > Οι διαφάνειες αυτού του σεμιναρίου βασίζονται σε διαφάνειες των: Δ. Γουνόπουλος, Ι. Ιωαννίδης
46 ΚΕΦΑΛΑΙΟ 19* Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων Copyright 2011 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Δίαυλος Σεμινάριο 5, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων
47 Θα μιλήσουμε για Συνδυασμός Πράξεων με χρήση σωλήνωσης Χρήση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων Χρήση επιλεξιμότητας και εκτιμήσεων κόστους στη βελτιστοποίηση ερωτήσεων Σημασιολογική βελτιστοποίηση ερωτήσεων Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 46
48 Συνδυασμός πράξεων χρησιμοποιώντας σωλήνωση (1) Μία ερώτηση μεταφράζεται σε μια ακολουθία από σχεσιακές πράξεις. Η εκτέλεση μία προς μία των πράξεων, δημιουργεί τόσα προσωρινά αρχεία όσες και οι πράξεις. Η δημιουργία και αποθήκευση μεγάλων προσωρινών αρχείων στο δίσκο είναι χρονοβόρα και ακριβή. Εναλλακτική προσέγγιση: Ελάττωση του πλήθους των προσωρινών αρχείων Οι πλειάδες του αποτελέσματος μιας προηγούμενης πράξης προωθούνται ως είσοδος στην επόμενη πράξη σε μια ροή (ή σωλήνωση) αμέσως μόλις παράγονται. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 47
49 Συνδυασμός πράξεων χρησιμοποιώντας σωλήνωση (2) Παράδειγμα: Αντί να υλοποιηθεί ξεχωριστά μία συνένωση, μπορεί να συνδυαστεί με δύο πράξεις επιλογής στα αρχεία εισόδου και μία τελική πράξη προβολής στο αρχείο του αποτελέσματος. Δυναμική δημιουργία του κώδικα για υλοποίηση πολλαπλών πράξεων. Οι πλειάδες του αποτελέσματος κάθε επιλογής προωθούνται ως είσοδος στον αλγόριθμο συνένωσης. Σωληνωτή εκτέλεση ή επεξεργασία βασισμένη στη ροή Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 48
50 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (1) Τεχνική βελτιστοποίησης με χρήση ευριστικών κανόνων 1. Σε μια ερώτηση υψηλού επιπέδου ο συντακτικός αναλυτής δημιουργεί μια αρχική εσωτερική αναπαράσταση 2. Βελτιστοποίηση της αναπαράστασης σύμφωνα με ευριστικούς κανόνες 3. Δημιουργείται ένα σχέδιο εκτέλεσης ομάδων πράξεων, με βάση τις διαθέσιμες διαδρομές προσπέλασης στα αρχεία. Ένας από τους κύριους ευριστικούς κανόνες είναι να εκτελούνται οι πράξεις που ελαττώνουν το μέγεθος των προσωρινών αρχείων. Παράδειγμα: εκτέλεση των πράξεων ΕΠΙΛΟΓΗ και ΠΡΟΒΟΛΗ πριν από την εκτέλεση των πράξεων συνένωσης και των άλλων δυαδικών πράξεων. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 49
51 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (2) Δέντρο ερώτησης: Μία δενδρική δομή που αντιστοιχεί σε μια έκφραση της σχεσιακής άλγεβρας. Οι σχέσεις εισόδου αναπαρίστανται ως κόμβοι φύλλα του δένδρου Οι πράξεις σχεσιακής άλγεβρας ως εσωτερικοί κόμβοι. Μια εκτέλεση του δένδρου ερώτησης συνίσταται στην εκτέλεση των πράξεων κάθε εσωτερικού κόμβου, όταν οι σχέσεις εισόδου είναι διαθέσιμες και στη συνέχεια αντικατάσταση του εσωτερικού κόμβου από τη σχέση η οποία προκύπτει από την εκτέλεση της πράξης. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 50
52 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (3) Γράφος ερώτησης: Μία γραφική δομή που αντιστοιχεί σε μια έκφραση του σχεσιακού λογισμού. Οι σχέσεις στην ερώτηση αναπαρίστανται από κόμβους σχέσεων (απλοί κύκλοι). Οι σταθερές τιμές αναπαρίστανται με σταθερούς κόμβους (διπλοί κύκλοι). Οι πράξεις αναπαρίστανται με πλευρές του γράφου. Δεν δείχνει την σειρά εκτέλεσης των πράξεων. Υπάρχει μόνο ένας γράφος που αντιστοιχεί σε κάθε ερώτηση. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 51
53 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (4) Παράδειγμα: Για κάθε έργο στην τοποθεσία Stafford, να ανακτηθεί ο κωδικός έργου, ο κωδικός του τμήματος που το ελέγχει και το επίθετο, η διεύθυνση και η ημερομηνία γέννησης του διευθυντή του τμήματος. Σχεσιακή άλγεβρα: π ΚΩΔΕΡΓΟΥ,ΚΩΔ ΤΜΗΜ,ΕΠΙΘΕΤΟ,ΔΙΕΥΘΥΝΣΗ,ΗΜΕΡ ΓΕΝ (((σ ΤΟΠ_ΕΡΓΟΥ= Stanford ΕΡΓΟ ) ΚΤΜΗΜΑ =ΚΩΔ ΤΜΗΜ (ΤΜΗΜΑ)) ΔΙΕΥΘΥΝΤΗΣ=ΑΡΤΑΥΤ ΕΡΓΑΖΟΜΕΝΟΣ)) Ερώτηση SQL : SELECT Ρ.ΚΩΔ_ΕΡΓΟΥ, Ρ.Κ_ΤΜΗΜΑ,Ε.ΕΠΙΘΕΤΟ, Ε.ΔΙΕΥΘΥΝΣΗ,Ε.ΗΜ_ΓΕΝ FROM ΕΡΓΟ AS Ρ, ΤΜΗΜΑ AS T, ΕΡΓΑΖΟΜΕΝΟΣ AS E WHERE R.K_TMHMA=T.KVD_TMHM AND T.ΔΙΕΥΘΥΝΤΗΣ=Ε.ΑΡ_ΤΑΥΤ AND P.ΤΟΠ_ΕΡΓΟΥ= STAFFORD ; Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 52
54 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (5) Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 53
55 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (6) Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 54
56 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (7) Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 55
57 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (8) Ευριστική βελτιστοποίηση δένδρων ερωτήσεων: Πολλές διαφορετικές εκφράσεις της σχεσιακής άλγεβρας και επομένως πολλά διαφορετικά δέντρα ερωτήσεων μπορούν είναι ισοδύναμες. Ο ευριστικός βελτιστοποιητής μετασχηματίζει το αρχικό δέντρο ερώτησης σε ένα τελικό δένδρο ερώτησης, το οποίο μπορεί να εκτελεστεί με αποδοτικό τρόπο. Παράδειγμα: Ε: SELECT ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ, ΑΠΑΣΧΟΛΗΣΗ, ΕΡΓΟ WHERE Ε_ΟΝΟΜΑ= AQUARIUS AND ΚΩΔ_ΕΡΓΟΥ=Κ_ΕΡΓΟ AND Ε_ΑΡΤΑΥΤ=ΑΡ_ΤΑΥΤ AND ΗΜ_ΓΕΝ > ; Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 56
58 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (9) Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 57
59 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (10) Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 58
60 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (11) Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 59
61 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (12) Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 60
62 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (13) Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 61
63 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (14) Γενικοί κανόνες μετασχηματισμού για πράξεις της σχεσιακής άλγεβρας: 1. Διάδοση (cascade) της επιλογής (σ): μία συζευκτική συνθήκη επιλογής μπορεί να διασπαστεί σε μια διαδοχή (ακολουθία) πράξεων επιλογής: σ c1 AND c 2 AND AND cn (R) σ c 1 (σ c2 ( (σ cn (R)) )) 2. Αντιμεταθετικότητα της σ: η επιλογή είναι αντιμεταθετική πράξη σ c1 (σ c2 (R)) σ c2 (σ c1 (R)) 3. Διάδοση της προβολής (π): σε μια διαδοχή (ακολουθία) από πράξεις προβολής, μπορούν να αγνοηθούν όλες εκτός από την τελευταία: π λιστα1 (π λιστα2 ( (π λισταν R) ) π λιστα1 R 4. Αντιμετάθεση της σ με την π: αν η συνθήκη επιλoγής c περιλαμβάνει μόνο τα γνωρίσματα Α 1, Α 2,, Α n της λίστας προβολής, οι δύο πράξεις μπορούν να αντιμετατεθούν: π Α1, Α n (σ c(r)) σ c (π Α1, Α n (R)) Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 62
64 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (15) Γενικοί κανόνες μετασχηματισμού για πράξεις της σχεσιακής άλγεβρας (συνέχεια): 5. Αντιμεταθετικότητα της (και της ): η πράξη είναι αντιμεταθετική, όπως και η πράξη : R c S S c R; R S S R 6. Αντιμεταθετικότητα της σ με την (ή την ): αν το σύνολο των γνωρισμάτων της συνθήκης επιλογής c περιλαμβάνει μόνο γνωρίσματα μιας από τις σχέσεις συνένωσης έστω της R οι δύο πράξεις μπορούν να αντιμεταθούν ως ακολούθως: σ c (R S) (σ c (R)) S Εναλλακτικά, αν η συνθήκη επιλογής c μπορεί να γραφεί ως (c 1 and c 2 ), όπου η συνθήκη c 1 περιλαμβάνει μόνο γνωρίσματα της R και η συνθήκη c 2 μόνο γνωρίσματα της S, οι πράξεις αντιμετατίθενται ως ακολούθως: σ c (R S) (σ c1 (R)) (σ c2 (S)) Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 63
65 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (16) Γενικοί κανόνες μετασχηματισμού για πράξεις της σχεσιακής άλγεβρας (συνέχεια): 7. Αντιμεταθετικότητα των π και (ή ): ας υποθέσουμε ότι η λίστα προβολής είναι L = {Α 1,, Α n, B 1,, B m }, όπου τα Α 1,, Α n είναι γνωρίσματα της σχέσης R και B 1,, B m της σχέσης S. Αν η συνθήκη συνένωσης c περιλαμβάνει μόνο γνωρίσματα που ανήκουν στην L, οι δύο πράξεις μπορούν να αντιμετατεθούν ως ακολούθως: π L (R c S) (π Α1,,Α n (R)) c (π B1,,B m (S)) Αν η συνθήκη συνένωσης c περιλαμβάνει επιπλέον γνωρίσματα που δεν βρίσκονται στην L, αυτά πρέπει να προστεθούν στη λίστα προβολής και απαιτείται μια τελική πράξη προβολής. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 64
66 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (17) Γενικοί κανόνες μετασχηματισμού για πράξεις της σχεσιακής άλγεβρας (συνέχεια): 8. Αντιμεταθετικότητα των συνολοθεωρητικών πράξεων: οι συνολοθεωρητικές πράξεις και είναι αντιμεταθετικές, όχι όμως και η διαφορά ( ). 9. Προσεταιριστικότητα των,, και : Κάθε μία από αυτές τις πράξεις είναι προσεταιριστική. Δηλαδή, αν το θ παριστάνει μία από τις τέσσερις αυτές τις πράξεις, τότε έχουμε: (R θ S) θ T R θ (S θ T) 10. Επιμερισμός της επιλογής (σ) με τις συνολοθεωρητικές πράξεις: η πράξη σ είναι επιμεριστική ως προς τις, και. Αν το θ παριστάνει μια από αυτές τις πράξεις, τότε έχουμε: σ c (R θ S) (σ c (R)) θ (σ c (S)) Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 65
67 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (18) Γενικοί κανόνες μετασχηματισμού για πράξεις της σχεσιακής άλγεβρας (συνέχεια): 11. Η πράξη της προβολής είναι επιμεριστική ως προς την ένωση : π L (R S) (π L (R)) (π L (S)) 12. Μετατροπή μιας (σ, ) ακολουθίας σε : Αν η συνθήκη c μιας επιλογής σ που ακολουθείται από ένα αντιστοιχεί σε μια συνθήκη συνένωσης, η ακολουθία (σ, ) μετατρέπεται σε όπως: ((σ c (R S) (R c S) Άλλοι πιθανοί μετασχηματισμοί Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 66
68 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (19) Περιγραφή ενός ευριστικού αλγεβρικού αλγορίθμου βελτιστοποίησης: 1. Χρησιμοποιώντας τον κανόνα 1, διασπώνται οι πράξεις επιλογής με συζευκτικές συνθήκες σε ακολουθίες πράξεων επιλογής. 2. Χρησιμοποιώντας τους κανόνες 2, 4, 6, και 10 που αφορούν τη αντιμεταθετικότητα της επιλογής με άλλες πράξεις, μετατοπίζεται κάθε πράξη επιλογής όσο πιο κάτω επιτρέπεται από τα γνωρίσματα που περιλαμβάνονται στη συνθήκη επιλογής. 3. Χρησιμοποιώντας τους κανόνες 5 και 9 που αφορούν την αντιμεταθετικότητα και την προσεταιριστικότητα των δυαδικών πράξεων, επαναδιευθετούνται οι κόμβοι-φύλλα έτσι που να εκτελούνται πρώτα οι κόμβοι-φύλλα με τις σχέσεις που έχουν τις πιο περιοριστικές πράξεις επιλογής. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 67
69 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (20) Περιγραφή ενός ευριστικού αλγεβρικού αλγορίθμου βελτιστοποίησης (συνέχεια): 4. Χρησιμοποιώντας τον κανόνα 12, συνδυασμός μιας πράξης Καρτεσιανού γινομένου με μια πράξη επιλογής που ακολουθεί σε μια συνένωση, αν η συνθήκη αναπαριστά μια συνθήκη συνένωσης. 5. Χρησιμοποιώντας τους κανόνες 3, 4, 7, και 11 που αφορούν τη διάδοση της προβολής και την επιμεριστικότητα της προβολής με άλλες πράξεις, οι λίστες γνωρισμάτων προβολής διασπώνται και μετατοπίζονται όσο το δυνατόν πιο κάτω στο δένδρο ερώτησης. Όπου είναι απαραίτητο, δημιουργούνται νέοι κόμβοι πράξεων προβολής. 6. Εντοπισμός υποδέντρων που αναπαριστούν ομάδες πράξεων οι οποίες μπορούν να εκτελεσθούν από ένα μόνον αλγόριθμο. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 68
70 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (21) Περίληψη της ευριστικής αλγεβρικής βελτιστοποίησης: 1. Η κύρια ευριστική μέθοδος είναι να εφαρμόζονται πρώτα οι πράξεις που ελαττώνουν το μέγεθος των ενδιάμεσων αποτελεσμάτων. 2. Εκτέλεση των πράξεων της επιλογής όσο το δυνατόν πιο γρήγορα, έτσι ώστε να ελαττωθεί το πλήθος των πλειάδων και η εκτέλεση των προβολών όσο το δυνατόν πιο γρήγορα, προκειμένου να ελαττωθεί το πλήθος των γνωρισμάτων. (Αυτό επιτυγχάνεται μετατοπίζοντας τις πράξεις επιλογής και προβολής όσο το δυνατόν πιο χαμηλά στο δένδρο.) 3. Οι πιο περιοριστικές πράξεις επιλογής και συνένωσης πρέπει να εκτελούνται πριν από άλλες παρόμοιες πράξεις. (Αυτό επιτυγχάνεται αναδιατάσσοντας μεταξύ τους κόμβους-φύλλα του δένδρου αποφεύγοντας Καρτεσιανά γινόμενα και προσαρμόζοντας κατάλληλα το υπόλοιπο δέντρο.) Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 69
71 Χρησιμοποίηση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων (22) Σχέδια εκτέλεσης ερωτήσεων Ένα σχέδιο εκτέλεσης για μια έκφραση της σχεσιακής άλγεβρας που παριστάνεται σαν δένδρο ερωτήσεων περιλαμβάνει πληροφορίες για τις διαθέσιμες μεθόδους προσπέλασης για κάθε σχέση καθώς και για τους αλγορίθμους που μπορούν να χρησιμοποιηθούν για την υπολογισμό των σχεσιακών τελεστών που παριστάνονται στο δένδρο. Υλοποιημένο υπολογισμό: το αποτέλεσμα μιας πράξης αποθηκεύεται σε μια προσωρινή σχέση. Σωληνωτό υπολογισμό: καθώς παράγονται οι πλειάδες του αποτελέσματος μιας πράξης, στέλνονται άμεσα στην επόμενη πράξη της ακολουθίας της ερώτησης. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 70
72 Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (1) Βελτιστοποίηση ερωτήσεων που βασίζεται στο κόστος: Εκτίμηση και σύγκριση του κόστους εκτέλεσης μιας ερώτησης χρησιμοποιώντας διαφορετικές στρατηγικές εκτέλεσης, και επιλογή της στρατηγικής με το μικρότερο εκτιμώμενο κόστος. Ζητήματα Συνάρτηση κόστους Πλήθος των στρατηγικών εκτέλεσης που θα εξεταστούν Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 71
73 Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (2) Παράγοντες κόστους εκτέλεσης ερωτήσεων 1. Κόστος προσπέλασης στη δευτερεύουσα μνήμη 2. Κόστος αποθήκευσης 3. Υπολογιστικό κόστος 4. Κόστος χρήσης της μνήμης 5. Επικοινωνιακό κόστος Σημείωση: Διαφορετικά συστήματα βάσεων δεδομένων δίνεται διαφορετική έμφαση στους διαφορετικούς παράγοντες κόστους. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 72
74 Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (3) Πληροφορίες καταλόγου που χρησιμοποιούνται στις συναρτήσεις κόστους: Πληροφορίες για το μέγεθος κάθε αρχείου Το πλήθος εγγραφών (πλειάδες) (r), Το (μέσο) μέγεθος εγγραφής (R), Το πλήθος των μπλοκ (b), Ο παράγων σχηματισμού μπλοκ (blocking factor) (bfr) Πληροφορίες για τα ευρετήρια και τα ευρετηριασμένα γνωρίσματα κάθε αρχείου Το πλήθος των επιπέδων (x) κάθε πολυεπίπεδου ευρετηρίου Το πλήθος μπλοκ του πρώτου επιπέδου ευρετηρίου (b I1 ) Το πλήθος των διακριτών τιμών (d) ενός γνωρίσματος Η επιλεξιμότητα (sl) ενός γνωρίσματος Πληθάριθμος επιλογής ενός γνωρίσματος (s = sl r) Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 73
75 Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (4) Παράδειγμα: Έστω ένα γνώρισμα κλειδί: των διακριτών τιμών (d) ενός γνωρίσματος; Η επιλεξιμότητας (sl) ενός γνωρίσματος; Πληθάριθμος επιλογής ενός γνωρίσματος (s = sl r); d = r sl = 1/r s = 1 Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 74
76 Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (5) Παραδείγματα συναρτήσεων κόστους για την πράξη της επιλογής (Κόστος μεθόδου Εi: C Ei μεταφορές μπλοκ) Ε1. Μέθοδος σειριακής αναζήτησης C E1a = b Για συνθήκη ισότητας σε ένα κλειδί C E1β = b 2 εγγραφή, αλλιώς C E1β = b Ε2. Δυαδική αναζήτηση αν υπάρχει C E2 = log 2 b + ( s bfr ) 1 Για συνθήκη ισότητας σε ένα κλειδί C E2 = log 2 b, αφού s = 1 Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 75
77 Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (6) Παραδείγματα συναρτήσεων κόστους για την πράξη της επιλογής (συνέχεια) Ε3α. Χρήση πρωτεύοντος ευρετηρίου για την ανάκτηση μιας εγγραφής C E3a = χ + 1 Ε3β. Χρήση κλειδιού κατακερματισμού για την ανάκτηση μιας εγγραφής C E3β = 1 Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 76
78 Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (7) Παραδείγματα συναρτήσεων κόστους για την πράξη της επιλογής (συνέχεια) Ε4. Χρήση ευρετηρίου διάταξης για την ανάκτηση πολλαπλών εγγραφών C E4 = χ + ( b 2 ) Ε5. Χρήση ευρετηρίου συστάδων για την ανάκτηση πολλών εγγραφών C E5 = x + ( s bfr ) Ε6. Χρήση δευτερεύοντος ευρετηρίου (Β + -δέντρου) Για σύγκριση ισότητας: C E6α = χ + s Για σύγκριση >, >=, < ή <=: C E6β = χ + b I1 /2 + r 2 Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 77
79 Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (8) Παραδείγματα συναρτήσεων κόστους για την πράξη της επιλογής (συνέχεια) Ε7. Συζευκτική επιλογή Χρήση της Ε1 ή μιας από τις μεθόδους Ε2 έως Ε6. Στη τελευταία περίπτωση χρησιμοποιούμε μια συνθήκη για την ανάκτηση των εγγραφών και στη συνέχεια ελέγχουμε αν η εγγραφή που προσκομίσθηκε στη μνήμη, ικανοποιεί τις υπόλοιπες συνθήκες της σύζευξης. Ε8. Συζευκτική επιλογή με χρήση σύνθετου ευρετηρίου Παρομοίως με τις Ε3α, Ε5 και Ε6α, ανάλογα με τον τύπο του ευρετηρίου Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 78
80 Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (9) Χρειαζόμαστε μια εκτίμηση του μεγέθους του αρχείου που προκύπτει ως αποτέλεσμα της πράξης συνένωσης Παραδείγματα χρήσης των συναρτήσεων κόστους για συνένωση Επιλεξιμότητα συνένωσης (js) js = R cs R S = R cs R S Αν δεν υπάρχει συνθήκη συνένωσης c, τότε js = 1; Αν η συνθήκη συνένωσης δεν ικανοποιείται από καμία πλειάδα των σχέσεων, τότε js = 0; Γενικά, 0 js 1; Μέγεθος του αρχείου του αποτελέσματος της συνένωσης R c S = js R S Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 79
81 Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (10) Παραδείγματα χρήσης των συναρτήσεων κόστους για συνένωση (συνέχεια) Σ1. Εμφωλευμένοι βρόχοι Χρήση της σχέσης R για τον εξωτερικό βρόχο: C Σ1 = b R + b R b s + ( js R S ) bfr RS Σ2. Συνένωση με απλό βρόχο επανάληψης (χρήση μιας δομής προσπέλασης για ανάκτηση των εγγραφών που ικανοποιούν τη συνθήκη) Αν υπάρχει ευρετήριο για το γνώρισμα συνένωσης B της σχέσης S, με χ Β επίπεδα ευρετηρίου, μπορούμε να ανακτήσουμε κάθε εγγραφή της σχέσης R και στη συνέχεια να χρησιμοποιήσουμε το ευρετήριο για την ανάκτηση των εγγραφών t της σχέσης S που ικανοποιούν τη t B = s A. Το κόστος εξαρτάται από το είδος του ευρετηρίου. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 80
82 Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (11) Παραδείγματα χρήσης των συναρτήσεων κόστους για συνένωση (συνέχεια) Σ2. Συνένωση με απλό βρόχο επανάληψης (συνέχεια) Για ένα δευτερεύον ευρετήριο: js R S C Σ2α = b R + R (x B + s B ) + ( ) bfr RS Για ένα ευρετήριο συστάδων: C Σ2β = b R + R (x B + s B js R S ) + ( ) bfr B bfr RS Για ένα πρωτεύον ευρετήριο: js R S C Σ2γ = b R + R (x B + 1) + ( ) bfr RS Για ένα κλειδί κατακερματισμού σε ένα από τα δύο γνωρίσματα συνένωσης Β ή R js R S C Σ2δ = b R + R h + ( ) bfr RS Όπου h 1, ο μέσος αριθμός προσπελάσεων μπλοκ που απαιτούνται για ανάκτηση μιας εγγραφής, όταν δίνεται η τιμή του κλειδιού κατακερματισμού για αυτή την τιμή Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 81
83 Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (12) Παραδείγματα χρήσης των συναρτήσεων κόστους για συνένωση (συνέχεια) Σ3. Συνένωση ταξινόμησης- συγχώνευσης js R S C Σ3α = C S + b R + b S + ( ) bfr RS C S : κόστος ταξινόμησης. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 82
84 Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (13) Ερωτήσεις πολλαπλών σχέσεων και διάταξη συνενώσεων Μία ερώτηση με συνενώσεις n σχέσεων θα έχει n-1 πράξεις συνένωσης, και επομένως μπορεί να έχει ένα μεγάλο πλήθος από διαφορετικές διατάξεις συνενώσεων, όταν χρησιμοποιούμε αλγεβρικούς μετασχηματισμούς. Οι βελτιστοποιητές ερωτήσεων περιορίζουν τη δομή ενός δένδρου ερωτήσεων στα δένδρα σε βάθος προς τα αριστερά (ή σε βάθος προς τα δεξιά). Βαθύ προς τα αριστερά δένδρο Ένα δυαδικό δένδρο, όπου το δεξί παιδί κάθε μη τερματικού κόμβου είναι πάντα μια βασική σχέση. Προσφέρονται για σωλήνωση Επιτρέπει στον βελτιστοποιητή να χρησιμοποιήσει όλα τα μονοπάτια προσπέλασης στη βασική σχέση (το δεξί παιδί) για την εκτέλεση της συνένωσης. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 83
85 Σημασιολογική βελτιστοποίηση ερωτήσεων Σημασιολογική βελτιστοποίηση ερωτήσεων Χρησιμοποιεί περιορισμούς που ορίζονται στο σχήμα της βάσης δεδομένων, προκειμένου να μετασχηματίσει την ερώτηση σε μία άλλη, η οποία θα εκτελείται πιο αποδοτικά Θεωρήστε την ερώτηση SQL: SELECT Ε.ΕΠΙΘΕΤΟ, M.ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ AS E, ΕΡΓΑΖΟΜΕΝΟΣ AS Μ WHERE Ε.ΠΡΟΪΣΤΑΜΕΝΟΣ=Μ.ΑΡ_ΤΑΥΤ AND Ε.ΜΙΣΘΟΣ>Μ.ΜΙΣΘΟΣ; Ας υποθέσουμε ότι στο σχήμα της βάσης δεδομένων είχαμε ορίσει τον περιορισμό ότι ένας εργαζόμενος δεν μπορεί να κερδίσει περισσότερα από τον άμεσο προϊστάμενό του. Αν ο σημασιολογικός βελτιστοποιητής ελέγξει για την ύπαρξη αυτού του περιορισμού, δεν χρειάζεται να εκτελέσει αυτή την ερώτηση, διότι γνωρίζει ότι το αποτέλεσμά της είναι το κενό σύνολο. Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 84
86 Σύνοψη κεφαλαίου Συνδυασμός Πράξεων με χρήση σωλήνωσης Χρήση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων Χρήση επιλεξιμότητας και εκτιμήσεων κόστους στη βελτιστοποίηση ερωτήσεων Σημασιολογική βελτιστοποίηση ερωτήσεων Σεμινάριο 7, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων 85
Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση
Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης
Διαβάστε περισσότεραΟργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων
Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 7, μέρος 2 ο : Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος
Διαβάστε περισσότεραΒάσεις Δεδομένων 2. Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων. Ημερ: 27/5/2008 Ακ.Έτος
Βάσεις Δεδομένων 2 Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων Ημερ: 27/5/2008 Ακ.Έτος 2007-08 Υλοποίηση σχεσιακών πράξεων ΤΑΞΙΝΟΜΗΣΗ Εξωτερική ταξινόμηση για μεγάλα αρχεία, αποθηκευμένα
Διαβάστε περισσότεραΕισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας Τα βασικά βήματα στην επεξεργασία
Διαβάστε περισσότεραΟργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 6: Δομές ευρετηρίων για αρχεία
Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 6: Δομές ευρετηρίων για αρχεία Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας Γνώσεων
Διαβάστε περισσότεραΕπεξεργασία Ερωτήσεων
Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Επεξεργασία Ερωτήσεων Αρχεία ευρετηρίου Κατάλογος συστήματος Αρχεία δεδομένων ΒΑΣΗ Ε ΟΜΕΝΩΝ Σύστημα Βάσεων εδομένων (ΣΒ ) Βάσεις Δεδομένων 2007-2008
Διαβάστε περισσότεραΕισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα Βάσεις
Διαβάστε περισσότεραΕπεξεργασία Ερωτήσεων
Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική
Διαβάστε περισσότεραΕπεξεργασία Ερωτήσεων
Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων
Διαβάστε περισσότεραCopyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-1
Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-1 Κεφάλαιο 15 Αλγόριθμοιγια επεξεργασία ερωτήσεων και βελτιστοποίηση Copyright 2007 Ramez Elmasri and Shamkant
Διαβάστε περισσότεραΕισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων
Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ Ε ΟΜΕΝΩΝ Αρχεία δεδομένων συστήματος Σύστημα Βάσεων εδομένων (ΣΒ ) 2 :
Διαβάστε περισσότεραΤο εσωτερικό ενός Σ Β
Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL) ηµιουργία/κατασκευή Εισαγωγή εδοµένων
Διαβάστε περισσότεραΕισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2018-2019 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας
Διαβάστε περισσότεραΕπεξεργασία Ερωτήσεων
Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΣΔΒΔ Σύνολο από προγράµµατα για τη διαχείριση της ΒΔ Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Αρχεία δεδοµένων συστήµατος Σύστηµα Βάσεων Δεδοµένων (ΣΒΔ)
Διαβάστε περισσότεραΕισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων
Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 1 ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Επεξεργασία Ερωτήσεων Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL)
Διαβάστε περισσότεραΕπεξεργασία Ερωτήσεων
Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΣΔΒΔ Σύνολο από προγράμματα γιατηδιαχείρισητηςβδ Αρχεία ευρετηρίου Αρχεία δεδομένων Κατάλογος συστήματος ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Σύστημα Βάσεων Δεδομένων (ΣΒΔ) 2 :
Διαβάστε περισσότεραΥλοποίηση των Σχεσιακών Τελεστών. 6/16/2009 Μ.Χατζόπουλος 1
Υλοποίηση των Σχεσιακών Τελεστών 6/16/2009 Μ.Χατζόπουλος 1 Ένα σχεσιακό ΣΔBΔ πρέπει να συμπεριλαμβάνει αλγόριθμους για υλοποίηση των διαφορετικών τύπων των σχεσιακών πράξεων (καθώς και άλλων πράξεων) που
Διαβάστε περισσότεραΟι πράξεις της συνένωσης. Μ.Χατζόπουλος 1
Οι πράξεις της συνένωσης Μ.Χατζόπουλος 1 ΠΡΟΜΗΘΕΥΤΗΣ (ΠΡΜ) Κ_Προμ Π_Ονομα Είδος Πόλη 22 Ανδρέου 7 Αθήνα 31 Πέτρου 8 Πάτρα 28 Δέδες 12 Λάρισα 58 Παππάς 7 Αθήνα ΠΡΟΙΟΝ (ΠΡ) Κ_Πρ Πρ_Ονομα Χρώμα Βάρος Π35
Διαβάστε περισσότεραΒελτιστοποίηση επερωτημάτων
Βάσεις Δεδομένων ΙΙ Βελτιστοποίηση επερωτημάτων Πανεπιστήμιο Πατρών Τμήμα Μηχανικών Η/Υ & Πληροφορικής Βάσεις Δεδομένων ΙΙ Α. Κομνηνός Βελτιστοποίηση Ερωτημάτων Διαδικασία επιλογής του πιο αποτελεσματικού
Διαβάστε περισσότεραCopyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1
Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1 Κεφάλαιο 20 Φυσικός Σχεδιασμός Βάσεων Δεδομένων και Ρύθμιση Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική
Διαβάστε περισσότεραΟργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 4: Σχεσιακός Λογισμός
Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 4: Σχεσιακός Λογισμός Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας Γνώσεων & Λογισμικού,
Διαβάστε περισσότεραΟργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 3: Σχεσιακή Άλγεβρα
Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 3: Σχεσιακή Άλγεβρα Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας Γνώσεων & Λογισμικού,
Διαβάστε περισσότεραΣχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός
7 Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα H Σχεσιακή Άλγεβρα (relational algebra) ορίζει ένα σύνολο πράξεων που εφαρμόζονται σε μία ή περισσότερες σχέσεις
Διαβάστε περισσότεραΚεφάλαιο 14. Δομές Ευρετηρίων για Αρχεία. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση,
Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-1 Κεφάλαιο 14 Δομές Ευρετηρίων για Αρχεία Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Διαβλος, Επιμέλεια Μ.Χατζόπουλος 1 Θα μιλήσουμε
Διαβάστε περισσότεραCopyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-1
Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-1 Κεφάλαιο 14 Δομές Ευρετηρίων για Αρχεία Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Διαβλος, Επιμέλεια Μ.Χατζόπουλος Θα μιλήσουμε
Διαβάστε περισσότεραΤα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο
Κατακερματισμός 1 Αποθήκευση εδομένων (σύνοψη) Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Παραδοσιακά, μία σχέση (πίνακας/στιγμιότυπο) αποθηκεύεται σε ένα αρχείο Αρχείο δεδομένων
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ ΔΕΥΤΕΡΗ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ ΔΕΥΤΕΡΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΚΑΔ. ΕΤΟΣ 2007-2008 14.02.2008 EΠΙΣΤΡΕΦΕΤΑΙ ΔΙΔΑΣΚΩΝ Ιωάννης Βασιλείου, Καθηγητής,
Διαβάστε περισσότεραΒάσεις δεδομένων. (4 ο μάθημα) Ηρακλής Βαρλάμης
Βάσεις δεδομένων (4 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Επέκταση του μοντέλου ΟΣ Κληρονομικότητα Εξειδίκευση/Γενίκευση Περιορισμοί Ιεραρχίες και πλέγματα Συνάθροιση Συνέχεια στο σχεσιακό
Διαβάστε περισσότεραΣχεσιακή Άλγεβρα. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1
Σχεσιακή Άλγεβρα Παύλος Εφραιμίδης Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1 Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Στο μάθημα θα πούμε για Σχεσιακή Άλγεβρα Βάσεις Δεδομένων
Διαβάστε περισσότεραΟργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 5: SQL
Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 5: SQL Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας Γνώσεων & Λογισμικού, Ινστιτούτο
Διαβάστε περισσότεραΒάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL
Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL Παύλος Εφραιμίδης Βάσεις Δεδομένων SQL - Μέρος Τρίτο 1 Περιεχόμενα Προχωρημένα Ερωτήματα SQL Συνένωση Συναθροιστικές Συναρτήσεις Ομαδοποίηση Βάσεις Δεδομένων
Διαβάστε περισσότεραΤα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη
Ευρετήρια 1 Αρχεία Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη µνήµη. Η µεταφορά δεδοµένων από το δίσκο στη µνήµη και από τη
Διαβάστε περισσότεραΚεφ.11: Ευρετήρια και Κατακερματισμός
Κεφ.11: Ευρετήρια και Κατακερματισμός Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Κεφ. 11: Ευρετήρια-Βασική θεωρία Μηχανισμοί ευρετηρίου χρησιμοποιούνται για την επιτάχυνση
Διαβάστε περισσότεραΠεριεχόμενα. Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL. Συνένωση Σχέσεων στην SQL2 (3) Συνένωση Σχέσεων στην SQL2. (Join Relations Feature in SQL)
Περιεχόμενα Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL Παύλος Εφραιμίδης Προχωρημένα Ερωτήματα SQL Συνένωση Συναθροιστικές Συναρτήσεις Ομαδοποίηση Βάσεις Δεδομένων SQL - Μέρος Τρίτο 1 Βάσεις Δεδομένων
Διαβάστε περισσότεραΚεφάλαιο 14. οµές Ευρετηρίων για Αρχεία. ιαφάνεια 14-1
ιαφάνεια 14-1 Κεφάλαιο 14 οµές Ευρετηρίων για Αρχεία Copyright 2007 Ramez Elmasri and Shamkant B. NavatheΕλληνικήΈκδοση, ιαβλος, Επιµέλεια Μ.Χατζόπουλος 1 Θα µιλήσουµε για Τύποι Ταξινοµηµένων Ευρετηρίων
Διαβάστε περισσότερα#5. Σχεσιακό Μοντέλο
22Γ901 Βάσεις Δεδομένων και Γνώσεων 9ο Εξάμηνο Κύκλου Σπουδών ΗΥ και Μεταπτυχιακός Κύκλος Σπουδών Διδάσκων: Ν. Αβούρης Β μέρος Διαφανειών μαθήματος (2005-2006) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων
Διαβάστε περισσότεραΕυρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Ευρετήρια Ευαγγελία Πιτουρά 1 τιμή γνωρίσματος Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται
Διαβάστε περισσότεραΔεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2017-2018 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ
Διαβάστε περισσότεραΣχεσιακή Άλγεβρα. Συνολοθεωρητικές Πράξεις. Εκφράσεις. Ειδικές Πράξεις. Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων. Σχεσιακός Λογισμός
Σχεσιακή Άλγεβρα Παύλος Εφραιμίδης Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός ΣτομάθημαθαπούμεγιαΣχεσιακή Άλγεβρα Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1 Βάσεις Δεδομένων
Διαβάστε περισσότεραΔεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δεντρικά Ευρετήρια Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες
Διαβάστε περισσότεραΔυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δυναμικός Κατακερματισμός 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή (ως τρόπος οργάνωσης αρχείου) μέγεθος
Διαβάστε περισσότεραΔεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δεντρικά Ευρετήρια 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες ως εξής P 1 K 1 P
Διαβάστε περισσότεραΕπεξεργασία ερωτημάτων
Επεξεργασία ερωτημάτων Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη Σε τι αφορά η επεξεργασία ερωτημάτων? Αναφέρεται στο σύνολο των δραστηριοτήτων που περιλαμβάνονται στην ανάκτηση δεδομένων από μία βάση δεδομένων
Διαβάστε περισσότεραΒάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Βάσεις Δεδομένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Βασικές πράξεις της Σχεσιακής Αλγεβρας Σχεσιακό Μοντέλο Δεδομένων Ορισμός Βάσης
Διαβάστε περισσότεραΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2012 SQL Structured Query Language Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Πράξεις της σχεσιακής άλγεβρας ΠΡΑΞΗ ΣΚΟΠΟΣ
Διαβάστε περισσότεραΔυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή
Διαβάστε περισσότεραΒάσεις δεδομένων. (5 ο μάθημα) Ηρακλής Βαρλάμης
Βάσεις δεδομένων (5 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Συνέχεια στη Σχεσιακή άλγεβρα Μετονομασία Καρτεσιανό γινόμενο Συνένωση Θήτα Ισότητας Φυσική 26/3/2015 Βάσεις Δεδομένων 2 (Συνέχεια)
Διαβάστε περισσότεραΒάσεις Δεδομένων. Εργαστήριο ΙV. Τμήμα Πληροφορικής ΑΠΘ 2014-2015
Βάσεις Δεδομένων Εργαστήριο ΙV Τμήμα Πληροφορικής ΑΠΘ 2014-2015 2 Σκοπός του 4 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: η μελέτη ερωτημάτων σύνδεσης η μελέτη ερωτημάτων συνάθροισης 3 Εκφράσεις
Διαβάστε περισσότεραΟργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 6: Δομές ευρετηρίων για αρχεία
Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 6: Δομές ευρετηρίων για αρχεία Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας Γνώσεων
Διαβάστε περισσότεραΔυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2018-2019 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)
Διαβάστε περισσότεραKεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα
Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use Παράδειγμα Σχέσης attributes
Διαβάστε περισσότεραΔεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές
Διαβάστε περισσότεραΕπεξεργασία Ερωτήσεων: Επανάληψη και Ασκήσεις
Ερώτηση SQL Ερώτηση : Επανάληψη και Ασκήσεις Συντακτική Ανάλυση & Μετάφραση Έκφραση της Σχεσιακής Άλγεβρας Σχέδιο Εκτέλεσης Μηχανή Υπολογισµού Στατιστικά Στοιχεία εδοµένα Αποτέλεσµα Κατανεµηµένες Βάσεις
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΑΚΑ. ΕΤΟΣ 2012-13 Ι ΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής, Τοµέας Τεχνολογίας
Διαβάστε περισσότεραΟργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 2: Εισαγωγή στις Βάσεις Δεδομένων
Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 2: Εισαγωγή στις Βάσεις Δεδομένων Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας
Διαβάστε περισσότεραΔυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2017-2018 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)
Διαβάστε περισσότεραΒάσεις δεδομένων. (6 ο μάθημα) Ηρακλής Βαρλάμης
Βάσεις δεδομένων (6 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr (Συνέχεια) ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ 3/4/2014 2 Περιεχόμενα Συνέχεια στη Σχεσιακή άλγεβρα Συνένωση Θήτα Ισότητας Φυσική Διαίρεση Σύνθετες λειτουργίες
Διαβάστε περισσότεραBΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------
Διαβάστε περισσότεραΕυρετήρια. Ευρετήρια. Βάσεις Δεδομένων 2009-2010: Ευρετήρια 1
Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου
Διαβάστε περισσότεραΠληροφορική 2. Δομές δεδομένων και αρχείων
Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες
Διαβάστε περισσότεραΟργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο
Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών
Διαβάστε περισσότεραΔυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1
Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ.Χατζόπουλος 2 Δένδρο αναζήτησης είναι ένας ειδικός τύπος δένδρου που χρησιμοποιείται για να καθοδηγήσει την αναζήτηση μιας
Διαβάστε περισσότεραΚατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο
Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινομημένα Αρχεία Φυσική διάταξη των εγγραφών
Διαβάστε περισσότεραΒάσεις Δεδομένων Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)
Σχεσιακή Άλγεβρα Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός
Διαβάστε περισσότεραΕυρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1
Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου
Διαβάστε περισσότεραΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης
Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Ονοµατεπώνυµο: Αριθµός Μητρώου: Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία:
Διαβάστε περισσότεραΚεφάλαιο 8. SQL-99: Ορισμός Σχήματος, Περιορισμοί, και Επερωτήσεις και Όψεις
Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-1 Κεφάλαιο 8 SQL-99: Ορισμός Σχήματος, Περιορισμοί, και Επερωτήσεις και Όψεις Copyright 2007 Ramez Elmasri and
Διαβάστε περισσότεραΕξωτερική Ταξινόμηση. Μ.Χατζόπουλος 1
Εξωτερική Ταξινόμηση Μ.Χατζόπουλος 1 Γιατί είναι απαραίτητη; Κλασσικό Πρόβλημα της Πληροφορικής Πολλές φορές θέλουμε να παρουσιάσουμε δεδομένα σε ταξινομημένη μορφή Είναι σημαντική για την απαλοιφή διπλοτύπων
Διαβάστε περισσότεραΚατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1
Κατακερματισμός 4/3/2009 Μ.Χατζόπουλος 1 H ιδέα που βρίσκεται πίσω από την τεχνική του κατακερματισμού είναι να δίνεται μια συνάρτησης h, που λέγεται συνάρτηση κατακερματισμού ή παραγωγής τυχαίων τιμών
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 09: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) Ι Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Σχεσιακή Πληρότητα Σχεσιακή Άλγεβρα
Διαβάστε περισσότεραΟ βελτιστοποιητής ερωτημάτων (query optimizer) Μετασχηματισμός εκφράσεων σχεσιακής άλγεβρας Υπολογισμός μεγεθών πράξεων σχεσιακής άλγεβρας
Επεξεργασία & Βελτιστοποίηση Ερωτημάτων Ο βελτιστοποιητής ερωτημάτων (query optimizer) Μετασχηματισμός εκφράσεων σχεσιακής άλγεβρας Υπολογισμός μεγεθών πράξεων σχεσιακής άλγεβρας επιλογή, σύνδεση, άλλες
Διαβάστε περισσότεραΒάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)
Σχεσιακή Άλγεβρα Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 1 Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Άσκηση 2 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών HY460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Δημήτρης Πλεξουσάκης
Διαβάστε περισσότεραΕξωτερική Ταξινόμηση. Μ.Χατζόπουλος 1
Εξωτερική Ταξινόμηση Μ.Χατζόπουλος 1 Γιατί είναι απαραίτητη; Κλασσικό Πρόβλημα της Πληροφορικής Πολλές φορές θέλουμε να παρουσιάσουμε δεδομένα σε ταξινομημένη μορφή Είναι σημαντική για την απαλοιφή διπλοτύπων
Διαβάστε περισσότεραΆσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός)
ΗΥ460 Τελική Εξέηαζη 29 Ιανουαπίου 2013 Σελίδα 1 από 8 Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Δημήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Επαναληπτική
Διαβάστε περισσότεραSQL Data Manipulation Language
SQL Data Manipulation Language Τελεστής union συνδυάζει subselects τα οποία παράγουν συμβατές σχέσεις γενική μορφή: subselect {union [all] subselect} περιορισμός: τα subselects δεν μπορούν να περιέχουν
Διαβάστε περισσότεραΗΥ460 Συστήµατα Διαχείρισης Βάσεων Δεδοµένων Χειµερινό Εξάµηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης
ΗΥ460 Συστήµατα Διαχείρισης Βάσεων Δεδοµένων Χειµερινό Εξάµηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης 2 η Σειρά Ασκήσεων Ηµεροµηνία Παράδοσης: 14/11/2016 Άσκηση 1 (10 µονάδες) Εξωτερική Ταξινόµηση Θεωρείστε
Διαβάστε περισσότεραΑπεικόνιση Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Μοντέλο Δεδομένων
Απεικόνιση Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Μοντέλο Δεδομένων Παύλος Εφραιμίδης Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 1 Διαδικασία Απεικόνισης 1. Απεικόνιση κανονικών τύπων οντοτήτων
Διαβάστε περισσότεραΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πράξεις στο Σχεσιακό Μοντέλο
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2013 Πράξεις Διαχείρισης Δεδομένων Σχεσιακή Άλγεβρα Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Πράξεις στο Σχεσιακό
Διαβάστε περισσότεραΒάσεις δεδομένων. (7 ο μάθημα) Ηρακλής Βαρλάμης
Βάσεις δεδομένων (7 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα SQL Βασικές πράξεις Πράξεις συνόλων Συνενώσεις Συναθροιστικές συναρτήσεις Ομαδοποιήσεις 10/4/2014 Βάσεις Δεδομένων 2 Η γλώσσα
Διαβάστε περισσότεραΒάσεις Δεδομένων ΙΙ Ενότητα 5
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 5: Δομές Ευρετηρίων - ISAM Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά
Διαβάστε περισσότεραΒάσεις εδοµένων. Συνολοθεωρητικές Πράξεις. Ειδικές Πράξεις. Εκφράσεις. Θεµελίωση της Σχεσιακού Μοντέλου εδοµένων. Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός
Θεµελίωση της Σχεσιακού Μοντέλου εδοµένων Βάσεις εδοµένων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Παύλος Εφραιµίδης pefraimi at ee.duth.gr Στο µάθηµα θα πούµε για Σχεσιακή Άλγεβρα Βάσεις εδοµένων Σχεσιακή
Διαβάστε περισσότεραΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΜΑΘΗΜΑ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΚΑΔ. ΕΤΟΣ 2011-12 ΔΙΔΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής Τιμολέων Σελλής Καθηγητής Άσκηση 1
Διαβάστε περισσότεραΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 6: SQL (Συζεύξεις, Εμφώλευση, Ομαδοποίηση) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι
Ενότητα 6: SQL (Συζεύξεις, Εμφώλευση, Ομαδοποίηση) Ευαγγελίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που
Διαβάστε περισσότεραΔιάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI
Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Σχεσιακή Άλγεβρα Τελεστές Συνένωσης
Διαβάστε περισσότεραΒάσεις Δεδομένων Ενότητα 6
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 6: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός Ιωάννης Μανωλόπουλος, Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΑπεικόνιση Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Μοντέλο Δεδομένων
Απεικόνιση Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Μοντέλο Δεδομένων Παύλος Εφραιμίδης Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 1 Διαδικασία Απεικόνισης 1. Απεικόνιση κανονικών τύπων οντοτήτων
Διαβάστε περισσότεραΣχεσιακή Άλγεβρα. Βάσεις Δεδομένων : Σχεσιακή Άλγεβρα 1
Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Σχεσιακού Μοντέλου) Αντιστοιχία
Διαβάστε περισσότεραΤμήμα Πληροφορικής ΑΠΘ
Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ 2013-2014 2 Σκοπός του 2 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: Η μελέτη ερωτημάτων σε μία μόνο σχέση. Εξετάζουμε τους τελεστές επιλογής
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Query by Example QBE Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan και του C. Faloutsos CMU)
Διαβάστε περισσότεραPROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε.
Παραδοτέα 1. Το αρχείο.mdb της βάσης δεδομένων σας σε ACCESS 2. Ένα CD που θα αναγράφει το ονοματεπώνυμο του σπουδαστή και το ΑΕΜ και θα περιέχει το αρχείο.mdb της βάσης δεδομένων καθώς και το εγχειρίδιο
Διαβάστε περισσότεραΔιάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 14: Δέντρα IV B Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: 2 3 Δένδρα, Εισαγωγή και άλλες πράξεις Άλλα Δέντρα: Β δένδρα, Β+ δέντρα, R δέντρα Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ231
Διαβάστε περισσότερα5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 5. Απλή Ταξινόμηση 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 11/11/2016 Εισαγωγή Η
Διαβάστε περισσότεραΦροντιστήριο Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Φροντιστήριο 17-1-2011 Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία Θεωρία Άτρακτος/αυλάκι : ομόκεντροι κύκλοι στον δίσκο Κύλινδρος:
Διαβάστε περισσότεραΜεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 1 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Γιώργος Δημητρίου Μάθημα 1 ο Γλώσσα - Μετάφραση Γλώσσα προγραμματισμού = Αναπαράσταση αλγορίθμων Ευκολία χρήσης Ακρίβεια και πληρότητα περιγραφής, όχι διφορούμενη! Μία περιγραφή για όλες τις μηχανές Μετάφραση
Διαβάστε περισσότεραΕαρινό Εξάμηνο
Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών Εαρινό Εξάμηνο 2011-2012 Table of contents 1 Table of contents 1 2 Table of contents 1 2 3 Table of contents 1 2 3 4 Table of
Διαβάστε περισσότεραΕξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα
Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη Εσωτερική Μνήμη Κρυφή Μνήμη (Cache) μεγαλύτερη χωρητικότητα Καταχωρητές (Registers) Κεντρική Μονάδα (CPU) μεγαλύτερη ταχύτητα Πολλές σημαντικές εφαρμογές διαχειρίζονται
Διαβάστε περισσότεραΒάσεις Δεδομένων (Databases)
Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Δένδρο Επερώτησης (Query Tree) Δένδρο Επερώτησης (Query Tree) Είναι μια δενδρική δομή που αντιστοιχεί
Διαβάστε περισσότεραCertified Data Base Designer (CDBD)
Certified Data Base Designer (CDBD) Εξεταστέα Ύλη (Syllabus) Πνευµατικά ικαιώµατα Το παρόν είναι πνευµατική ιδιοκτησία της ACTA Α.Ε. και προστατεύεται από την Ελληνική και Ευρωπαϊκή νοµοθεσία που αφορά
Διαβάστε περισσότεραΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους
ΘΕΜΑΤΑ A Οι παρακάτω πίνακες αποτελούνται από τα εξής πεδία : ΕΡΓΑΖΟΜΕΝΟΣ : ΑΦΜ, ΕΠΙΘΕΤΟ, ΟΝΟΜΑ, ΤΗΛ, ΟΔΟΣ, ΠΟΛΗ,ΜΙΣΘΟΣ, ΚΤ ΤΜΗΜΑ : ΚΤ, ΑΦΜ, ΤΙΤΛΟΣ_ΤΜΗΜΑΤΟΣ, ΤΗΛ ΕΡΓΑ : ΚΕΡ, ΠΕΡΙΓΡΑΦΗ, ΤΟΠΟΘΕΣΙΑ, ΠΡΟΫΠΟΛΟΓΙΣΜΟΣ
Διαβάστε περισσότερα