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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 Ευρετήρια Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου που καλείται πεδίο ευρετηριοποίησης (indexing field) γνώρισμα Αρχείο Ευρετηρίου γνώρισμα υπόλοιπα γνωρίσματα Αρχείο εδομένων Εγγραφή στο ευρετήριο: Τιμή Πεδίου Ευρετηριοποίησης είκτης στο block της εγγραφής 1 2 Ευρετήρια Ευρετήρια Στόχος: αποδοτικές λειτουργίες αναζήτησης Οι λειτουργίες ενημέρωσης γίνονται πιο αργές ιαφορετικού τύπου εγγραφές ανάλογα με το πεδίο ευρετηριοποίησης: (α) πεδίο διάταξης του αρχείου ή όχι Πυκνό ευρετήριο: μια καταχώρηση για κάθε εγγραφή του αρχείου Μη πυκνό ευρετήριο (β) κλειδί ή όχι (πρωτεύον/δευτερεύον) διαφορετικοί ορισμοί στα βιβλία 3 4 Πρωτεύον Ευρετήριο Πρωτεύον Ευρετήριο Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου Για κάθε block του αρχείου (μη πυκνό ευρετήριο) η εγγραφή i του ευρετηρίου είναι της μορφής (<Κ(i), P(i)>) όπου: Κ(i): η τιμή του πρωτεύοντος κλειδιού της πρώτης εγγραφής του block (άγκυρα του block) P(i): δείκτης προς το block Αρχείο Ευρετηρίου Ποιο είναι το μέγεθος του ευρετηρίου (πόσα blocks); Αρχείο εδομένων Το ευρετήριο στο πεδίο διάταξης (+ κλειδί) είναι ένα μη πυκνό ευρετήριο 5 6 : Ευρετήρια 1

2 Πρωτεύον Ευρετήριο Πρωτεύον Ευρετήριο Αναζήτηση υαδική αναζήτηση στο πρωτεύον ευρετήριο Ανάγνωση του block από το αρχείο δεδομένων Εισαγωγή εγγραφής αλλαγές και στο πρωτεύον ευρετήριο μη διατεταγμένο αρχείο υπερχείλισης συνδεδεμένη λίστα εγγραφών υπερχείλισης ιαγραφή εγγραφής αλλαγές και στο πρωτεύον ευρετήριο χρήση σημαδιών διαγραφής 7 8 Πρωτεύον Ευρετήριο Παράδειγμα (υπολογισμός μεγέθους αρχείου ευρετηρίου) Έστω διατεταγμένο αρχείο με r A = εγγραφές, μέγεθος block B = 1024 bytes, σταθερού μεγέθους εγγραφές μεγέθους R A = 100 bytes, όπου το πεδίο κλειδιού διάταξης έχει μέγεθος V A = 9 bytes, μη εκτεινόμενη καταχώρηση. Κατασκευάζουμε πρωτεύον ευρετήριο, μέγεθος δείκτη block P = 6 bytes Μέγεθος αρχείου δεδομένων: blocks Μέγεθος αρχείου ευρετηρίου: 45 blocks Παράδειγμα (υπολογισμός κόστους αναζήτησης) εδομένα όπως πριν Πρωτεύον Ευρετήριο (Έστω διατεταγμένο αρχείο με r A = εγγραφές, μέγεθος block B = 1024 bytes, σταθερού μεγέθους εγγραφές μεγέθους R A = 100 bytes, όπου το πεδίο κλειδιού διάταξης έχει μέγεθος V A = 9 bytes, μη εκτεινόμενη καταχώρηση. Κατασκευάζουμε πρωτεύον ευρετήριο, μέγεθος δείκτη block P = 6 bytes) bfr A = 10 bfr E = 68 Μέγεθος αρχείου δεδομένων: blocks Μέγεθος αρχείου ευρετηρίου: 45 blocks Αναζήτηση χωρίς ευρετήριο: log = 12 blocks Αναζήτηση με ευρετήριο: log = 7 blocks block ευρετηρίου block αρχείου υαδική γιατί το αρχείο ταξινομημένο 9 10 Ευρετήρια Ευρετήριο Συστάδων Access paths (μονοπάτια προσπέλασης) Το ευρετήριο αρχείου είναι ένα διατεταγμένο αρχείο με σταθερού μήκους εγγραφές Το αρχείο ευρετηρίου καταλαμβάνει μικρότερο χώρο από το ίδιο το αρχείο δεδομένων (οι καταχωρήσεις είναι μικρότερες και λιγότερες) Κάνοντας δυαδική αναζήτηση στο ευρετήριο (γιατί το ευρετήριο είναι (πάντα) διατεταγμένο αρχείο) βρίσκουμε τον δείκτη στο block όπου αποθηκεύεται η εγγραφή που θέλουμε Ευρετήριο συστάδων (clustering index): ορισμένο στο πεδίο διάταξης [το οποίο όμως δεν είναι κλειδί] Υπάρχει μια εγγραφή για κάθε διακεκριμένη τιμή του πεδίου διάταξης (συστάδας) του αρχείου που περιέχει: την τιμή αυτή ένα δείκτη προς το πρώτο block του αρχείου δεδομένων που περιέχει μια εγγραφή με την τιμή αυτή στο πεδίο συστάδας Το ευρετήριο στο πεδίο διάταξης (+ όχι κλειδί) είναι ένα μη πυκνό ευρετήριο : Ευρετήρια 2

3 Ευρετήριο Συστάδων Ευρετήριο Συστάδων Παράδειγμα (υπολογισμός μεγέθους ευρετηρίου) Έστω διατεταγμένο αρχείο με r A = εγγραφές, μέγεθος block B = 1024 bytes, σταθερού μεγέθους εγγραφές μεγέθους R A = 100 bytes, μη εκτεινόμενη καταχώρηση, όπου το πεδίο διάταξης έχει μέγεθος V A = 9 bytes και υπάρχουν 1000 διαφορετικές τιμές και οι εγγραφές είναι ομοιόμορφα κατανεμημένες ως προς τις τιμές αυτές. Υποθέτουμε ότι χρησιμοποιούνται άγκυρες block, κάθε νέα τιμή του πεδίου διάταξης αρχίζει στην αρχή ενός νέου block. Κατασκευάζουμε ευρετήριο συστάδων, μέγεθος δείκτη block P = 6 bytes Αναζήτηση (όπως πριν) υαδική αναζήτηση στο ευρετήριο Ανάγνωση blocks (τώρα μπορεί να είναι παραπάνω από ένα) απότοαρχείοδεδομένων Μέγεθος αρχείου δεδομένων: blocks Μέγεθος ευρετηρίου συστάδων: 15 blocks bfr A = 10 bfr E = Ευρετήριο Συστάδων ευτερεύον Ευρετήριο Παράδειγμα (υπολογισμός κόστους αναζήτησης) (στοιχεία όπως πριν) Έστω διατεταγμένο αρχείο με r Α = εγγραφές, μέγεθος block B = 1024 bytes, σταθερού μεγέθους εγγραφές μεγέθους R Α = 100 bytes, μη εκτεινόμενη καταχώρηση, όπου το πεδίο διάταξης έχει μέγεθος V Α = 9 bytes και υπάρχουν 1000 διαφορετικές τιμές και οι εγγραφές είναι ομοιόμορφα κατανεμημένες ως προς τις τιμές αυτές. Υποθέτουμε ότι χρησιμοποιούνται άγκυρες block, κάθε νέα τιμή του πεδίου διάταξης αρχίζει στην αρχή ενός νέου block. Κατασκευάζουμε ευρετήριο συστάδων, μέγεθος δείκτη block P = 6 bytes ευτερεύον ευρετήριο (secondary index): ορισμένο σε πεδίο διαφορετικό του πεδίου διάταξης Μέγεθος αρχείου δεδομένων: blocks Μέγεθος αρχείου ευρετηρίου: 15 blocks Αναζήτηση χωρίς ευρετήριο: log ταιριάσματα (= 3) 15 blocks Αναζήτηση με ευρετήριο: log = 7 blocks ευτερεύον Ευρετήριο ευτερεύον Ευρετήριο Περίπτωση 1: Το πεδίο ευρετηριοποίησης είναι κλειδί (καλείται και δευτερεύον κλειδί) Υπάρχει μια εγγραφή για κάθε εγγραφή του αρχείου που περιέχει: την τιμή του κλειδιού για αυτήν την εγγραφή ένα δείκτη προς το block (ή την εγγραφή) του αρχείου δεδομένων που περιέχει την εγγραφή με την τιμή αυτή Το ευρετήριο σε πεδίο ΌΧΙ διάταξης (+ κλειδί) είναι ένα πυκνό ευρετήριο Παράδειγμα (υπολογισμός μεγέθους ευρετηρίου) Έστω αρχείο με r Α = εγγραφές, μέγεθος block B = 1024 bytes, σταθερού μεγέθους εγγραφές μεγέθους R Α = 100 bytes, μη εκτεινόμενη καταχώρηση, όπου το πεδίο κλειδιού έχει μέγεθος V Α = 9 bytes αλλά δεν είναι πεδίο διάταξης. Κατασκευάζουμε δευτερεύον ευρετήριο, μέγεθος δείκτη block P = 6 bytes Μέγεθος αρχείου δεδομένων: blocks Μέγεθος αρχείου ευρετηρίου: 442 blocks 45 για πρωτεύον : Ευρετήρια 3

4 ευτερεύον Ευρετήριο ευτερεύον Ευρετήριο Παράδειγμα (υπολογισμός κόστους αναζήτησης) Στοιχεία όπως πριν (Έστω αρχείο με r Α = εγγραφές, μέγεθος block B = 1024 bytes, σταθερού μεγέθους εγγραφές μεγέθους R Α = 100 bytes, μη εκτεινόμενη καταχώρηση, όπου το πεδίο κλειδιού έχει μέγεθος V Α = 9 bytes αλλά δεν είναι πεδίο διάταξης. Κατασκευάζουμε δευτερεύον ευρετήριο, μέγεθος δείκτη block P = 6 bytes) Μέγεθος αρχείου δεδομένων: blocks Μέγεθος αρχείου ευρετηρίου: 442 blocks Αναζήτηση χωρίς ευρετήριο (σειριακή αναζήτηση, γιατί το αρχείο δεδομένων δεν είναι ταξινομημένο): 3.000/2 = 1500 blocks Αναζήτηση με ευρετήριο: log = 10 blocks bfr A = 10 bfr E = 68 Για πρωτεύον ήταν 45 και 7 blocks αντίστοιχα Περίπτωση 2: Το πεδίο ευρετηριοποίησης δεν είναι κλειδί 1. Πυκνό ευρετήριο: μία καταχώρηση για κάθε εγγραφή 2. Μεταβλητού μήκους εγγραφές με ένα επαναλαμβανόμενο πεδίο για το δείκτη 3. Μία εγγραφή ευρετηρίου για κάθε τιμή του πεδίου ευρετηριοποίησης + ένα ενδιάμεσο επίπεδο για την διαχείριση των πολλαπλών δεικτών ευτερεύον Ευρετήριο ευτερεύον Ευρετήριο Συστάδων Αναζήτηση υαδική αναζήτηση στο δευτερεύον ευρετήριο Ανάγνωση του block (ή τωνblocks) απότοενδιάμεσοεπίπεδο Ανάγνωση των blocks (συνήθως τόσα όσες οι εγγραφές που ταιριάζουν) απότοαρχείοδεδομένων Εισαγωγή Απλή αν δεν αφορά εισαγωγή νέας τιμής στο ευρετήριο Παράδειγμα (υπολογισμός μεγέθους ευρετηρίου) Έστω μη διατεταγμένο αρχείο (αρχείο σωρού) με r A = εγγραφές, μέγεθος block B = 1024 bytes, σταθερού μεγέθους εγγραφές μεγέθους R A = 100 bytes, μη εκτεινόμενη καταχώρηση, όπου το πεδίο ευρετηριοποίησης (δηλαδή, το πεδίο στο οποίο θα κατασκευάσουμε το ευρετήριο) έχει μέγεθος V A = 9 bytes. Υπάρχουν 100 διαφορετικές τιμές και οι εγγραφές είναι ομοιόμορφα κατανεμημένες ως προς τις τιμές αυτές. Κατασκευάζουμε ευρετήριο συστάδων χρησιμοποιώντας την επιλογή (3), μέγεθος δείκτη block P = 6 bytes Ευρετήριο bfr Ε = 68 b E = 2 Ενδιάμεσο επίπεδο -- Ποια είναι η οργάνωση του; bfr ΕE = 170 b EE = 177 blocks κόστος αναζήτησης; Ευρετήρια Επιπρόσθετες δομές για την πιο αποδοτική εκτέλεση ερωτήσεων/αναζητήσεων προκαλούν όμως επιβάρυνση στις τροποποιήσεις Εύκολη η λογική διάταξη των εγγραφών με βάση το πεδίο ευρετηριοποίησης Ανακτήσεις με σύνθετες συνθήκες, μπορεί να γίνουν χρησιμοποιώντας τα blocks του ευρετηρίου Ευρετήριο Πολλών Επιπέδων Ιδέα: Τα ευρετήρια είναι αρχεία - χτίζουμε ευρετήρια πάνω στα αρχεία ευρετηρίου Το αρχείο είναι διατεταγμένο και το πεδίο διάταξης είναι και κλειδί (άρα πρωτεύον ευρετήριο!) Υπενθύμιση (παράγοντας ομαδοποίησης: αριθμός εγγραφών ανά block) Παράγοντας ομαδοποίησης (blocking factor), όταν Β R bfr = (B / R), όπου Β μέγεθος block σε byte και R μέγεθος εγγραφής σε bytes : Ευρετήρια 4

5 Αρχείο δεδομένων 4 Ευρετήριο 3ου επιπέδου Ευρετήριο 2ου επιπέδου Ευρετήριο Πολλών Επιπέδων Έστω ότι το αρχείο ευρετηρίου είναι το πρώτο ή βασικό επίπεδο Έστω ότι ο παράγοντας ομαδοποίησης είναι f 0 και ότι έχει r 1 blocks Το αρχείο είναι διατεταγμένο και το πεδίο διάταξης είναι και κλειδί ημιουργούμε ένα πρωτεύον ευρετήριο για το ευρετήριο πρώτου επιπέδου - δεύτερο επίπεδο Παράγοντας ομαδοποίησης: f 0 Αριθμός block (r 1 /f 0 ) ημιουργούμε ένα πρωτεύον ευρετήριο για το ευρετήριο δεύτερου επιπέδου - τρίτο επίπεδο Παράγοντας ομαδοποίησης: f 0 Αριθμός block (r 1 /(f 0 ) 2 ) Ευρετήριο 1ου επιπέδου (αρχικό ευρετήριο) Μέχρι πόσα επίπεδα: Ευρετήριο Πολλών Επιπέδων Μέχρι όλες οι εγγραφές του ευρετηρίου να χωρούν σε ένα block Έστω t κορυφαίο επίπεδο (top level) (r 1 /(f 0 ) t ) = 1 F O = 3 Επίπεδο Ρίζα (1 Block) 4 Ευρετήριο 3ου επιπέδου Αρχείο δεδομένων 36 Το f 0 ονομάζεται και παράγοντας διακλάδωσης του ευρετηρίου Ευρετήριο 2ου επιπέδου Ευρετήριο 1ου επιπέδου (αρχικό ευρετήριο) Ευρετήριο 3ου επιπέδου (επίπεδο ρίζας) Ευρετήριο Πολλών Επιπέδων 158 Ευρετήριο 2ου επιπέδου είκτης στο αρχείο δεδομένων (ή στην περίπτωση αρχείου ενδιάμεσου επιπέδου σε αυτό) Ευρετήριο 1ου επιπέδου (αρχικό ευρετήριο) Σημείωση: στο αρχικό ευρετήριο μπορεί να βάζουμε μία τιμή για κάθε εγγραφή του αρχείου δεδομένων (πυκνό ευρετήριο) ή μια εγγραφή για κάθε διακριτή τιμή κλπ ανάλογα με το τύπο του πεδίου ευρετηριοποίησης (κλειδί/πεδίο ταξινόμησης) Αναζήτηση p := διεύθυνση του block του κορυφαίου επιπέδου του ευρετηρίου t := αριθμός επιπέδων του ευρετηρίου for j = t to 1 step -1 do read block με διεύθυνση p του ευρετηρίου στο επίπεδο j αναζήτηση στο block p της εγγραφής i με τιμή Κ j (i) K < K j (i+1) read το block του αρχείου δεδομένων με διεύθυνση p Aναζήτηση στο block p της εγγραφής i με τιμή Κ j (i) K < K j (i+1) : Ευρετήρια 5

6 4 F O = 3 36 Ευρετήριο 3ου επιπέδου (επίπεδο ρίζας) Αρχείο δεδομένων 36 Ευρετήριο Πολλών Επιπέδων Εισαγωγή/διαγραφή τροποποιήσεις πολλαπλών ευρετηρίων Ευρετήριο 2ου επιπέδου υναμικό πολυεπίπεδο ευρετήριο: Β-δέντρα και Β+-δέντρα Ευρετήριο 1ου επιπέδου (αρχικό ευρετήριο) Ευρετήριο Πολλών Επιπέδων Ευρετήριο Πολλών Επιπέδων Παράδειγμα (υπολογισμός μεγέθους ευρετηρίου) Έστω αρχείο με r A = εγγραφές, μέγεθος block B = 1024 bytes, σταθερού μεγέθους εγγραφές μεγέθους R A = 100 bytes, μη εκτεινόμενη καταχώρηση, όπου το πεδίο κλειδιού έχει μέγεθος V A = 9 bytes αλλά δεν είναι πεδίο διάταξης. Κατασκευάζουμε δευτερεύον ευρετήριο, μέγεθος δείκτη block P= 6 bytes f 0 = (1024 / (9 + 6)) = 68 Μέγεθος αρχείου δεδομένων: blocks Μέγεθος αρχείου ευρετηρίου πρώτου επιπέδου: 442 blocks Μέγεθος αρχείου ευρετηρίου δεύτερου επιπέδου: (442 / 68) = 7 blocks Μέγεθος αρχείου ευρετηρίου τρίτου επιπέδου: (7 / 68) = 1 block Άρα t = 3 Παράδειγμα (υπολογισμός κόστους αναζήτησης) Έστω αρχείο με r A = εγγραφές, μέγεθος block B = 1024 bytes, σταθερού μεγέθους εγγραφές μεγέθους R A = 100 bytes, μη εκτεινόμενη καταχώρηση, όπου το πεδίο κλειδιού έχει μέγεθος V A = 9 bytes αλλά δεν είναι πεδίο διάταξης,. Κατασκευάζουμε δευτερεύον ευρετήριο, μέγεθος δείκτη block P = 6 bytes Άρα t = 3 Παράδειγμα t + 1 = 4 προσπελάσεις Για το δευτερεύον ήταν 10 και χωρίς ευρετήριο εντρικά Ευρετήρια Τα αρχεία ευρετηρίων είναι απλά αρχεία, άρα και σε αυτά μπορούν να οριστούν ευρετήρια έντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτεςωςεξής Καταλήγουμε λοιπόν σε μια ιεραρχία δομών ευρετηρίων (πρώτο επίπεδο, δεύτερο επίπεδο, κλπ.) Κάθε επίπεδο του ευρετηρίου είναι ένα διατεταγμένο αρχείο, συνεπώς, εισαγωγές/διαγραφές εγγραφών απαιτούν επιπλέον δουλειά Ένα πολύ-επίπεδο ευρετήριο αποτελεί ένα έντρο Αναζήτησης Όπου κάθε κόμβος (block) έχει f 0 δείκτες και f 0 τιμές κλειδιού P 1 K 1 P j K j P q-1 K q-1 P p X < K 1 Kj-1 < X < K j K p-1 < X Κ 1 < Κ 2 < Κ q -1 και για όλες τις τιμές X στα υποδέντρα ισχύει Κ j-1 < X < K j για 1 < j < p, X < K j για j =1, και Κ j -1 < Χ γιαj = p δείκτης σε block του αρχείου δεδομένων Συμβολισμός K i * : Ευρετήρια 6

7 Κάθε κόμβος του δέντρου είναι έντρα Αναζήτησης ένα block στο δίσκο Ένα Β-δέντρο τάξεως (order) p ορίζεται ως εξής: Β-δέντρα 1. Κάθε εσωτερικός κόμβος είναι της μορφής <P 1, <K 1, Pr 1 >, P 2, <K 2, Pr 2 >, <K q-1, Pr q-1 >, P q >, q < p, όπου P i δείκτης δέντρου, K i τιμή αναζήτησης, Pr i δείκτης δεδομένων Ισοζυγισμένο: όλοι οι κόμβοι-φύλλα στο ίδιο επίπεδο P 1 K 1 Pr 1... K j-1 Pr j-1 P j P q-1 K q-1 Pr q-1 P q Συμβολισμός K i * Β-δέντρο: ένα δέντρο αναζήτησης που παραμένει ισοζυγισμένο και χωρίς «πολύ αδειανούς» κόμβους X < K 1 Kj-1 < X < K j K q-1 < X 2. Σε κάθε κόμβο Κ 1 < Κ 2 < Κ q Για όλες τις τιμές X στο υποδέντρο που δείχνει το P j ισχύει Κ j-1 < X < K j για 1 < j < q, X < K j για j =1, και Κ j -1 < Χ γιαj = q Β-δέντρα Β-δέντρα (παράδειγμα) τάξη ρ = 3 (2 τιμές ανά κόμβο, 3 δείκτες block ευρετηρίου) 4. Κάθε κόμβος έχει το πολύ p δείκτες δέντρου 5. Κάθε κόμβος εκτός της ρίζας και των φύλλων έχει τουλάχιστον (p/2) δείκτες. Η ρίζα έχει τουλάχιστον 2 εκτός αν είναι ο μόνος κόμβος του δέντρου. είκτης σε block ευρετηρίου (null για κόμβους φύλλα) 5* 8* 6. Ένας κόμβος με q δείκτες δέντρου περιέχει q - 1 τιμές πεδίου αναζήτησης (και άρα και q - 1 δείκτες δεδομένων). 5* 5 7. Όλα τα φύλλα βρίσκονται στο ίδιο επίπεδο. Τα φύλλα έχουν την ίδια δομή εκτός του ότι οι δείκτες δέντρου είναι null. είκτης στο block αρχείου δεδομένων που περιέχει το Αναζήτηση Β-δέντρα ιαβάζουμε το block της ρίζας Αν η εγγραφή δεν υπάρχει στο κόμβο διαβάζουμε το αντίστοιχο block στο επόμενο πεδίο Εισαγωγή τιμής Β-δέντρα Αρχικά ένας μόνο κόμβος (ρίζα) στο Επίπεδο 0 Όταν ο κόμβος ρίζα γεμίσει (p 1 τιμές κλειδιού), νέα εισαγωγή οδηγεί στην διάσπαση του κόμβου σε δύο κόμβους στο Επίπεδο 1: η μεσαία τιμή μένει στη ρίζα, οι υπόλοιπες μοιράζονται εξίσου σε δύο κόμβους του Επιπέδου 1 Όταν ένας κόμβος εκτός της ρίζας γεμίσει, νέα εισαγωγή οδηγεί σε διάσπαση του κόμβου σε δύο κόμβους στο ίδιο επίπεδο και μεταφορά της μεσαίας τιμής στον γονέα του κόμβου ΠΡΟΣΟΧΗ: η εισαγωγή της μεσαίας τιμής στο γονέα αν ο γονέας είναι γεμάτος μπορεί να οδηγήσει σε διάσπαση του γονέα. Η διάσπαση μπορεί να οδηγήσει ως τη ρίζα, οπότε δημιουργείται και νέο επίπεδο : Ευρετήρια 7

8 Β-δέντρα (παράδειγμα) Β-δέντρα τάξη ρ = 3 (2 τιμές ανά κόμβο, 3 δείκτες block ευρετηρίου) - Εισαγωγή 5, 8, 7, 14, 19, 6, 10 είκτης σε block ευρετηρίου (null για κόμβους φύλλα) 5* 8* ιαγραφή τιμής Τιμή προς διαγραφή ανήκει σε φύλλο -> ok 5* 5 είκτης στο block αρχείου δεδομένων που περιέχει το 5 Τιμή προς διαγραφή ανήκει σε εσωτερικό κόμβο -> Αν σβήσουμε το K i, τότε το μικρότερο κλειδί του υποδέντρου P i+1 πρέπει να το αντικαταστήσει (δηλαδή το μικρότερο κλειδί του κόμβου στα δεξιά του κλειδιού που διαγράφεται) Β-δέντρα Β-δέντρα ιαγραφή τιμής Αν υποχείλιση αν είναι δυνατόν ανακατανομή με τον αριστερό αδελφό αν όχι, προσπάθεια ανακατανομής με το δεξιό αδελφό αν όχι ανακατανομή, συγχώνευση καιτωντριώνκόμβωνσεδύο κόμβους σε περίπτωση συγχώνευσης: διαγράφουμε και την αντίστοιχη εγγραφή στον γονέα (πιθανή υποχείλιση και στο γονέα) Σε κάθε περίπτωση (ανακατανομή και συγχώνευση) κατεβάζουμε και την τιμή του γονέα και στο γονέα ανεβαίνει η νέα μεσαία τιμή Κάθε κόμβος του B-δέντρου καταλαμβάνει μια σελίδα (block) Υπολογισμός Τάξης p(ώστε κάθε κόμβος να χωρά σε ένα block) Έστω Β μέγεθος block, V μέγεθος πεδίου αναζήτησης (δηλαδή του πεδίου ευρετηριοποίησης), Pr μέγεθος δείκτη δεδομένων (εγγραφής) και P μέγεθος δείκτη δέντρου (block) p * P + (p - 1) * (Pr + V) B p * (P + Pr + V) B + V + Pr p (B + V + Pr) / (P + Pr+ V) Παράδειγμα, V = 9 bytes, B = 512 bytes, Pr = 7 bytes, P = 6 bytes, τότε p = Β-δέντρα Υπολογισμός επιπέδων Έστω όπως πριν, p = 23. Έστω ότι κάθε κόμβος είναι γεμάτος κατά 69%. Πόσα επίπεδα χρειαζόμαστε για να ευρετηριοποιήσουμε τιμές; (p - 1)*0,69 = 22*0,69 = 15 κλειδιά και = 16 δείκτες ανά κόμβο #κόμβων #τιμές #δείκτες Ρίζα 1 κόμβος 15 (22*0,69) καταχωρήσεις 16 δείκτες Επίπεδο 1: 16 κόμβοι 240 (16*15) καταχωρήσεις 256 δείκτες Επίπεδο 2: 256 κόμβοι (256*15) καταχωρήσεις δείκτες Επίπεδο 3: κόμβοι Ποιες εγγραφές βάζουμε στο Β-δέντρο Β-δέντρα (πεδίο διάταξης κλειδί, πεδίο διάταξης όχι κλειδί, όχι πεδίο διάταξης κλειδί, όχι πεδίο διάταξης όχι κλειδί) Αναζήτηση διαστήματος τιμών Σύνολο: (65.535) : Ευρετήρια 8

9 Παράδειγμα (υπολογισμός μεγέθους ευρετηρίου) Β-δέντρο Έστω διατεταγμένο αρχείο με r A = εγγραφές, μέγεθος block B = 1024 bytes, σταθερού μεγέθους εγγραφές μεγέθους R A = 100 bytes, μη εκτεινόμενη καταχώρηση. Κατασκευάζουμε ευρετήριο Β-δέντρο πάνω στο πεδίο διάταξης που είναι και κλειδί. Το πεδίο διάταξης έχει μέγεθος V A = 9 bytes. Μέγεθος δείκτη block (και για το αρχείο δεδομένων και για τους κόμβους του ευρετηρίου είναι) P = 6 bytes Ποιο είναι ο (ελάχιστος) αριθμός επιπέδων για ένα Β-δέντρο Τι μπορείτε να πείτε για το μέγεθος του (σε αριθμό block); Β+-δέντρα ιαφορά Β + από Β-δέντρο: Αποθηκεύουμε δείκτες δεδομένων (στο αρχείο δεδομένων) μόνο στα φύλλα ύο τύποι κόμβων: εσωτερικοί κόμβοι φύλλα Όλες οι τιμές του πεδίου αναζήτησης εμφανίζονται στα φύλλα. Κάποιες τιμές μπορεί να εμφανίζονται παραπάνω από μια φορά 50 Β+-δέντρα Β+-δέντρα Ένα Β + -δέντρο τάξεως (order) p ορίζεται ως εξής: 1. Κάθε εσωτερικός κόμβος είναι της μορφής <P 1, K 1, P 2, K 2,, K q-1, P q-1, P q > q p, όπου P i δείκτης δέντρου, K i τιμή αναζήτησης P 1 K 1... K j-1 P j K j P q-1 K q-1 P q (*) X < K K 1 K j-1 X < K q-1 X j 4. Κάθε εσωτερικός κόμβος έχει το πολύ p δείκτες δέντρου 5. Κάθε εσωτερικός κόμβος εκτός της ρίζας έχει τουλάχιστον (p/2). Η ρίζα έχει τουλάχιστον 2 εκτός αν είναι ο μόνος κόμβος του δέντρου. 6. Ένας κόμβος με q δείκτες δέντρου περιέχει q - 1 τιμές πεδίου αναζήτησης 2. Σε κάθε εσωτερικό κόμβο Κ 1 < Κ 2 < Κ q Για όλες τις τιμές X στο υποδέντρο που δείχνει το P j ισχύει Κ X < K j για 1 < j < q, X < K j για j =1, και Κ j -1 Χγιαj = q (*) σύμβαση, θα μπορούσε και K j-1 <X K j Β+-δέντρα 1. Κάθε κόμβος-φύλλο είναι της μορφής <<K 1, Pr 1 >, <K 2, Pr 2 >, <K q, Pr q >, P next >, q p leaf, όπου p leaf είναι η τάξη των κόμβων-φύλλων K i τιμή αναζήτησης, Pr i δείκτης δεδομένων που δείχνει στο block (ή στηνεγγραφή) με τιμή στο πεδίο αναζήτησης K i (ήσεέναblock ενδιάμεσου επιπέδου αν το πεδίο αναζήτησης δεν είναι κλειδί), P next δείχνει στο επόμενο φύλλο και χρησιμοποιείται για τη γρήγορη ανάγνωση του αρχείου σε διάταξη Β+-δέντρα 3. Κάθε κόμβος-φύλλο έχει το πολύ p leaf τιμές 4. Κάθε κόμβος-φύλλο έχει τουλάχιστον (p leaf /2) τιμές. 5. Όλοι οι κόμβοι-φύλλα βρίσκονται στο ίδιο επίπεδο. K 1 Pr 1... K j Pr j K q Pr q P next 2. Σε κάθε κόμβο-φύλλο Κ 1 < Κ 2 < Κ q : Ευρετήρια 9

10 Η αναζήτηση ξεκινά από τη pίζα, καιοισυγκρίσειςτωνκλειδιώνμας οδηγούν στα φύλλα Αναζήτηση για τα 5*, 15*, όλες οι καταχωρήσεις >= 24*... Β+-δέντρα Β+-δέντρα: Αναζήτηση Nodepointer tree_search(nodepointer P, keyvalue K) if P is a leaf return(p); else ΡΙΖΑ if K < K 1 tree_search(p 1, K) else 2* 3* 5* 7* 14* 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39* end find i such that K i K < K i+1 return tree_search(p i, K) Β+-δέντρα: Αναζήτηση Β+-δέντρα: Εισαγωγή Αναζήτηση (αναδρομική εκδοχή) nodepointer find(keyvalue K): return tree_search(root, K); end; Εισαγωγή 1. Αναζήτηση του φύλλου για εισαγωγή: έστω φύλλο P 2. Εισαγωγή τιμής Κ στο κόμβο P Αν ο κόμβος-φύλλο δεν είναι γεμάτος εισαγωγή της τιμής Β+-δέντρα: Εισαγωγή Β+-δέντρα: Εισαγωγή Αν ο κόμβος-φύλλο είναι γεμάτος (έχει p leaf εγγραφές) διάσπαση του κόμβου: -- οι πρώτες k = (p leaf + 1)/2 παραμένουν στον κόμβο -- οι υπόλοιπες σε καινούργιο κόμβο -- εισαγωγή (αντιγραφή) της k+1-οστής τιμής (K k+1 ) στο γονέα Αν ένας εσωτερικός κόμβος είναι γεμάτος (έχει p εγγραφές) διάσπαση του κόμβου: έστω k = ((p+1)/2) -- οι εγγραφές μέχρι το P k (μετά την εισαγωγή) παραμένουν στον κόμβο -- η k+1-οστή K k+1 τιμή μεταφέρεται (δεν αντιγράφεται) στον πατέρα -- οι υπόλοιπες σε καινούργιο κόμβο : Ευρετήρια 10

11 Β+-δέντρα: Εισαγωγή Β+-δέντρα (παράδειγμα) Οι διασπάσεις κόμβων (εκτός ρίζας) μεγαλώνουν το δέντρο 5, 8, 7, 14, 19, 6, 10 και τάξη ρ = 3 (2 τιμές ανά κόμβο, 3 δείκτες block ευρετηρίου) και p leaf = 2 Η διάσπαση της ρίζας υψώνει το δέντρο Β+-δέντρα: Εισαγωγή Β+-δέντρα: Εισαγωγή Εισαγωγή της καταχώρησης 8* 5 Καταχώρηση στον κόμβο γονέα (αντιγραφή) Το 5 ανεβαίνει επάνω, αλλά παραμένει και στο φύλλο ΡΙΖΑ 2* 3* 5* 7* 8* Καταχώρηση στον κόμβο γονέα (μεταφορά) Το 17 ανεβαίνει επάνω και παρουσιάζεται μόνο μία φορά στο ευρετήριο (σε αντίθεση με τα φύλλα) 2* 3* 5* 7* 14* 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39* Β+-δέντρα: Εισαγωγή Β+-δέντρα 2* 3* * 7* 8* ρίζα * 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39* Όλες οι τιμές εμφανίζονται στα φύλλα και κάποιες επαναλαμβάνονται και σε εσωτερικούς κόμβους (η τιμήκ σε ένα εσωτερικό κόμβο μπορεί επίσης να εμφανίζεται ως η πιο αριστερή τιμή στο φύλλο του υποδέντρου με ρίζα το δείκτη στα δεξιά του Κ) Η ρίζα διασπάστηκε οδηγώντας σε αύξηση του ύψους : Ευρετήρια 11

12 Β+-δέντρα: ιαγραφή ιαγραφή 1. Αναζήτηση του φύλλου που περιέχει το Κ: έστω φύλλο P 2. Αν υποχείλιση αν είναι δυνατόν ανακατανομή με τον αριστερό αδελφό (> (n/2) ) αν όχι, προσπάθεια ανακατανομής με το δεξιό αδελφό αν όχι, συγχώνευση και των τριών κόμβων σε δύο κόμβους 2. Αν υποχείλιση (αναλυτικά) <ανακατανομή εγγραφών> Β+-δέντρα: ιαγραφή Αν είναι δυνατόν ανακατανομή με τον αριστερό αδελφό (> (n/2) ) αν όχι, προσπάθεια ανακατανομής με το δεξιό αδελφό ανακατανομή εγγραφών σε κάθε κόμβο βρείτε την εγγραφή στο γονέα του δεξιού κόμβου Ν αντικατάσταση της τιμής κλειδιού στο γονέα τους με τη μικρότερη τιμή του κόμβου Ν <συγχώνευση κόμβων> Αν δεν είναι δυνατή η ανακατανομή συγχώνευση κόμβων οδηγεί σε διαγραφή στο παραπάνω επίπεδο, σβήνεται η εγγραφή που δείχνει στον κόμβο (πιθανότητα νέας υποχείλισης) Β+-δέντρα: ιαγραφή Β+-δέντρα: Παράδειγμα Εσωτερικοί κόμβοι Ειδική περίπτωση στη συγχώνευση εσωτερικών κόμβων, όταν συγχωνεύεται ο ακραίος αριστερός δείκτης ενός εσωτερικού κόμβου (ο οποίος δεν έχει τιμή) Τότε, πρέπει να συμβουλευτούμε τον γονέα των δύο κόμβων που συγχωνεύονται -> χρήση της τιμής του δείκτη που δείχνει σε αυτόν τον κόμβο «Κατεβάζουμε» τηντιμήαπότονγονέαωςπιοαριστερήτιμήστονπρος συγχώνευση κόμβο 5 13 ρίζα Ειδικά για την ανακατανομή εσωτερικών κόμβων 2* 3* 5* 7* 8* 14* 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39* Πάλι μέσω του γονέα τους ηλαδή θεωρούμε και την τιμή του γονέα στην ανακατανομή ιαγραφή 19, 20 Η τιμή αυτή αλλάζει στο γονέα Β+-δέντρα: ιαγραφή Β+-δέντρα: ιαγραφή ρίζα Τέλος, η διαγραφήτου24* (συγχώνευση) ρίζα 22* 27* 29* 33* 34* 38* 39* 2* 3* 5* 7* 8* 14* 16* 22* 24* 27* 29* 33* 34* 38* 39* Το παράδειγμα μετά τη διαγραφή του 19* και του 20* (ανακατανομή με δεξί αδελφό και αντικατάσταση του 24 με 27) Διαγραφή του 24 -> 2* 3* 5* 7* 8* 14* 16* 22* 27* 29* 33* 34* 38* 39* : Ευρετήρια 12

13 Β+-δέντρα: ιαγραφή Β+-δέντρα: ιαγραφή Παράδειγμα ανακατανομής Έστω στο παρακάτω δέντρο μετά από συγχώνευση φύλλων ρίζα 17 ρίζα ανακατανομή * 3* 5* 7* 8* 14* 16* 17* 18* 20* 21* 22* 27* 29* 33* 34* 38* 39* 2* 3* 5* 7* 8* 14* 16* 17* 18* 20* 21* 22* 27* 29* 33* 34* 38* 39* Β+-δέντρα γενικά Εισαγωγή/ ιαγραφή με κόστος log F N --- κρατούν το δέντρο σε ισορροπημένη μορφή. (F = διακλάδωση, N = αριθμός των φύλλων) Ελάχιστη πληρότητα 50% (εκτός της ρίζας). Εξαιρετική δομή ΚΑΙ για ερωτήσεις ισότητας ΚΑΙ για ερωτήσεις διαστήματος (range queries). Το αρχείο δεδομένων μπορεί να είναι ή όχι ταξινομημένο Καταχωρήσεις Ευρετηρίου (Άμεση Αναζήτηση) Κάθε κόμβος του B+-δέντρου καταλαμβάνει μια σελίδα (block) Β+-δέντρα Τάξη p ώστε κάθε εσωτερικός-κόμβος να χωρά σε ένα block Έστω Β μέγεθος block, V μέγεθος πεδίου αναζήτησης, Pr μέγεθος δείκτη δεδομένων (εγγραφής) και P μέγεθος δείκτη δέντρου (block) p * P + (p - 1) * V B p * (P + V) B + V p (B + V) / (P + V) Παράδειγμα, V = 9 bytes, B = 512, Pr = 7 bytes, P = 6 bytes, τότε p = 34 Καταχωρήσεις Δεδομένων («Σύνολο ακολουθίας») Για Β-δέντρο, p = Β+-δέντρα Β+-δέντρα Υπολογισμός επιπέδων Τάξη p leaf ώστε κάθε φύλλο να χωρά σε ένα block Έστω Β μέγεθος block, V μέγεθος πεδίου αναζήτησης, Pr μέγεθος δείκτη δεδομένων (εγγραφής) και P μέγεθος δείκτη δέντρου (block) p leaf * (Pr + V) + P B p leaf * (Pr + V) B - P p leaf (B - P) / (Pr + V) Παράδειγμα, V = 9 bytes, B = 512, Pr = 7 bytes, P = 6 bytes, τότε p leaf = 31 Παράδειγμα, V = 9 bytes, B = 512, Pr = 7 bytes, P = 6 bytes, τότε p = 34. Έστω ότι κάθε κόμβος είναι γεμάτος κατά 69%. Πόσες καταχωρήσεις (τιμές) χωρά αν έχει 3 επίπεδα Ρίζα 1 κόμβος 22 (33*0,69) καταχωρήσεις 23 δείκτες Επίπεδο 1: 23 κόμβοι 506 (23*22) καταχωρήσεις 529 δείκτες Επίπεδο 2: 529κόμβοι (529*22) καταχωρήσεις δείκτες Επίπεδο φύλλων: κόμβοι ( * 31 * 0.69) δείκτες δεδομένων Σε 3 επίπεδα εγγραφές έναντι για το Β-δέντρο Σημείωση: εγγραφές μόνο στα φύλλα : Ευρετήρια 13

14 Παρατηρήσεις Β+-δέντρα Τυπική Τάξη: 100. Τυπικός Παράγοντας Πληρότητας: 67%. Μέση τιμή διακλάδωσης (fan out) = 133 Τυπικές υνατότητες: Ύψος 4: = 312,900,700 εγγραφές Ύψος 3: = 2,352,637 εγγραφές Μπορεί να κρατά τα υψηλότερα επίπεδα στη μνήμη (buffer): Επίπεδο 1 = 1 block = 8 Kbytes Επίπεδο 2 = 133 blocks = 1 Mbyte Επίπεδο 3 = 17,689 blocks = 133 MBytes Είδη Ευρετηρίων Ευρετήρια (ανακεφαλαίωση) Ευρετήριο ενός επιπέδου ένα διατεταγμένο αρχείο με εγγραφές (<Κ(i), P(i)> Ευρετήριο πολλών επιπέδων Ευρετήρια δομής δέντρου (B-δέντρα, Β+-δέντρα) Ευρετήρια κατακερματισμού h(τιμή) -> στο κάδο οι εγγραφές είναι εγγραφλες ευρετηρίου, δηλαδή ζεύγη (τιμή, δείκτης-στο-block(s)-του-αρχείου-δεδομένων που-είναι-η εγγραφή-με-αυτήν-την-τιμή) Ευρετήρια (επανάληψη) Ευρετήρια (επανάληψη) Ορισμοί Πρωτεύον: όταν το πεδίο ευρετηριοποίησης είναι πρωτεύον κλειδί και πεδίο διάταξης του αρχείου ευτερεύον: αλλιώς Συστάδων (clustered index) αν η διάταξη των εγγραφών στο ευρετήριο όμοια ή παρόμοια αυτής των εγγραφών στο αρχείο δεδομένων (συμβαίνει, πχ όταν το ευρετήριο κτίζεται στο πεδίο ταξινόμησης του αρχείου δεδομένων) Το πολύ ένα ευρετήριο συστάδων δηλαδή ένα ευρετήριο στο πεδίο διάταξης του αρχείου Range scan (αναζήτηση περιοχής) Συστάδων: #σελίδων στο αρχείο που ταιριάζουν Μη συστάδων: αριθμός εγγραφών στο ευρετήριο που ταιριάζουν για κάθε τέτοια εγγραφή -> μια σελίδα αρχείου Ευρετήρια (επανάληψη) Φυσικός Σχεδιασμός Οι εγγραφές στο ευρετήριο Κ* 1. Η πραγματική εγγραφή (πλειάδα) με τιμή Κ στο κλειδί οργάνωση αρχείου 2. <K, rid> 3. <K, list of rids> 83. Ανεξάρτητα του Σ Β Μικρόκοσμος Συλλογή Απαιτήσεων και Ανάλυση Απαιτήσεις ΒΔ Εννοιολογικός Σχεδιασμός Βάσης Εννοιολογικό Μοντέλο ιάγραμμα Ο/Σ (Σχήμα) Εξαρτώμενο του επιλεγμένου Σ Β (π.χ., με Σχεσιακό Μοντέλο) Λογικός Σχεδιασμός Βάσης Βάση Δεδομένων Λογικό Μοντέλο -- Σχήματα/Όψεις Φυσικός Σχεδιασμός Βάσης Φυσικό Μοντέλο Εσωτερικό Σχήμα Πλήρωση Βάσης 84 : Ευρετήρια 14

15 Φυσικός Σχεδιασμός Ευρετήρια Μετά τον σχεδιασμό Ο/Σ και το λογικό σχεδιασμό (σχεσιακό μοντέλο), έχουμε τα εννοιολογικά και λογικά (με τις όψεις) σχήματα γιατηβάση εδομένων. Το επόμενο βήμα είναι ο Φυσικός Σχεδιασμός, δηλαδή η επιλογή των δομών αποθήκευσης των σχέσεων, η επιλογή των ευρετηρίων, οι αποφάσεις για συστάδες - γενικά ότι είναι απαραίτητο για να επιτευχθούν οι προσδοκώμενες επιδόσεις χρήσης της Β. Η υλοποίηση μιας (φυσικής) Σχεσιακής Βάσης εδομένων περιλαμβάνει τη δημιουργία ΚΑΤΑΛΟΓΩΝ ΣΥΣΤΗΜΑΤΟΣ (directory system tables) H SQL-92 δεν περιλαμβάνει εντολές για τη δημιουργία ευρετηρίων. Τα περισσότερα εμπορικά Σ Β το υποστηρίζουν create [unique] index <index_name> on <table_name> (<attr_list>); Η <attr_list> μπορεί να περιέχει παραπάνω από ένα γνωρίσματα. Προαιρετικό UNIQUE σημαίνει ότι το <attr_list> είναι κλειδί του <table_name> Ευρετήρια Φυσικός Σχεδιασμός drop index <index_name> H Oracle δημιουργεί αυτόματα ευρετήρια για κάθε PRIMARY KEY ορισμό. select <index_name> from user_indexes UNIQUE ή Για να κάνουμε όσο το δυνατόν καλύτερο τον Φυσικό Σχεδιασμό πρέπει να : Κατανοήσουμε το Φόρτο Εργασίας (workload) Ποιες είναι οι σημαντικές ερωτήσεις και πόσο συχνά εμφανίζονται. Ποιες είναι οι πιο σημαντικές τροποποιήσεις και πόσο συχνά εμφανίζονται. Ποια είναι η επιθυμητή επίδοση για την εκτέλεση αυτών των ερωτήσεων και τροποποιήσεων Φυσικός Σχεδιασμός Φυσικός Σχεδιασμός Πριν δημιουργήσουμε ένα ευρετήριο, πρέπει να συνυπολογίσουμε και την επίδρασή του σε ενημερώσεις του φορτίου εργασίας! Ένα ευρετήριο κάνει τις ερωτήσεις ΠΙΟ ΓΡΗΓΟΡΕΣ και τις ενημερώσεις ΠΙΟ ΑΡΓΕΣ Επιπλέον, απαιτεί και χώρο στον δίσκο Για κάθε ερώτηση (query) το φόρτο εργασίας: Σε ποιες σχέσεις έχει πρόσβαση? Ποια γνωρίσματα ανακαλεί? Ποια γνωρίσματα υπεισέρχονται στις συνθήκες για selection/join? Πόσο επιλεκτικές είναι αυτές οι συνθήκες? Για κάθε ενημέρωση (insert/delete/update ): Ποια γνωρίσματα υπεισέρχονται στις συνθήκες για selection/join? Πόσο επιλεκτικές είναι αυτές οι συνθήκες? Ο τύπος της ενημέρωσης (INSERT/DELETE/UPDATE), και τα γνωρίσματα που θα επηρεασθούν : Ευρετήρια 15

16 Φυσικός Σχεδιασμός Αποφάσεις που Απαιτούνται Τι ευρετήρια πρέπει να δημιουργηθούν; Ποιες σχέσεις πρέπει να έχουν ευρετήρια; Ποια γνωρίσματα χρησιμοποιούνται για αναζήτηση; Πρέπει να ορίσουμε πολλαπλά ευρετήρια; Για κάθε ευρετήριο, τι είδους ευρετήριο πρέπει να είναι; Συστάδες; έντρο/κατακερματισμός; υναμικό/στατικό; Πυκνό/Μηπυκνό; Χρειάζονται αλλαγές και στο εννοιολογικό/λογικό Σχήμα; ιαφορετικό κανονικοποιημένο σχήμα; Denormalization (μήπως χρειάζεται από-κανονικοποίηση;) Όψεις, Επανάληψη εδομένων (replication) Επεξεργασία Ερωτήσεων Εισαγωγή Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Σ Β Μηχανή Εκτέλεσης Ερωτήσεων Αρχεία ευρετηρίου Κατάλογος συστήματος Αρχεία δεδομένων ΒΑΣΗ Ε ΟΜΕΝΩΝ Σύστημα Βάσεων εδομένων (ΣΒ ) Επεξεργασία οσοληψιών Χειριστής Κλειδιών Μέθοδοι Προσπέλασης Αρχείων ιαχειριστής Ενδιάμεσης Μνήμης (buffer) ιαχειριστής ίσκου ΒΑΣΗ Ανάκαμψη από Σφάλματα Ε ΟΜΕΝΩΝ Επεξεργασία Ερωτήσεων Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση Ερώτηση SQL Ερώτηση Συντακτική Ανάλυση & Μετάφραση Έκφραση της Σχεσιακής Άλγεβρας Βελτιστοποίηση ΣΒ Μηχανή Υπολογισμού Σχέδιο Εκτέλεσης Στατιστικά Στοιχεία Αποτέλεσμα Δεδομένα Αποτέλεσμα : Ευρετήρια 16

17 Επεξεργασία Ερωτήσεων Συντακτική Ανάλυση & Μετάφραση 1. Συντακτική Ανάλυση (Parsing) & Μετάφραση Τα βασικά βήματα στην επεξεργασία μιας ερώτησης είναι 1. Συντακτική Ανάλυση & Μετάφραση 2. Βελτιστοποίηση Η SQL ερώτηση μεταφράζεται σε μια εσωτερική μορφή αφού γίνει ο απαραίτητος συντακτικός και σημασιολογικός έλεγχος (π.χ., τα ονόματα που αναφέρονται είναι ονόματα σχέσεων που υπάρχουν) Αντικατάσταση των όψεων από τον ορισμό τους Σε ποια εσωτερική μορφή; Έκφραση της σχεσιακής άλγεβρας 3. Υπολογισμός select A 1, A 2,, A n from R 1, R 2,, R m π A1, A2,, An (σ P (R 1 x R 2 x x R m )) where P Βελτιστοποίηση Βελτιστοποίηση Μια SQL ερώτηση μπορεί να μεταφραστεί σε διαφορετικές (ισοδύναμες) εκφράσεις της σχεσιακής άλγεβρας select balance from account where balance < π balance (σ balance < 2500 (account)) σ balance < 2500 (π balance (account)) Με ποιο κριτήριο γίνεται η επιλογή της έκφρασης; Βελτιστοποίηση Κάθε πράξη της σχεσιακής άλγεβρας μπορεί να υλοποιηθεί με διαφορετικούς αλγορίθμους: π.χ., για την υλοποίηση της επιλογής μπορεί είτε να σαρώσουμε (scan) όλο το αρχείο ελέγχοντας κάθε εγγραφή αν ικανοποιεί τη συνθήκη είτε αν υπάρχει π.χ., ένα Β + ευρετήριο στο γνώρισμα balance να χρησιμοποιήσουμε το ευρετήριο Άρα δεν αρκεί ο προσδιορισμός της πράξης - πρέπει να προσδιορίζεται και ο αλγόριθμος που θα χρησιμοποιηθεί για την υλοποίησή της Βελτιστοποίηση Βελτιστοποίηση βασικές (primitive) πράξεις: πράξη + αλγόριθμος Σχέδιο εκτέλεσης (execution plan): μια ακολουθία από βασικές πράξεις π balance Τα διαφορετικά σχέδια εκτέλεσης έχουν και διαφορικό κόστος Βελτιστοποίηση: η διαδικασία επιλογής του σχεδίου εκτέλεσης που έχει το μικρότερο κόστος σ balance < 2500, χρησιμοποίησε το ευρετήριο 1 account Εκτίμηση του κόστους στοιχείων) (συνήθως χρήση στατιστικών : Ευρετήρια 17

18 Εκτέλεση Εκτέλεση 3. Εκτέλεση Μηχανή εκτέλεσης που εκτελεί τις βασικές πράξεις Υπάρχουν υλοποιημένοι μια σειρά από αλγόριθμοι για κάθε βασική πράξη (π.χ., που χρησιμοποιούν ή όχι ευρετήρια κλπ) Γενικά, το Σ Β με βάση κάποια στατιστικά στοιχεία κάνει μια εκτίμηση του κόστους και επιλέγει τον αλγόριθμο για κάθε πράξη με τον μικρότερο (με βάση την εκτίμηση) κόστος Επεξεργασία Ερωτήσεων (ανακεφαλαίωση) Επεξεργασία Ερωτήσεων (ανακεφαλαίωση) Ερώτηση SQL Ερώτηση Συντακτική Ανάλυση & Μετάφραση Μηχανή Υπολογισμού Έκφραση της Σχεσιακής Άλγεβρας Σχέδιο Εκτέλεσης Αποτέλεσμα Δεδομένα Βελτιστοποίηση Στατιστικά Στοιχεία select A 1, A 2,, A n from R 1, R 2,, R m where P x x Μετάφραση π Α1, Α2,... An σ P x R 1 R 2 R 3 R m π A1, A2,, An (σ P (R 1 x R 2 x x R m )) Πλάνο εκτέλεσης (ποιες πράξεις και με ποιον αλγόριθμο) Βελτιστοποίηση Εκτέλεση Επιλογή κατάλληλου αλγορίθμου για κάθε βασική πράξη της σχεσιακής άλγεβρας x x π Α1, Α2,... An σ P x R 1 R 2 R 3 R m Επεξεργασία Ερωτήσεων Λίγα λόγια για τη βελτιστοποίηση Πλάνο εκτέλεσης (ποιες πράξεις και με ποιον αλγόριθμο) Φύλλα: σχέσεις Εσωτερικοί κόμβοι: βασικές πράξεις της σχεσιακής άλγεβρας Βελτιστοποίηση του πλάνου Βελτιστοποίηση Ερωτήσεων Μερικοί ευριστικοί κανόνες Γενική ιδέα: εκτέλεση πρώτα των πράξεων με μικρή επιλεκτικότητα ώστε να περιοριστεί το μέγεθος των ενδιάμεσων αποτελεσμάτων 1. ιάσπαση των πράξεων επιλογής με συζευκτικές συνθήκες σε ακολουθίες πράξεων επιλογής 2. Μετατοπίζουμε την πράξη επιλογής όσο πιο κάτω επιτρέπεται από τα γνωρίσματα που περιλαμβάνονται στη συνθήκη 3. Επαναδιευθέτηση των φύλλων ώστε να εκτελούνται πρώτα οι σχέσεις που έχουν τις πιο περιοριστικές πράξεις επιλογής 107 : Ευρετήρια 18

19 Βελτιστοποίηση Ερωτήσεων Επεξεργασία Ερωτήσεων 4. Συνδυασμός μιας πράξης καρτεσιανού γινομένου με μια πράξη επιλογής που ακολουθεί 5. ιάσπαση και μετακίνηση των λιστών προβολής όσο πιο κάτω γίνεται στο δέντρο Αλγόριθμους εκτέλεσης βασικών πράξεων Επιλογή Προβολή Πράξεις συνόλων Συνένωση 6. Εντοπισμός υποδέντρων με ομάδες πράξεων που μπορεί να εκτελεστούν με κοινό αλγόριθμο Αλγόριθμοι Εκτέλεσης Βασικών Πράξεων Αλγόριθμοι Εκτέλεσης Βασικών Πράξεων Για να επιλέξουμε ποιόν αλγόριθμο θα χρησιμοποιήσουμε, διατηρούμε στατιστικά στοιχεία Για ένα αρχείο δεδομένων μιας σχέσης 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 Ενημέρωση στατιστικών στοιχείων; Άλλα στατιστικά στοιχεία; Π.χ., για μια πράξη επιλογής στο γνώρισμα A V(A, R): αριθμός διαφορετικών τιμών του Α π Α (R) -- αν το Α κλειδί; SC(A, R): μέσος αριθμός πλειάδων που ικανοποιεί μια συνθήκη (δεδομένου ότι υπάρχει μια τουλάχιστον που την ικανοποιεί) 1 αν κλειδί, αν ομοιόμορφη; Αλγόριθμοι Εκτέλεσης Βασικών Πράξεων Στατιστικά στοιχεία επίσης για το αρχείο ευρετηρίου (αν υπάρχει) f i : παράγοντας διακλάδωσης, πολυεπίπεδο f 0, Β + δέντρο ~ τάξη H i : αριθμός επιπέδων LΒ i : αριθμός block φύλλων Με βάση τα στατιστικά επιλέγεται ο αλγόριθμος με το μικρότερο κόστος Κόστος: Αριθμό blocks που μεταφέρονται Επιλογή Επιλογή Θα εξετάσουμε: Επιλογή με συνθήκη ισότητας (σ Α = α (R)) Επιλογή με συνθήκη σύγκρισης διαστήματος/περιοχής (range query) (σ Α u (R)) ή (σ Α u (R)) Επιλογή με σύζευξη (σ Θ1 AND Θ2 AND Θn (R)) Επιλογή με διάζευξη (σ Θ1 OR Θ2 OR Θn (R)) Θα δούμε ποιος είναι ο καλύτερος (με το μικρότερο κόστος σε blocks) αλγόριθμος για την εκτέλεση της πράξης : Ευρετήρια 19

20 Επιλογή Επιλογή (σ) Πιθανοί αλγόριθμοι εκτέλεσης για την επιλογή: Ε1: Σειριακή αναζήτηση Ε2: υαδική αναζήτηση Ε3: Χρήση πρωτεύοντος ευρετηρίου/κατακερματισμού Ε4: Χρήση δευτερεύοντος ευρετηρίου/κατακερματισμού Για τον Ε2 πρέπει το αρχείο να είναι ταξινομημένο Για τους Ε3 και Ε4 λέμε ότι έχουμε μονοπάτι προσπέλασης (access path) Επιλεκτικότητα επιλογής: το πλήθος των εγγραφών (πλειάδων) που επιλέγονται (δηλ. ικανοποιούν την συνθήκη) το πλήθος των εγγραφών (πλειάδων) του αρχείου (σχέσης) Έστω s i = σ Θi (R) επιλεκτικότητα: s i / n R Αν Θi συνθήκη ισότητας σε ένα γνώρισμα υποψήφιο κλειδί s i = 1 / n R Αν Θi συνθήκη ισότητας σε ένα γνώρισμα, ομοιόμορφη κατανομή, k διακριτές τιμές, s i = k / n R Επιλογή: Συνθήκη Ισότητας Επιλογή: Συνθήκη Ισότητας Επιλογή - συνθήκη ισότητας σ Α = α (R) Ε1 Σειριακή αναζήτηση ιάβασμα (scan) όλου του αρχείου b R : αριθμός blocks της σχέσης R Ε2 υαδική αναζήτηση b R : αριθμός blocks της σχέσης R SC(A, R): μέσος αριθμός πλειάδων που ικανοποιεί μια συνθήκη f R : παράγοντας ομαδοποίησης Μπορεί να χρησιμοποιηθεί μόνο αν το αρχείο είναι διατεταγμένο με βάση το γνώρισμα της επιλογής b R b R /2 αν το Α υποψήφιο κλειδί (οπότε το αποτέλεσμα έχει μόνο μία πλειάδα, σταματάμε την αναζήτηση μόλις τη βρούμε) Μπορεί να χρησιμοποιηθεί σε οποιοδήποτε αρχείο log ( b R ) + SC(A, r)/f R -1 Αν το Α υποψήφιο κλειδί; Εύρεση της πρώτης Εύρεση των υπόλοιπων Ε3 Χρήση πρωτεύοντος (πολυεπίπεδου) ευρετηρίου Πρωτεύον ευρετήριο σημαίνει ταξινομημένο αρχείο Επιλογή: Συνθήκη Ισότητας Μπορεί να χρησιμοποιηθεί μόνο αν υπάρχει τέτοιο ευρετήριο στο Α HT i + 1 HT i + SC(A, R)/f R b R : αριθμός blocks της σχέσης R SC(A, R): μέσος αριθμός πλειάδων που ικανοποιεί μια συνθήκη f R : παράγοντας ομαδοποίησης HT i : αριθμός επιπέδων Εύρεση και μεταφορά της πρώτης Αν το Α δεν είναι υποψήφιο κλειδί -- ευρετήριο συστάδων Εύρεση και των υπόλοιπων ΣΗΜΕΙΩΣΗ: Πρωτεύον ευρετήριο στο Α, σημαίνει ότι οι εγγραφές του αρχείου δεδομένων είναι ταξινομημένες (διατεταγμένες) ως προς Α άρα οι υπόλοιπες εγγραφές με την ίδια τιμή (αν υπάρχουν) βρίσκονται σε γειτονικά blocks του αρχείου δεδομένων Ε4 Χρήση δευτερεύοντος (πολυεπίπεδου) ευρετηρίου Επιλογή: Συνθήκη Ισότητας Μπορεί να χρησιμοποιηθεί μόνο αν υπάρχει τέτοιο ευρετήριο στο Α Αν το Α είναι υποψήφιο κλειδί HT i + 1 +SC(A, R) b R : αριθμός blocks της σχέσης R SC(A, R): μέσος αριθμός πλειάδων που ικανοποιεί μια συνθήκη f R : παράγοντας ομαδοποίησης HT i : αριθμός επιπέδων Εύρεση και μεταφορά της πρώτης Αν το Α δεν είναι υποψήφιο κλειδί + κόστος για την εύρεση των υπολοίπων HT i + ενδιάμεσο επίπεδο Εύρεση και των υπόλοιπων Στη χειρότερη περίπτωση κάθε εγγραφή που ικανοπoιεί τη συνθήκη σε διαφορετικό block : Ευρετήρια 20

21 Επιλογή: Συνθήκη με Σύγκριση Επιλογή: Συνθήκη με Σύγκριση Επιλογή - συνθήκη με σύγκριση σ Α u (R) ήσ Α u (R) Έστω ότι c πλειάδες ικανοποιούν τη συνθήκη Γενικά c = n R /2 (δηλαδή, οι μισές) Έστω min, max (μικρότερη, μεγαλύτερη τιμή του Α), αν ομοιόμορφη κατανομή και σ Α u (R) 0 αν u < min σ Α u (R) Θα δούμε δύο αλγορίθμους: Ε5 Χρήση πρωτεύοντος πολυ-επίπεδου ευρετηρίου Ε6 Χρήση δευτερεύοντος πολυ-επίπεδου ευρετηρίου c = n R αν u max n R * [(u - min) / (max - min)] Επιλογή: Συνθήκη με Σύγκριση Επιλογή: Συνθήκη με Σύγκριση Ε5 Χρήση πρωτεύοντος (πολυεπίπεδου) ευρετηρίου Πρωτεύον, σημαίνει ταξινομημένο αρχείο, Α u έστω σε αύξουσα διάταξη 1. Χρήση ευρετηρίου για την εύρεση της πρώτης εγγραφής Α u 2. Σάρωση όλου του αρχείου ξεκινώντας από αυτήν την εγγραφή Α u HT i + c /f R ε χρειάζεται ευρετήριο, γιατί; c: επιλεξιμότητα (πλειάδες που ικανοποιούν την συνθήκη) f R : παράγοντας ομαδοποίησης HT i : αριθμός επιπέδων Ε6 Χρήση δευτερεύοντος (πολυεπίπεδου) ευρετηρίου Εύρεση του πρώτου φύλλου του ευρετηρίου Μη ταξινομημένο αρχείο Για κάθε block (φύλλο) του ευρετηρίου διάβασε το αντίστοιχο block δεδομένων (σημείωση, αν Β+ δέντρο χρησιμοποιούμε το δείκτη ανάμεσα στα φύλλα) Σάρωση των φύλλων του δέντρου Α u από την αρχή έως το u Α u από το u έως το τέλος c: επιλεξιμότητα (πλειάδες που ικανοποιούν την συνθήκη) n R : αριθμός εγγραφών LB i : αριθμός block φύλλων HT i : αριθμός επιπέδων Π.χ., αν c = n R /2, και Α κλειδί τότε (αν κάθε εγγραφή σε διαφορετικό block) HT i + LB i /2 + n R / Επιλογή: Συνθήκη Σύζευξης Επιλογή: Συνθήκη Σύζευξης Επιλογή - συνθήκη σύζευξης σ Θ1 AND Θ2 AND Θn (R) Επιλεκτικότητα μιας συνθήκης: το πλήθος των εγγραφών (πλειάδων) που την ικανοποιούν το πλήθος των εγγραφών (πλειάδων) του αρχείου (σχέσης) Ε7 Συζευκτική επιλογή με χρήση ενός απλού ευρετηρίου Υπάρχει διαδρομή προσπέλασης για ένα από τα γνωρίσματα που εμφανίζονται σε οποιαδήποτε απλή συνθήκη Επιλογή του γνωρίσματος στην απλή συνθήκη με τη μικρότερη επιλεκτικότητα (γιατί;) Αν οι συνθήκες είναι ανεξάρτητες, το μέγεθος του αποτελέσματος: n R * s 1 * s 2 * * s n n n R s i επιλεκτικότητα της Θi Χρήση μιας από τις προηγούμενες μεθόδους για την ανάκτηση των εγγραφών που ικανοποιούν αυτήν την συνθήκη και έλεγχος για κάθε επιλεγμένη εγγραφή αν ικανοποιεί και τις υπόλοιπες συνθήκες : Ευρετήρια 21

22 Επιλογή: Συνθήκη Σύζευξης Επιλογή: Συνθήκη Σύζευξης Ε8 Συζευκτική επιλογή με χρήση σύνθετου ευρετηρίου Αν υπάρχει ευρετήριο στο συνδυασμό δύο ή περισσοτέρων γνωρισμάτων που εμφανίζονται σε οποιαδήποτε απλές συνθήκες Ε9 Συζευκτική επιλογή με τομή δεικτών Αν υπάρχουν ευρετήρια σε περισσότερα από ένα από τα γνωρίσματα Τότε διαβάζουμε τα blocks του αρχείου δεδομένων που δίνονται από όλα τα ευρετήρια Επιλογή: Συνθήκη ιάζευξης Επεξεργασία Ερωτήσεων Επιλογή - συνθήκη διάζευξης σ Θ1 OR Θ2 OR Θn (R) ΤΕΛΟΣ Αν έστω και μία από τις συνθήκες δεν έχει διαδρομή προσπέλασης -> σάρωση όλου του αρχείου : Ευρετήρια 22

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

εντρικά Ευρετήρια έντρα Αναζήτησης εντρικά Ευρετήρια 1 έντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτεςωςεξής P 1 K 1 P j K

Διαβάστε περισσότερα

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές

Διαβάστε περισσότερα

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

Ευρετήρια. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια. Ευρετήρια. Ευρετήρια Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου που καλείται

Διαβάστε περισσότερα

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

Ευρετήρια. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια. Ευρετήρια. Ευρετήρια Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου που καλείται

Διαβάστε περισσότερα

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

Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρα 1. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια. Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου που καλείται

Διαβάστε περισσότερα

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2017-2018 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ

Διαβάστε περισσότερα

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες ως εξής P 1 K 1 P

Διαβάστε περισσότερα

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Δεντρικά Ευρετήρια. Δέντρα Αναζήτησης Δεντρικά Ευρετήρια 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόµβος του περιέχει το πολύ p - 1 τιµές αναζήτησης και ρ δείκτες ως εξής P 1 K 1 P

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων

Διαβάστε περισσότερα

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

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική

Διαβάστε περισσότερα

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

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων 2009-2010: Ευρετήρια 1 Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου

Διαβάστε περισσότερα

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

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1 Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου

Διαβάστε περισσότερα

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

Ευρετήρια. Το ευρετήριο αρχείου είναι ένα διατεταγµένο αρχείο µε σταθερού µήκους εγγραφές Ευρετήρια Ένα ευρετήριο (index) είναι µια βοηθητική δοµή αρχείου που κάνει πιο αποδοτική την αναζήτηση µιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισµα του αρχείου που καλείται

Διαβάστε περισσότερα

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

Ευρετήρια. Το ευρετήριο αρχείου είναι ένα διατεταγµένο αρχείο µε σταθερού µήκους εγγραφές Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 1 Ευρετήρια Ένα ευρετήριο (index) είναι µια βοηθητική δοµή αρχείου που κάνει πιο αποδοτική την αναζήτηση µιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται

Διαβάστε περισσότερα

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

Βάσεις εδοµένων Ευαγγελία Πιτουρά 2 Ευρετήρια Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 1 Ευρετήρια Ένα ευρετήριο (index) είναι µια βοηθητική δοµή αρχείου που κάνει πιο αποδοτική την αναζήτηση µιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται

Διαβάστε περισσότερα

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

Ευρετήρια. Ευρετήρια. Βάσεις εδοµένων :ευρετήρια 1 Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου

Διαβάστε περισσότερα

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

Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια Ευαγγελία Πιτουρά 1 τιμή γνωρίσματος Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα Βάσεις

Διαβάστε περισσότερα

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

Το εσωτερικό ενός Σ Β Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL) ηµιουργία/κατασκευή Εισαγωγή εδοµένων

Διαβάστε περισσότερα

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας Τα βασικά βήματα στην επεξεργασία

Διαβάστε περισσότερα

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

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 1 ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Επεξεργασία Ερωτήσεων Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL)

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2018-2019 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας

Διαβάστε περισσότερα

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

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Κατακερματισμός 1 Αποθήκευση εδομένων (σύνοψη) Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Παραδοσιακά, μία σχέση (πίνακας/στιγμιότυπο) αποθηκεύεται σε ένα αρχείο Αρχείο δεδομένων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΜΑΘΗΜΑ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΚΑΔ. ΕΤΟΣ 2011-12 ΔΙΔΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής Τιμολέων Σελλής Καθηγητής Άσκηση 1

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΑΚΑ. ΕΤΟΣ 2012-13 Ι ΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής, Τοµέας Τεχνολογίας

Διαβάστε περισσότερα

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

Φροντιστήριο Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Φροντιστήριο 17-1-2011 Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία Θεωρία Άτρακτος/αυλάκι : ομόκεντροι κύκλοι στον δίσκο Κύλινδρος:

Διαβάστε περισσότερα

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

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ.Χατζόπουλος 2 Δένδρο αναζήτησης είναι ένας ειδικός τύπος δένδρου που χρησιμοποιείται για να καθοδηγήσει την αναζήτηση μιας

Διαβάστε περισσότερα

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

Κεφ.11: Ευρετήρια και Κατακερματισμός Κεφ.11: Ευρετήρια και Κατακερματισμός Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Κεφ. 11: Ευρετήρια-Βασική θεωρία Μηχανισμοί ευρετηρίου χρησιμοποιούνται για την επιτάχυνση

Διαβάστε περισσότερα

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

Επεξεργασία ερωτημάτων Επεξεργασία ερωτημάτων Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη Σε τι αφορά η επεξεργασία ερωτημάτων? Αναφέρεται στο σύνολο των δραστηριοτήτων που περιλαμβάνονται στην ανάκτηση δεδομένων από μία βάση δεδομένων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων. Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων, κατακερματισμός και δομές ευρετηρίων για αρχεία. Φροντιστήριο 7 o Βάσεις Δεδομένων Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων, κατακερματισμός και δομές ευρετηρίων για αρχεία Φροντιστήριο 7 o 2-2-2008 Θεωρία Άτρακτος/αυλάκι : ομόκεντροι κύκλοι στον δίσκο Κύλινδρος:

Διαβάστε περισσότερα

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

Κεφάλαιο 14. οµές Ευρετηρίων για Αρχεία. ιαφάνεια 14-1 ιαφάνεια 14-1 Κεφάλαιο 14 οµές Ευρετηρίων για Αρχεία Copyright 2007 Ramez Elmasri and Shamkant B. NavatheΕλληνικήΈκδοση, ιαβλος, Επιµέλεια Μ.Χατζόπουλος 1 Θα µιλήσουµε για Τύποι Ταξινοµηµένων Ευρετηρίων

Διαβάστε περισσότερα

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή (ως τρόπος οργάνωσης αρχείου) μέγεθος

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων 2. Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων. Ημερ: 27/5/2008 Ακ.Έτος Βάσεις Δεδομένων 2 Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων Ημερ: 27/5/2008 Ακ.Έτος 2007-08 Υλοποίηση σχεσιακών πράξεων ΤΑΞΙΝΟΜΗΣΗ Εξωτερική ταξινόμηση για μεγάλα αρχεία, αποθηκευμένα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Υλοποίηση των Σχεσιακών Τελεστών. 6/16/2009 Μ.Χατζόπουλος 1 Υλοποίηση των Σχεσιακών Τελεστών 6/16/2009 Μ.Χατζόπουλος 1 Ένα σχεσιακό ΣΔBΔ πρέπει να συμπεριλαμβάνει αλγόριθμους για υλοποίηση των διαφορετικών τύπων των σχεσιακών πράξεων (καθώς και άλλων πράξεων) που

Διαβάστε περισσότερα

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2017-2018 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

Διαβάστε περισσότερα

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

Οργάνωση Αρχείων. Βάσεις Δεδομένων : Οργάνωση Αρχείων 1. Blobs Αρχεία Τα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Οργάνωση Αρχείων Η μεταφορά δεδομένων από το δίσκο στη μνήμη και από τη μνήμη στο δίσκο γίνεται σε μονάδες blocks Βασικός στόχος η ελαχιστοποίηση

Διαβάστε περισσότερα

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

Οργάνωση Αρχείων. Βάσεις Δεδομένων : Οργάνωση Αρχείων 1. Blobs Αρχεία Τα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Οργάνωση Αρχείων Η μεταφορά δεδομένων από το δίσκο στη μνήμη και από τη μνήμη στο δίσκο γίνεται σε μονάδες blocks Βασικός στόχος η ελαχιστοποίηση

Διαβάστε περισσότερα

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

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών

Διαβάστε περισσότερα

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή

Διαβάστε περισσότερα

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

Τα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Οργάνωση Αρχείων 1 Αρχεία Τα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Η μεταφορά δεδομένων από το δίσκο στη μνήμη και από τη μνήμη στο δίσκο γίνεται σε μονάδες blocks Βασικός στόχος η ελαχιστοποίηση

Διαβάστε περισσότερα

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2018-2019 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

Διαβάστε περισσότερα

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

Κεφάλαιο 7. ISAM και B- έντρα Φυσικός Σχεδιασµός για Βάσεις εδοµένων. ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.53 Κεφάλαιο 7 ISAM και B- έντρα Φυσικός Σχεδιασµός για Βάσεις εδοµένων ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.53 ιαχείριση Μνήµης.. SET-ORIENTED DBMS Εφαρµογή Προγράµµατα οσοληψιών Database Access

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ ΔΕΥΤΕΡΗ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ ΔΕΥΤΕΡΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΚΑΔ. ΕΤΟΣ 2007-2008 14.02.2008 EΠΙΣΤΡΕΦΕΤΑΙ ΔΙΔΑΣΚΩΝ Ιωάννης Βασιλείου, Καθηγητής,

Διαβάστε περισσότερα

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

Οι πράξεις της συνένωσης. Μ.Χατζόπουλος 1 Οι πράξεις της συνένωσης Μ.Χατζόπουλος 1 ΠΡΟΜΗΘΕΥΤΗΣ (ΠΡΜ) Κ_Προμ Π_Ονομα Είδος Πόλη 22 Ανδρέου 7 Αθήνα 31 Πέτρου 8 Πάτρα 28 Δέδες 12 Λάρισα 58 Παππάς 7 Αθήνα ΠΡΟΙΟΝ (ΠΡ) Κ_Πρ Πρ_Ονομα Χρώμα Βάρος Π35

Διαβάστε περισσότερα

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

Αποθήκευση Δεδομένων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Αποθήκευση Δεδομένων Βάσεις Δεδομένων 2017-2018 1 ΣΔΒΔ SQL ΣΔΒΔ ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Τυπικά, Κάθε σχέση (το στιγμιότυπο της) αποθηκεύεται σε ένα αρχείο Βάσεις Δεδομένων 2017-2018 2 Δομή ενός ΣΔΒΔ (πιο αναλυτικά)

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Επεξεργασία Ερωτήσεων: Επανάληψη και Ασκήσεις Ερώτηση SQL Ερώτηση : Επανάληψη και Ασκήσεις Συντακτική Ανάλυση & Μετάφραση Έκφραση της Σχεσιακής Άλγεβρας Σχέδιο Εκτέλεσης Μηχανή Υπολογισµού Στατιστικά Στοιχεία εδοµένα Αποτέλεσµα Κατανεµηµένες Βάσεις

Διαβάστε περισσότερα

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Άσκηση 1 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών HY460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Διδάσκοντες: Δημήτρης

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΗΥ460 Συστήµατα Διαχείρισης Βάσεων Δεδοµένων Χειµερινό Εξάµηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης ΗΥ460 Συστήµατα Διαχείρισης Βάσεων Δεδοµένων Χειµερινό Εξάµηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης 2 η Σειρά Ασκήσεων Ηµεροµηνία Παράδοσης: 14/11/2016 Άσκηση 1 (10 µονάδες) Εξωτερική Ταξινόµηση Θεωρείστε

Διαβάστε περισσότερα

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

Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός) ΗΥ460 Τελική Εξέηαζη 29 Ιανουαπίου 2013 Σελίδα 1 από 8 Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Δημήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Επαναληπτική

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης Δένδρα στα οποία κάθε κόμβος μπορεί να αποθηκεύει ένα ή περισσότερα κλειδιά. Κόμβος με d διακλαδώσεις : k 1 k 2 k 3 k 4 d-1 διατεταγμένα κλειδιά d διατεταγμένα παιδιά

Διαβάστε περισσότερα

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

ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Ονοµατεπώνυµο: Αριθµός Μητρώου: Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία:

Διαβάστε περισσότερα

ΗΥ360 Αρχεία και Βάσεις εδοµένων

ΗΥ360 Αρχεία και Βάσεις εδοµένων ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης Tutorial B-Trees, B+Trees Μπαριτάκης Παύλος 2018-2019 Ιδιότητες B-trees Χρήση για μείωση των προσπελάσεων στον δίσκο Επέκταση των Binary Search Trees

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων ΙΙ Ενότητα 6 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 6: Δομές Ευρετηρίων - B-tree Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Δομές Δεδομένων. Ενότητα 13: B-Δέντρα/AVL-Δέντρα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων

Δομές Δεδομένων. Ενότητα 13: B-Δέντρα/AVL-Δέντρα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων Ενότητα 13: B-Δέντρα/AVL-Δέντρα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Ευρετήρια και Κατακερματισμός Ευρετήρια και Κατακερματισμός B μέρος Ευρετήρια και Κατακερματισμός Σελίδα 1 ΣΥΝΟΨΗ ΕΝΟΤΗΤΑΣ Συναρτήσεις κατακερματισμού Κατακερματισμός στις βάσεις δεδομένων Στατικός vs. Δυναμικός Κατακερματισμός Bitmaps

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων ΙΙ Ενότητα 5 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 5: Δομές Ευρετηρίων - ISAM Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 6. Δυαδικά Δέντρα 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 18/11/2016 Εισαγωγή Τα

Διαβάστε περισσότερα

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

Αποθήκευση εδομένων. Μαγνητικοί ίσκοι. Μαγνητικές ταινίες για. Εισαγωγή Εισαγωγή Στο μέρος Α του μαθήματος, είδαμε το σχεδιασμό και υλοποίηση μιας βάσης δεδομένων χρησιμοποιώντας ένα Σ Β Αποθήκευση εδομένων ΜΕΡΟΣ Β : Το «εσωτερικό» ενός Σ Β -- αποθήκευση δεδομένων -- ευρετήρια

Διαβάστε περισσότερα

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

Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Βάσεις δεδομένων (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Ευρετήρια Σκανδάλες PL/SQL Δείκτες/Δρομείς 2 Αποθήκευση δεδομένων Πρωτεύουσα αποθήκευση Κύρια μνήμη (main memory) ή κρυφή μνήμη

Διαβάστε περισσότερα

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Δομές Ευρετηρίων και Κατακερματισμός Αρχείων I Ακ.Έτος 2008-09 (Βασισμένες στις σημειώσεις των Silberchatz,Korth και

Διαβάστε περισσότερα

έντρα Πολλαπλής ιακλάδωσης και (a, b)- έντρα

έντρα Πολλαπλής ιακλάδωσης και (a, b)- έντρα έντρα Πολλαπλής ιακλάδωσης και (a, b)- έντρα ηµήτρης Φωτάκης Τµήµα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστηµάτων έντρα Αναζήτησης Πολλαπλής ιακλάδωσης ( ΑΠ ) ΑΠ ή έντρα m-δρόµων: Σ Βάσεων εδοµένων.

Διαβάστε περισσότερα

Δυναμικός Κατακερματισμός

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

Διαβάστε περισσότερα

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

Ευρετήρια και Κατακερµατισµός Ευρετήρια και Κατακερµατισµός Α µέρος Ευρετήρια και Κατακερµατισµός Σελίδα 1 ΣΥΝΟΨΗ ΕΝΟΤΗΤΑΣ Ορισµοί - Βασικές έννοιες ιατεταγµένα Ευρετήρια B+-Tree οµές Ευρετηρίων Ευρετήρια και Κατακερµατισµός Σελίδα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με

Διαβάστε περισσότερα

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

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασμός μιας Β : Βήματα Ανάλυση Απαιτήσεων Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

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

Βελτιστοποίηση ερωτημάτων Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη Βελτιστοποίηση ερωτημάτων Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Εισαγωγή (1) Εναλλακτικοί τρόποι για

Διαβάστε περισσότερα

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Δέντρα Αναζήτησης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Αναζήτηση Θέλουμε να διατηρήσουμε αντικείμενα με κλειδιά και να μπορούμε εκτός από

Διαβάστε περισσότερα

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1 Κατακερματισμός 4/3/2009 Μ.Χατζόπουλος 1 H ιδέα που βρίσκεται πίσω από την τεχνική του κατακερματισμού είναι να δίνεται μια συνάρτησης h, που λέγεται συνάρτηση κατακερματισμού ή παραγωγής τυχαίων τιμών

Διαβάστε περισσότερα

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

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασμός μιας Β : Βήματα Ανάλυση Απαιτήσεων Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI Δομές Ευρετηρίων και Κατακερματισμός Αρχείων I Β. Μεγαλοοικονόμου Δ. Χριστοδουλάκης (παρουσίαση βασισμένη εν μέρη σε σημειώσεις των Silberchatz, Korth και

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση. Εισαγωγή Σχεσιακό Μοντέλο Ανάλυση Απαιτήσεων Σχεδιασμός μιας Β : Βήματα Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

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

Οργάνωση Αρχείων. Ευρετήρια. Ταξινοµηµένα ευρετήρια B + -δένδρα Ευρετήρια κατακερµατισµού. Αρχεία σωρού ιατεταγµένα αρχεία Αρχεία κατακερµατισµού Οργάνωση Αρχείων & Ευρετήρια Οργάνωση Αρχείων Αρχεία σωρού ιατεταγµένα αρχεία Αρχεία κατακερµατισµού Ευρετήρια Ταξινοµηµένα ευρετήρια B + -δένδρα Ευρετήρια κατακερµατισµού Βασική πηγή διαφανειών: Silberschatz

Διαβάστε περισσότερα

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

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Ονοµατεπώνυµο: Αριθµός Μητρώου: Τελική Εξέταση (3 ώρες) Ηµεροµηνία: 7

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Σχεσιακή Άλγεβρα Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός

Διαβάστε περισσότερα

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 12/10/2017

Διαβάστε περισσότερα

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

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------

Διαβάστε περισσότερα

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 21/10/2016

Διαβάστε περισσότερα

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

Πληροφορική 2. Δομές δεδομένων και αρχείων Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες

Διαβάστε περισσότερα

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε μία αναδρομική συνάρτηση που θα παίρνει ως παράμετρο ένα δείκτη στη ρίζα ενός δυαδικού δένδρου και θα επιστρέφει το βαθμό του

Διαβάστε περισσότερα

έντρα ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη

έντρα ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη έντρα 2-3-4 ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη Σημερινό Μάθημα 2-3-4 έντρα Ισοζυγισμένα δέντρα αναζήτησης έντρα αναζήτησης πολλαπλών

Διαβάστε περισσότερα

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Λεξικό, Union Find ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαχείριση ιαμερίσεων Συνόλου Στοιχεία

Διαβάστε περισσότερα