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

Σχετικά έγγραφα
Κεφ.11: Ευρετήρια και Κατακερματισμός

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

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

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

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

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

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

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

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

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

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

επιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S

Ενότητα 6: Κατακερματισμός Ασκήσεις και Λύσεις

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

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

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

Κατακερματισμός (Hashing)

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

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

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

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

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

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

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

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

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

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

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

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

Διάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing)

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

Cuckoo Hashing. Αλγόριθμοι και Πολυπλοκότητα. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

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

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

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

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

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

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

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

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

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

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

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

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

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

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

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

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

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

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

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

Advanced Data Indexing

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

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

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

Advanced Data Indexing

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

Ανάκτηση πληροφορίας

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

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

Κεφάλαιο 13. Αποθήκευση σε ίσκους, Βασικές οµέςαρχείων, και Κατακερµατισµός. ιαφάνεια 13-1

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

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

Πίνακες (Μια παλιά άσκηση) Πίνακες Κατακερματισμού (Hash Tables) Πίνακες (Μια παλιά άσκηση) Εισαγωγή. A n

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

Προηγμένη Ευρετηρίαση Δεδομένων (ΠΜΣ) Ενδεικτικές ερωτήσεις-θέματα για την εξέταση της θεωρίας

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

Κεφάλαιο 13. Αποθήκευση σε Δίσκους, Βασικές Δομές Αρχείων, και Κατακερματισμός

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

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

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

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

Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing)

Πίνακες Συμβόλων. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

Άσκηση 1. με κόκκινο χρώμα σημειώνονται οι κρίσιμοι κόμβοι

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

Πληροφορική & Τηλεπικοινωνίες K25 Ανάπτυξη Λογισμικού Εαρινό Εξάμηνο 2008 Καθηγητής Γιάννης Ιωαννίδης. Μέρος 2ο: Επίπεδο Ευρετηρίου Β+ Δένδρων

Αντισταθμιστική ανάλυση

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

Ανάκληση Πληποφοπίαρ. Information Retrieval. Διδάζκων Δημήηριος Καηζαρός

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Δομές Δεδομένων. Ενότητα 12: Κατακερματισμός: Χειρισμός Συγκρούσεων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

Δομές Δεδομένων & Αλγόριθμοι

Διάλεξη 18: Τεχνικές Κατακερματισμού I (Hashing)

Διαχρονικές δομές δεδομένων

ΕΝΟΤΗΤΑ 8 KATAKEΡΜΑΤΙΣΜΟΣ (HASHING)

Ανάκτηση Πληροφορίας

Κεφ 4: Προχωρημένες Εντολές SQL

Πράξεις με δυαδικούς αριθμούς

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

'Ασκηση 1: Στατικός Κατακερματισμός. Εισαγωγή. Ρουτίνες υλοποίησης κατακερματισμού. (Ημερομηνία Παράδοσης: Παρασκευή, 16/5/2008, 5μμ) HT_Init()

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

Transcript:

Δυναμικός Κατακερματισμός Καλό για βάση δεδομένων που μεγαλώνει και συρρικνώνεται σε μέγεθος Επιτρέπει τη δυναμική τροποποίηση της συνάρτησης κατακερματισμού Επεκτάσιμος κατακερματισμός μια μορφή δυναμικού κατακ/σμού Η συνάρτηση Hash παράγει τιμές σε ένα μεγάλο εύρος - συνήθως ακέραιοι b-bit, με b = 32. Οποιαδήποτε στιγμή χρησιμοποιούμε μόνο ένα πρόθεμα της συνάρτησης κατακερματισμού για να ευρετηριάζουμε σε έναν πίνακα διευθύνσεων κάδων Έστω το μήκος προθέματος i bits, 0 i 32. Μέγεθος πίνακα διευθύνσεων κάδου = 2 i. Αρχικά i = 0 Η τιμή του i αυξάνεται και μειώνεται καθώς το μέγεθος της βάσης δεδομένων μεγαλώνει και μικραίνει. Πολλαπλές καταχωρήσεις στον πίνακα διευθύνσεων κάδου μπορεί να δείχνουν έναν κουβά (γιατί;) Έτσι, ο πραγματικός αριθμός κάδων είναι < 2 i Ο αριθμός των κάδων μεταβάλλεται επίσης δυναμικά λόγω της συσσωματώσεως και του διαχωρισμού των κάδων. 11.51

Γενική δομή επεκτάσιμου κατακερματισμού Στη δομή αυτή, i 2 = i 3 = i, ενώ i 1 = i 1 (επόμενο slide) 11.52

Χρήση της επεκτάσιμης δομής Hash Κάθε κάδος j αποθηκεύει μια τιμή i j Όλες οι καταχωρήσεις που δείχνουν στον ίδιο κάδο έχουν τις ίδιες τιμές στα πρώτα i j bits. Για να εντοπίσουμε τον κάδο που περιέχει το κλειδί αναζήτησης K j : 1. Υπολογίζουμε h(k j ) = X 2. Χρησ/με τα i πρώτα bits του X για τη θέση στον πίνακα δ/σεων κάδων και ακολουθούμε το δείκτη στον κάδο Για εισαγωγή εγγραφής με τιμή κλειδιού αναζήτησης K j ακολουθούμε την ίδια διαδικασία με την αναζήτηση και εντοπίζουμε τον κάδο, ας πούμε j. Αν υπάρχει χώρος στον κάδο j, εισάγουμε την εγγραφή. Αλλιώς ο κάδος πρέπει να χωριστεί και η εισαγωγή να επιχειρηθεί ξανά Κάδοι υπερχείλισης χρησιμοποιούνται σε ορισμένες περιπτώσεις 11.53

Εισαγωγή στην επεκτάσιμη δομή Hash Για να διαιρέσετε ένα κουβά j κατά την εισαγωγή της εγγραφής με την τιμή κλειδιού αναζήτησης K j : Αν i > i j (περισσότερους από έναν δείκτες στον κάδο j) Δημιουργούμε ένα νέο κουβά z, και ορίζουμε i j = i z = (i j + 1) Ενημερώνουμε το δεύτερο μισό των καταχωρήσεων του πίνακα διευθύνσεων του κάδου που αρχικά έδειχναν στο j, να δείχνουν στο z αφαιρούμε κάθε εγγραφή στον κάδο j και τις ξαναβάζουμε (στο j ή z) Επαναϋπολογίστε νέο κάδο για το K j και εισάγετε την εγγραφή στον κάδο (περαιτέρω διαχωρισμός απαιτείται εάν ο κάδος είναι ακόμα γεμάτος) Αν i = i j (μόνο ένας δείκτης στον κάδο j) Αν το i φτάσει κάποιο όριο b, ή πάρα πολλές διασπάσεις έχουν συμβεί σε αυτή την εισαγωγή, δημιουργήστε έναν κουβά υπερχείλισης Αλλιώς Αυξάνουμε το i και διπλασιάζουμε το μέγεθος του πίνακα διευθύνσεων κάδων. Αντικαθιστούμε κάθε καταχώρηση στον πίνακα με δύο καταχωρίσεις που δείχνουν στον ίδιο κάδο. Επαναϋπολογίστε νέα δ/ση πίνακα κάδων για το K j τώρα i > i j άρα χρησιμοποιούμε τον 1 η περίπτωση. 11.54

Διαγραφή στην επεκτάσιμη δομή Hash Για να διαγράψουμε μια τιμή κλειδιού εντοπίστε το στον κάδο και αφαιρέστε το. Ο ίδιος ο κάδος μπορεί να αφαιρεθεί αν γίνει κενός (με τις κατάλληλες ενημερώσεις στον πίνακα διευθύνσεων του κάδου). Μπορεί να γίνει συγχώνευση κουβάδων (μπορεί να συμπυκνωθεί μόνο με έναν κάδο "buddy" που έχει την ίδια τιμή i j και ίδιο πρόθεμα i j 1, αν υπάρχει) Είναι επίσης δυνατή η μείωση του μεγέθους του πίνακα διευθύνσεων του κάδου Σημείωση: Το μειούμενο μέγεθος του πίνακα διευθύνσεων του κάδου είναι μια δαπανηρή διαδικασία και θα πρέπει να γίνεται μόνο εάν ο αριθμός των κουβάδων είναι πολύ μικρότερος από το μέγεθος του πίνακα 11.55

Παράδειγμα 11.56

Example (Cont.) Αρχική δομή Hash, μέγεθος bucket = 2 11.57

Example (Cont.) Δομή Hash μετά την εισαγωγή Mozart, Srinivasan, και Wu 11.58

Example (Cont.) Δομή Hash μετά την εισαγωγή του «Einstein» 11.59

Example (Cont.) Δομή Hash μετά την εισαγωγή των Gold και El Said 11.60

Example (Cont.) Δομή Hash μετά την εισαγωγή του Katz 11.61

Example (Cont.) Δομή μετά την εισαγωγή 11 εγγραφών 11.62

Example (Cont.) Και μετά την εισαγωγή του Kim στην προηγούμενη δομή 11.63

Επεκτάσιμος Κατακερματισμός ως προς άλλες μεθόδους Πλεονεκτήματα του επεκτάσιμου hashing: Η απόδοση δεν μειώνεται με το μέγεθος του αρχείου Ελάχιστη επιβάρυνση σε χώρο Μειονεκτήματα του επεκτάσιμου hashing Επιπλέον επίπεδο ανακατεύθυνσης για την εύρεση των εγγραφών Ο πίνακας διεύθυνσης κάδου μπορεί να γίνει πολύ μεγάλος (μεγαλύτερος από τη μνήμη) Δεν είναι δυνατή η διάθεση πολύ μεγάλων συνεχών περιοχών ούτε στο δίσκο Λύση: B+ δέντρο για τον εντοπισμό της επιθυμητής εγγραφής στον πίνακα διευθύνσεων του κάδου Η αλλαγή μεγέθους του πίνακα διευθύνσεων είναι δαπανηρή Το γραμμικό hashing είναι μια εναλλακτική Επιτρέπει σταδιακή αύξηση του καταλόγου της με κόστος περισσότερων υπερχειλίσεων bucket 11.64

Σύγκριση ταξινομημένου ευρετηρίου και Κατακερματισμού Κόστος περιοδικής αναδιοργάνωσης Σχετική συχνότητα εισαγωγών και διαγραφών Είναι επιθυμητό να βελτιστοποιηθεί ο μέσος χρόνος πρόσβασης σε βάρος του χρόνου πρόσβασης χειρότερης περίπτωσης; Αναμενόμενοι τύποι ερωτημάτων: Το Hashing είναι γενικά καλύτερο κατά την ανάκτηση εγγραφών με καθορισμένη τιμή του κλειδιού. Εάν τα ερωτήματα εύρους είναι αρκετά, τα ταξ/μένα ευρετήρια πρέπει να προτιμώνται Στην πράξη: Η PostgreSQL υποστηρίζει κατακερματισμό, αλλά αποθαρρύνει τη χρήση τους λόγω της κακής απόδοσης Η Oracle υποστηρίζει τη στατική οργάνωση κατακερματισμού, αλλά όχι δείκτες κατακερματισμού Ο SQLServer υποστηρίζει μόνο B + -trees 11.65

Ευρετήρια Bitmap Τα ευρετήρια Bitmap είναι ένας ειδικός τύπος ευρετηρίου για αποτελεσματική αναζήτηση σε πολλαπλά κλειδιά Οι Εγγραφές σε μια σχέση αριθμούνται διαδοχικά από, ας πούμε, το 0 Δεδομένου αριθμού n, είναι εύκολη η ανάκτηση της εγγραφής n Ιδιαίτερα εύκολο εάν οι εγγραφές είναι σταθερού μεγέθους Ισχύει για χαρακτηριστικά που λαμβάνουν σχετικά μικρό αριθμό ξεχωριστών τιμών Π.χ. φύλο, χώρα, κράτος,... Π.χ. εισόδημα (χωρίζεται σε μικρό αριθμό επιπέδων 0-9999, 10000-19999, 20000-50000, 50000- άπειρο) Ένα bitmap είναι απλά ένας πίνακας από bits 11.66

Ευρετήρια Bitmap Στην απλούστερη μορφή του, ένα ευρετήριο bitmap σε ένα χαρακτηριστικό έχει ένα bitmap για κάθε τιμή του χαρακτηριστικού Το κάθε bitmap έχει όσα bits όσα οι εγγραφές Σε ένα bitmap για την τιμή v, το bit για μια εγγραφή είναι 1 αν η εγγραφή έχει την τιμή v για το χαρακτηριστικό και 0 διαφορετικά 11.67

Ευρετήρια Bitmap Τα bitmap είναι χρήσιμα για ερωτήματα σε πολλαπλά χαρακτηριστικά Δεν είναι ιδιαίτερα χρήσιμα για ερωτήματα μεμονωμένων χαρακτηριστικών Τα ερωτήματα απαντώνται χρησιμοποιώντας λειτουργίες bitmap Τομή (και) Ένωση (ή) Συμπλήρωση (όχι) Κάθε λειτουργία λαμβάνει δύο bitmaps του ίδιου μεγέθους και εφαρμόζει τη λειτουργία για τα αντίστοιχα δυαδικά ψηφία για να πάρει το αποτέλεσμα bitmap Π.χ. 100110 AND 110011 = 100010 100110 OR 110011 = 110111 NOT 100110 = 011001 Males με εισόδημα L1: 10010 AND 10100 = 10000 Στη συνέχεια ανακτούμε τις απαιτούμενες πλειάδες. Η καταμέτρηση του αριθμού των πλειάδων που ταιριάζουν είναι ακόμη πιο γρήγορη 11.68

Ευρετήρια Bitmap Τα bitmap είναι γενικά πολύ μικρά σε σχέση με το μέγεθος της σχέσης Π.χ. εάν η εγγραφή είναι 100 bytes, ο χώρος για ένα μόνο bitmap είναι 1/800 του χώρου που χρησιμοποιείται από τη σχέση. Αν ο αριθμός των ξεχωριστών τιμών χαρακτηριστικών είναι 8, το bitmap είναι μόνο το 1% του μεγέθους της σχέσης Η διαγραφή πρέπει να γίνεται σωστά Bitmap ύπαρξης για να σημειώνεται εάν υπάρχει έγκυρη εγγραφή σε μια θέση εγγραφής Απαραίτητο για συμπλήρωση not(a=v): (NOT bitmap-a-v) AND ExistenceBitmap Θα πρέπει να διατηρούμε bitmap για όλες τις τιμές, ακόμη και το null Για σωστή επεξεργασία SQL null στο NOT(A=v): τομή του παραπάνω με το (NOT bitmap-a-null) 11.69

Ορισμός ευρετηρίων στην SQL Δημιουργία create index <index-name> on <relation-name> (<attribute-list>) Π.χ.: create index b-index on branch(branch_name) Διαγραφή drop index <index-name> Τα περισσότερα συστήματα βάσεων δεδομένων επιτρέπουν να προσδιοριστεί ο τύπος ευρετηρίου και η ομαδοποίηση. 11.70

End of Chapter Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use