Ειδικά Θζματα Βάςεων Δεδομζνων

Σχετικά έγγραφα
Βάςεισ Δεδομζνων Ι. Ενότητα 4: Μετατροπή ςχήματοσ Ο/Σ ςε ςχεςιακό. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ

Ειδικά Θζματα Βάςεων Δεδομζνων

Βάςεισ Δεδομζνων Ι. Ενότητα 12: Κανονικοποίηςη. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικών Πλθροφορικισ ΤΕ

Βάςεισ Δεδομζνων Ι. Ενότθτα 10: Συνακροιςτικζσ ςυναρτιςεισ. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικών Πλθροφορικισ ΣΕ

Βάςεισ Δεδομζνων Ι. Ενότθτα 11: SQL-Ερωτιματα Ομαδοποίθςθσ με υνζνωςθ Πινάκων. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικϊν Πλθροφορικισ ΣΕ

Βάςεισ Δεδομζνων Ι. Ενότητα 7: Ειςαγωγή ςτην γλώςςα_sql. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικϊν Πλθροφορικισ ΣΕ

Ειδικά Θζματα Βάςεων Δεδομζνων

Βάςεισ Δεδομζνων Λ. Ενότθτα 8: SQL Γλώςςα χειριςμοφ δεδομζνων. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικών Πλθροφορικισ ΣΕ

Ιδιότθτεσ πεδίων Γενικζσ.

Βάςεισ Δεδομζνων Ι. Ενότθτα 9: SQL-φηευξθ πινάκων. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικών Πλθροφορικισ ΣΕ

ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΔΙΕΘΝΕΙΣ ΟΙΚΟΝΟΜΙΚΕΣ ΣΧΕΣΕΙΣ

Ειδικζσ Ναυπηγικζσ Καταςκευζσ και Ιςτιοφόρα κάφη (Ε)

Καταςκευζσ Οπλιςμζνου Σκυροδζματοσ Ι

Γενικά Μαθηματικά ΙΙ Αςκήςεισ 11 ησ Ενότητασ

Αςκιςεισ ςε (i) Δομζσ Ευρετθρίων και Οργάνωςθ Αρχείων (ii) Κανονικοποίθςθ

Ειδικά Θζματα Βάςεων Δεδομζνων

ΘΕΡΜΟΔΤΝΑΜΙΚΗ Ι. Ενότθτα 1: Βαςικά χαρακτθριςτικά τθσ Θερμοδυναμικισ. ογομϊν Μπογοςιάν Πολυτεχνικι χολι Σμιμα Χθμικϊν Μθχανικϊν

Γενικά Μαθηματικά ΙΙ

Βάςεισ Δεδομζνων Ι. Ενότθτα 2: χεδιαςμόσ Βάςθσ Δεδομζνων. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικϊν Πλθροφορικισ ΣΕ

Περιοριςμοί μιασ Β.Δ. ςτθν Access(1/3)

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΤΟΤ. Φιλιοποφλου Ειρινθ

Ειδικά Θζματα Βάςεων Δεδομζνων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΓΑΣΤΗΙΟ 3

Καταςκευζσ Οπλιςμζνου Σκυροδζματοσ Ι

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ

Βάςεισ Δεδομζνων Ι. Ενότητα 1: υςτήματα Βάςεων Δεδομζνων. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικϊν Πλθροφορικισ ΤΕ

Τεχνικό Σχζδιο - CAD

Κλαςικι Ηλεκτροδυναμικι

Βάςεισ Δεδομζνων Ι. Ενότθτα 3: Μετατροπι ςχιματοσ Ο/ ςε ςχεςιακό. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ

Γενικά Μαθηματικά ΙΙ

ΕΝΟΤΗΤΑ 2: ΕΠΙΚΟΙΝΩΝΩ ΜΕ ΤΟΝ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Αρχεία - Φάκελοι

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

Τεχνικζσ Ανάλυςησ Διοικητικών Αποφάςεων

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

Αναπαράςταςθ Γνώςθσ ςτον Παγκόςμιο Ιςτό Ενότθτα 2: XML Δομθμζνα Ζγγραφα Ιςτοφ, Μζροσ 4 ο XPath

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

Ελλθνικι Δθμοκρατία Σεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Ψθφιακά Ηλεκτρονικά. Ενότθτα 9 : Διαδικαςία φνκεςθσ Φϊτιοσ Βαρτηιϊτθσ

Ανάπτυξη Εφαρμογών με Σχεςιακέσ Βάςεισ Δεδομένων

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

ΑΝΟΙΧΣΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΣΑ ΔΙΕΘΝΕΙΣ ΟΙΚΟΝΟΜΙΚΕΣ ΣΧΕΣΕΙΣ

ΘΥ101: Ειςαγωγι ςτθν Πλθροφορικι

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

Αποτυπώςεισ & Τεκμηρίωςη Αντικειμζνων

Οντοκεντρικόσ Προγραμματιςμόσ

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

Aντιπτζριςη (ΕΠ027) Ενότητα 10

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ

Τεχνικζσ Ανάλυςησ Διοικητικών Αποφάςεων

Δομζσ Δεδομζνων Πίνακεσ

Εγχειρίδιο Χριςθσ τθσ διαδικτυακισ εφαρμογισ «Υποβολι και παρακολοφκθςθ τθσ ζγκριςθσ Εκπαιδευτικών Πακζτων»

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

ΑΝΟΙΧΣΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΣΑ ΔΙΕΘΝΕΙΣ ΟΙΚΟΝΟΜΙΚΕΣ ΣΧΕΣΕΙΣ

EMUNI A.U.Th. SUMMER SCHOOL

Ειδικά Θζματα Βάςεων Δεδομζνων

Ιςοηυγιςμζνα δζντρα και Β- δζντρα. Δομζσ Δεδομζνων

Aντιπτζριςθ (ΕΠ027) Ενότθτα 12

Επιχειρηςιακή Έρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

Οντοκεντρικόσ Ρρογραμματιςμόσ

Οντοκεντρικόσ Προγραμματιςμόσ

Γενικά Μαθηματικά ΙΙ

Aντιπτζριςη (ΕΠ027) Ενότητα 6

Ψθφιακά Ηλεκτρονικά. Ενότθτα 7 : Ελαχιςτοποίθςθ και κωδικοποίθςθ καταςτάςεων Φϊτιοσ Βαρτηιϊτθσ

Παράγοντεσ υμμετοχήσ Ενηλίκων ςτην Εκπαίδευςη: Ζητήματα Κινητοποίηςησ και Πρόςβαςησ ςε Οργανωμζνεσ Εκπαιδευτικζσ Δραςτηριότητεσ

Ειδικά Θζματα Βάςεων Δεδομζνων

Εργαςτιριο Βάςεων Δεδομζνων

Παράγοντεσ υμμετοχήσ Ενηλίκων ςτην Εκπαίδευςη: Ζητήματα Κινητοποίηςησ και Πρόςβαςησ ςε Οργανωμζνεσ Εκπαιδευτικζσ Δραςτηριότητεσ

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 12 θ Διάλεξθ Διαχείριςθ Αρχείων

Ενότθτα: Ανατομία Μεςοκωρακίου

Οντοκεντρικόσ Ρρογραμματιςμόσ

Τεχνολογία Περιβάλλοντοσ: Διαχείριςθ Υγρών Αποβλιτων Ενότθτα 9: Απολφμανςθ. Κορνάροσ Μιχαιλ Πολυτεχνικι Σχολι Τμιμα Χθμικών Μθχανικών

Οντοκεντρικόσ Ρρογραμματιςμόσ

Ειςαγωγι ςτθν Επιςτιμθ Υπολογιςτϊν. Ειςαγωγι ςτθν Python

Διδακτικι τθσ Γλϊςςασ Ι

ΘΕΡΜΟΔΤΝΑΜΙΚΗ IΙ. Ενότθτα 4: Χθμικζσ αντιδράςεισ αερίων τακερά Χθμικισ Ιςορροπίασ Πρότυπθ Ελεφκερθ Ενζργεια

Aντιπτζριςη (ΕΠ027) Ενότητα 5

Ψθφιακά Ηλεκτρονικά. Ενότθτα 5 : Ανάλυςθ κυκλώματοσ με D και JK FLIP- FLOP Φώτιοσ Βαρτηιώτθσ

ΘΕΡΜΟΔΤΝΑΜΙΚΗ Ι. Ενότθτα 3: Μθδενικόσ Νόμοσ - Ζργο. ογομϊν Μπογοςιάν Πολυτεχνικι χολι Σμιμα Χθμικϊν Μθχανικϊν

Κοινωνική Δημογραφία

Βαςεις δεδομενων 1. Δρ. Αλζξανδροσ Βακαλουδθσ

17. Πολυδιάςτατοι πίνακεσ

Επιχειρηςιακή Ζρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

Ραραμετροποίθςθ ειςαγωγισ δεδομζνων περιόδων

Εκκλθςιαςτικό Δίκαιο ΙΙΙ (Μεταπτυχιακό)

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

Τεχνολογία Περιβάλλοντοσ: Διαχείριςθ Στερεών Αποβλιτων Ενότθτα 4: Μθχανικόσ Διαχωριςμόσ. Κορνάροσ Μιχαιλ Πολυτεχνικι Σχολι Τμιμα Χθμικών Μθχανικών

Δζντρα. Δομζσ Δεδομζνων

Παράςταςη ςυμπλήρωμα ωσ προσ 1

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 2: Σο Τλικό του Τπολογιςτι

Αγροτικι - Κοινοτικι Ανάπτυξθ

Γενικόσ Δείκτησ Τιμών Καταναλωτή (ΔΤΚ) Γενικοφ ΔΤΚ. Εκπαίδευςη Αλκοολοφχα ποτά & Καπνό Χρηςιμοποιήςαμε τα λογιςμικά Excel, PowerPoint & Piktochart.

Βάρειπ Δεδξμέμωμ. Επγαστήπιο ΙΙ. Τμήμα Πλεπουοπικήρ ΑΠΘ

Ψθφιακι Επεξεργαςία ιματοσ

Ειδικά Θζματα Βάςεων Δεδομζνων

Αγροτικι - Κοινοτικι Ανάπτυξθ

Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2

Ειδικά Θζματα Βάςεων Δεδομζνων

Αγροτική - Κοινοτική Ανάπτυξη

Γενικά Μαθηματικά ΙΙ

Επιχειρηςιακή Ζρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

Transcript:

Ειδικά Θζματα Βάςεων Δεδομζνων Ενότθτα 12: Ευρετιρια Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικϊν Πλθροφορικισ ΤΕ

Άδειεσ Χριςθσ Το παρόν εκπαιδευτικό υλικό υπόκειται ςε άδειεσ χριςθσ Creative Commons. Για εκπαιδευτικό υλικό, όπωσ εικόνεσ, που υπόκειται ςε άλλου τφπου άδειασ χριςθσ, θ άδεια χριςθσ αναφζρεται ρθτϊσ.

Χρθματοδότθςθ Το παρόν εκπαιδευτικό υλικό ζχει αναπτυχκεί ςτα πλαίςια του εκπαιδευτικοφ ζργου του διδάςκοντα. Το ζργο «Ανοικτά Ακαδθμαϊκά Μακιματα ςτο ΤΕΙ Κεντρικισ Μακεδονίασ» ζχει χρθματοδοτιςει μόνο τθ αναδιαμόρφωςθ του εκπαιδευτικοφ υλικοφ. Το ζργο υλοποιείται ςτο πλαίςιο του Επιχειρθςιακοφ Προγράμματοσ «Εκπαίδευςθ και Δια Βίου Μάκθςθ» και ςυγχρθματοδοτείται από τθν Ευρωπαϊκι Ζνωςθ (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εκνικοφσ πόρουσ.

Ενότθτα 12 Ευρετιρια Δρ. Τςιμπίρθσ Αλκιβιάδθσ

Περιεχόμενα ενότθτασ Ευρετιρια Πρωτεφον Ευρετιριο Ευρετιριο Συςτάδων Ευρετιρια: Επανάλθψθ Δευτερεφον Ευρετιριο Data blocks Τεχνικά ηθτιματα ςτα ευρετιρια Βελτίωςθ ταχφτθτασ εφρεςθσ Αναγκαιότθτα χριςθσ ευρετθρίων Αποφυγι δθμιουργίασ ευρετθρίων Τρόποσ δθμιουργίασ ευρετθρίων

Σκοποί ενότθτασ Στθν ενότθτα αυτι δίνεται μεγάλθ ςθμαςία ςτο να κατανοθκοφν τα είδθ των ευρετθρίων, τα δζντρα αναηιτθςθσ, τα Β-δζντρα και τα ευρετιρια κατακερματιςμοφ.

Ευρετιρια Η δομι προςπζλαςθσ (access path) ςυνικωσ ορίηεται ςε ζνα πεδίο του αρχείου που λζγεται πεδίο ευρετθριοποίθςθσ (indexing field) Πρωτεφον ευρετιριο (primary index): οριςμζνο ςτο κλειδί διάταξθσ του αρχείου. Ευρετιριο ςυςτάδων (clustering index): οριςμζνο ςτο πεδίο διάταξθσ το οποίο όμωσ δεν είναι κλειδί. Δευτερεφον ευρετιριο (secondary index): οριςμζνο ςε πεδία διαφορετικά του κλειδιοφ διάταξθσ. Πόςα ευρετήρια ςε ζνα αρχείο δεδομζνων μπορεί να ζχουμε;

Πρωτεφον Ευρετιριο Πρωτεφον ευρετιριο (primary index): οριςμζνο ςτο κλειδί διάταξθσ του αρχείου. Για κάκε block του αρχείου (μθ πυκνό ευρετιριο) θ εγγραφι i του ευρετθρίου είναι τθσ μορφισ (<Κ(i), P(i)>) όπου: Κ(i): θ τιμι του πρωτεφοντοσ κλειδιοφ τθσ πρϊτθσ εγγραφισ του block (άγκυρα του block). P(i): δείκτθσ προσ το block.

Πρωτεφον Ευρετιριο Το ευρετιριο αρχείου είναι ζνα διατεταγμζνο αρχείο με ςτακεροφ μικουσ εγγραφζσ Το πρωτεφον ευρετιριο είναι ζνα μη πυκνό ευρετιριο Το μζγεθοσ του αρχείου ευρετθρίου είναι μικρότερο από του αρχείου δεδομζνων.

Πρωτεφον Ευρετιριο Παράδειγμα: Ζςτω διατεταγμζνο αρχείο με r = 30.000 εγγραφζσ, μζγεκοσ block B = 1024 bytes, ςτακεροφ μεγζκουσ εγγραφζσ μεγζκουσ R = 100 bytes, όπου το πεδίο κλειδιοφ διάταξθσ ζχει μζγεκοσ V = 9 bytes, μθ εκτεινόμενθ καταχϊρθςθ. Καταςκευάηουμε πρωτεφον ευρετιριο, μζγεκοσ δείκτθ block P = 6 bytes. Μζγεκοσ αρχείου δεδομζνων: 3.000 blocks Μζγεκοσ αρχείου ευρετθρίου: 45 blocks

Πρωτεφον Ευρετιριο ΑΝΑΖΗΤΗΣ Δυαδικι αναηιτθςθ ςτο πρωτεφον ευρετιριο Ανάγνωςθ του block από το αρχείο δεδομζνων

Πρωτεφον Ευρετιριο Παράδειγμα: Ζςτω διατεταγμζνο αρχείο με r = 30.000 εγγραφζσ, μζγεκοσ block B = 1024 bytes, ςτακεροφ μεγζκουσ εγγραφζσ μεγζκουσ R = 100 bytes, όπου το πεδίο κλειδιοφ διάταξθσ ζχει μζγεκοσ V = 9 bytes, μθ εκτεινόμενθ καταχϊρθςθ. Καταςκευάηουμε πρωτεφον ευρετιριο, μζγεκοσ δείκτθ block P = 6 bytes Μζγεκοσ αρχείου δεδομζνων: 3.000 blocks - Μζγεκοσ αρχείου ευρετθρίου: 45 blocks Αναηιτθςθ χωρίσ ευρετιριο: log 3.000 = 12 blocks Αναηιτθςθ με ευρετιριο: log 45 + 1 = 7 blocks

Πρωτεφον Ευρετιριο Εισαγωγή εγγραφής 1. αλλαγές και ζηο πρωηεύομ εσρεηήριο 2. μη διαηεηαγμέμο αρτείο σπερτείλιζης 3. ζσμδεδεμέμη λίζηα εγγραθώμ σπερτείλιζης Διαγραφή εγγραφής 1. αλλαγές και ζηο πρωηεύομ εσρεηήριο 2. τρήζη ζημαδιώμ διαγραθής

Ευρετιριο Συςτάδων Ευρετιριο ςυςτάδων (clustering index): οριςμζνο ςτο πεδίο διάταξθσ το οποίο όμωσ δεν είναι κλειδί. Το μζγεθοσ του αρχείου ευρετθρίου είναι μικρότερο από του αρχείου δεδομζνων. Υπάρχει μια εγγραφι για κάκε διακεκριμζνθ τιμι του πεδίου διάταξθσ (ςυςτάδασ) του αρχείου που περιζχει: τθν τιμι αυτι. ζνα δείκτθ προσ το πρϊτο block του αρχείου δεδομζνων που περιζχει μια εγγραφι με τθν τιμι αυτι ςτο πεδίο ςυςτάδασ.

Ευρετιριο Συςτάδων Παράδειγμα: Ζςτω διατεταγμζνο αρχείο με r = 30.000 εγγραφζσ, μζγεκοσ block B = 1024 bytes, ςτακεροφ μεγζκουσ εγγραφζσ μεγζκουσ R = 100 bytes, μθ εκτεινόμενθ καταχϊρθςθ, όπου το πεδίο διάταξθσ ζχει μζγεκοσ V = 9 bytes και υπάρχουν 1000 διαφορετικζσ τιμζσ και οι εγγραφζσ είναι ομοιόμορφα κατανεμθμζνεσ ωσ προσ τισ τιμζσ αυτζσ. Υποκζτουμε ότι χρθςιμοποιοφνται άγκυρεσ block, κάκε νζα τιμι του πεδίου διάταξθσ αρχίηει ςτθν αρχι ενόσ νζου block. Καταςκευάηουμε ευρετιριο ςυςτάδων, μζγεκοσ δείκτθ block P = 6 bytes. Μζγεκοσ αρχείου δεδομζνων: 3.000 blocks Μζγεκοσ ευρετθρίου ςυςτάδων: 15 blocks

Ευρετιριο Συςτάδων ΑΝΑΖΗΤΗΣ Δυαδικι αναηιτθςθ ςτο ευρετιριο Ανάγνωςθ του block από το αρχείο δεδομζνων

Ευρετιριο Συςτάδων Παράδειγμα: Ζςτω διατεταγμζνο αρχείο με r = 30.000 εγγραφζσ, μζγεκοσ block B = 1024 bytes, ςτακεροφ μεγζκουσ εγγραφζσ μεγζκουσ R = 100 bytes, μθ εκτεινόμενθ καταχϊρθςθ, όπου το πεδίο διάταξθσ ζχει μζγεκοσ V = 9 bytes και υπάρχουν 1000 διαφορετικζσ τιμζσ και οι εγγραφζσ είναι ομοιόμορφα κατανεμθμζνεσ ωσ προσ τισ τιμζσ αυτζσ. Υποκζτουμε ότι χρθςιμοποιοφνται άγκυρεσ block, κάκε νζα τιμι του πεδίου διάταξθσ αρχίηει ςτθν αρχι ενόσ νζου block. Καταςκευάηουμε ευρετιριο ςυςτάδων, μζγεκοσ δείκτθ block P = 6 bytes. Μζγεκοσ αρχείου δεδομζνων: 3.000 blocks - Μζγεκοσ αρχείου ευρετθρίου: 15 blocks Αναηιτθςθ χωρίσ ευρετιριο: log 3.000 + ταιριάςματα ( = 3) 15 blocks Αναηιτθςθ με ευρετιριο: log 15 + 3 = 7 blocks

Ευρετιρια: Επανάλθψθ Ζνα ευρετιριο (index) είναι μια βοθκθτικι δομι αρχείου που κάνει πιο αποδοτικι τθν αναηιτθςθ μιασ εγγραφισ ςε ζνα αρχείο Το ευρετιριο κακορίηεται (ςυνικωσ) ςε ζνα γνϊριςμα του αρχείου Συχνά αποκαλείται access path (μονοπάτι πρόςβαςθσ) ςτο γνϊριςμα Μια καταχϊρθςθ / εγγραφι ςτο ευρετιριο ζχει τθν μορφι: Τιμι Πεδίου Ευρετθριοποίςθσ Δείκτθσ ςτο block τθσ εγγραφισ

Ευρετιρια: Επανάλθψθ Το αρχείο ευρετθρίου καταλαμβάνει μικρότερο χϊρο από το ίδιο το αρχείο δεδομζνων (οι καταχωριςεισ είναι μικρότερεσ και λιγότερεσ). Κάνοντασ δυαδικι αναηιτθςθ ςτο ευρετιριο βρίςκουμε τον δείκτθ ςτο block όπου αποκθκεφεται θ εγγραφι που κζλουμε.

Ευρετιρια: Επανάλθψθ Πυκνό Ευρετιριο μια καταχϊρθςθ για κάκε εγγραφι του δίςκου Μθ Πυκνό Ευρετιριο Ευρετιριο ςυςτάδων (clustered index) ςτο πεδίο διάταξθσ το οποίο όμωσ δεν είναι κλειδί - γενικότερα, όταν θ διάταξθ των καταχωριςεων ςτο ευρετιριο ακολουκεί τθ διάταξθ των εγγραφϊν ςτο αρχείο. Ευρετιριο χωρίσ ςυςτάδεσ (unclustered index) Πρωτεφον Δευτερεφον (πλιρωσ αντεςτραμμζνο ευρετιριο)

Ευρετιρια: Επανάλθψθ Τα ευρετιρια (ενόσ επιπζδου) χωρίηονται ςε: Πρωτεφον Ευρετιριο: ορίηεται ςε ζνα αρχείο που είναι διατεταγμζνο ςτο (κφριο) κλειδί. Περιλαμβάνει μια καταχϊρθςθ για κάκε block. Η καταχϊρθςθ ζχει τθν τιμι του κλειδιοφ τθσ πρϊτθσ εγγραφισ ςτο block. (ςυχνά ονομάηεται, μθ-πυκνό ευρετιριο --- sparse index ι non-dense index. Ευρετιριο Συςτάδων (Clustering Index): ορίηεται ςε ζνα αρχείο που είναι διατεταγμζνο ςε γνϊριςμα που δεν είναι κλειδί. Περιλαμβάνει μια καταχϊρθςθ για κάκε ξεχωριςτι τιμι του γνωρίςματοσ. Η καταχϊρθςθ δείχνει το πρϊτο block που περιζχει εγγραφζσ με αυτι τθν τιμι γνωρίςματοσ

Δευτερεφον Ευρετιριο Δευτερεφον Ευρετιριο (Secondary Index): ορίηεται ςε ζνα αρχείο που είναι μθ διατεταγμζνο ςτο γνϊριςμα. Περιλαμβάνει μια καταχϊρθςθ για κάκε Εγγραφι (ςυχνά ονομάηεται, πυκνό ευρετιριο -dense index). οριςμζνο ςε πεδία διαφορετικά του κλειδιοφ διάταξθσ.

Δευτερεφον Ευρετιριο Περίπτωςθ 1: Το πεδίο ευρετθριοποίθςθσ είναι κλειδί (καλείται και δευτερεφον κλειδί). Υπάρχει μια εγγραφι για κάκε εγγραφι του αρχείου που περιζχει: τθν τιμι του δευτερεφοντοσ κλειδιοφ για αυτιν τθν εγγραφι. ζνα δείκτθ προσ το block (ι τθν εγγραφι) του αρχείου δεδομζνων που περιζχει τθν εγγραφι με τθν τιμι αυτι

Δευτερεφον Ευρετιριο Το ευρετιριο αρχείου είναι ζνα διατεταγμζνο αρχείο με ςτακεροφ μικουσ εγγραφζσ. Το δευτερεφον ευρετιριο είναι ζνα πυκνό ευρετιριο. Το μζγεθοσ του δευτερεφοντοσ ευρετθρίου είναι μικρότερο από του αρχείου δεδομζνων (αν και μεγαλφτερο από το πρωτεφον).

Δευτερεφον Ευρετιριο Παράδειγμα: Ζςτω αρχείο με r = 30.000 εγγραφζσ, μζγεκοσ block B = 1024 bytes, ςτακεροφ μεγζκουσ εγγραφζσ μεγζκουσ R = 100 bytes, μθ εκτεινόμενθ καταχϊρθςθ, όπου το πεδίο κλειδιοφ ζχει μζγεκοσ V = 9 bytes αλλά δεν είναι πεδίο διάταξθσ,. Καταςκευάηουμε δευτερεφον ευρετιριο, μζγεκοσ δείκτθ block P = 6 bytes. Μζγεκοσ αρχείου δεδομζνων: 3.000 blocks Μζγεκοσ αρχείου ευρετθρίου: 442 blocks 45 για πρωτεφον

Δευτερεφον Ευρετιριο ΑΝΑΖΗΤΗΣ Δυαδικι αναηιτθςθ ςτο δευτερεφον ευρετιριο Ανάγνωςθ του block από το αρχείο δεδομζνων

Δευτερεφον Ευρετιριο Παράδειγμα: Ζςτω αρχείο με r = 30.000 εγγραφζσ, μζγεκοσ block B = 1024 bytes, ςτακεροφ μεγζκουσ εγγραφζσ μεγζκουσ R = 100 bytes, μθ εκτεινόμενθ καταχϊρθςθ, όπου το πεδίο κλειδιοφ ζχει μζγεκοσ V = 9 bytes αλλά δεν είναι πεδίο διάταξθσ. Καταςκευάηουμε δευτερεφον ευρετιριο, μζγεκοσ δείκτθ block P = 6 bytes. Μζγεκοσ αρχείου δεδομζνων: 3.000 blocks - Μζγεκοσ αρχείου ευρετθρίου: 442 blocks Αναηιτθςθ χωρίσ ευρετιριο: 3.000/2 = 1500 blocks Αναηιτθςθ με ευρετιριο: log 442 + 1 = 10 blocks Για πρωτεφον ιταν 45 και 7 blocks αντίςτοιχα

Δευτερεφον Ευρετιριο Περίπτωςθ 2: Το πεδίο ευρετθριοποίθςθσ δεν είναι κλειδί 1. Πυκνό ευρετιριο: μία καταχϊρθςθ για κάκε εγγραφι. 2. Μεταβλθτοφ μικουσ εγγραφζσ με ζνα επαναλαμβανόμενο πεδίο για το δείκτθ. 3. Μία εγγραφι ευρετθρίου για κάκε τιμι του πεδίου ευρετθριοποίθςθσ + ζνα ενδιάμεςο επίπεδο για τθν διαχείριςθ των πολλαπλϊν δεικτϊν.

Δευτερεφον Ευρετιριο Αναηιτθςθ: Δυαδικι αναηιτθςθ ςτο δευτερεφον ευρετιριο. Ανάγνωςθ του block (ι των blocks) από το ενδιάμεςο επίπεδο. Ανάγνωςθ των blocks (ςυνικωσ τόςα όςεσ οι εγγραφζσ που ταιριάηουν) από το αρχείο δεδομζνων.

Δευτερεφον Ευρετιριο Ειςαγωγι: Πολφ απλι αν δεν αφορά ειςαγωγι νζασ τιμισ ςτο ευρετιριο. Εφκολθ θ λογικι διάταξθ των εγγραφϊν με βάςθ το πεδίο ευρετθριοποίθςθσ. Ανακτιςεισ με ςφνκετεσ ςυνκικεσ.

Data blocks Η βάςθ δεδομζνων αποκθκεφει τα δεδομζνα ςτο ςκλθρό δίςκο ςε ζνα ι πολλά αρχεία. Συνικωσ ςε πολλά εκτόσ από τθν MS Access που αποκθκεφει ςε ζνα. Η μονάδα ανάκτθςθσ ςειρϊν ενόσ πίνακα ονομάηεται data block. Η ανάκτθςθ από το ςκλθρό δίςκο είναι το πιο αργό κομμάτι εκτζλεςθσ ενόσ ερωτιματοσ. Εςείσ μπορείτε να ρυκμίςετε το μζγεκοσ ενόσ data block το οποίο εξαρτάται από: το μζγεκοσ το πίνακα το είδοσ των ερωτθμάτων.

Τεχνικά ηθτιματα ςτα ευρετιρια Υπάρχει ζνα κρυφό το οποίο δθλϊνει τον κωδικό τθσ κάκε γραμμισ Rowid ςτθν Oracle Τα ευρετιρια ςυςχετίηουν το rowid με ζνα πεδίο (ι πεδια) Το κάκε rowid ξζρουμε ςε ποιο data block είναι αποκθκευμζνο με απϊτερο ςκοπό να προςφζρουμε ταξινόμθςθ με βάςθ αυτό το πεδιο

Παράδειγμα Πίνακασ students με 10 000 εγγραφζσ Students (id, name, AEM, ) Εμφάνιςε τα ςτοιχεία του φοιτθτι με ΑΕΜ 3543453 Select * from students where AEM= 3543453 Χωρίσ ευρετιριο Σχόλιο! Στθν καλφτερθ περίπτωςθ μία ςφγκριςθ, ςτθ χειρότερθ 10 000 μζςοσ όροσ 5000 ςυγκρίςεισ.

Παράδειγμα με ευρετιριο Ειςάγουμε ζνα ευρετιριο ςτο πεδίο AEM. Αυτό παρζχει ταξινομθμζνεσ τισ τιμζσ του ΑΕΜ με δείκτθ ςτο rowid (ςκοπόσ μασ είναι να βροφμε το rowid το οποίο περιζχει τα ςτοιχεία για το ΑΕΜ που επιηθτοφμε). Εφόςον όμωσ ςτο ευρετιριο οι τιμζσ είναι ταξινομθμζνεσ, θ αναηιτθςθ γίνεται δυαδικά. Γι αυτό θ εφρεςθ κα γίνει πολφ ποιο γριγορα.

Βελτίωςθ ταχφτθτασ εφρεςθσ Με τθν χριςθ ευρετθρίων υπάρχει μία μείωςθ των αναηθτιςεων και βελτίωςθ τθσ ταχφτθτασ ταυτόχρονα τθσ τάξεωσ: αν Ν είναι το πλικοσ των εγγραφϊν ο μζςοσ όροσ αναηθτιςεων μειϊνεται από Ν/2 ςε log 2 N -1

Αναγκαιότθτα χριςθσ ευρετθρίων Μόνο ςτα πεδία τα οποία χρθςιμοποιοφνται ςε κριτιρια (WHERE) Συναρτιςεισ (MAX, MIN ) Ομαδοποίθςθ (GROUP BY) Ταξινόμθςθ (ORDER BY) (και όχι ςτο SELECT) Σε ερωτιματα Θυμθκείτε τον κανόνα 80/20 Σε πεδία που παρουςιάηουν ποικιλία διαφορετικϊν τιμϊν

Αποφυγι δθμιουργίασ ευρετθρίων Η ειςαγωγι ευρετθρίων δεν είναι πολφ χριςιμθ πάντοτε καλό είναι να αποφεφγεται θ δθμιουργία τουσ όταν: Ζχετε ζνα πεδίο τφπου Bool Οι πίνακεσ είναι μικροί Σχόλιο! Δεν είναι καλό να τοποκετοφνται ευρετιρια ςε μικροφσ πίνακεσ γιατί αποκθκεφονται ςε ελάχιςτα data blocks.

Τρόποσ δθμιουργίασ ευρετθρίων Δθμιουργοφνται με εντολι CREATE CREATE INDEX student_aem_idx ON Students(AEM); Δθμιουργεί ζνα ευρετιριο ςτο πεδίο AEM του πίνακα Students Καταργοφνται τα ευρετιρια με τθν εντολι DROP DROP INDEX student_aem_idx Σχόλιο! Μποροφμε να ζχουμε παραπάνω από ζνα ευρετιριο ςε ζνα πεδίο αλλά εκτόσ των εξαιρζςεων γιατί δεν ζχει νόθμα.

Παρατθριςεισ ςτα ευρετιρια Δεν μποροφμε να δθμιουργιςουμε ευρετιρια ςε όψεισ γιατί ςυνικωσ τα ευρετιρια ειςάγονται ςε ξζνα κλειδιά τα οποία χρθςιμοποιοφνται ςυχνά ςε JOIN ερωτιματα.

Παράδειγμα Ζςτω ζνασ πίνακασ ΦΟΙΤΗΤΕΣ-ΜΑΘΗΜΑΤΑ-ΒΑΘΜΟΛΟΓΙΕΣ ΜΑΘΗΜΑΤΑ (ΚΩΔ.ΜΑΘΗ, ΜΑΘΗΜΑ) 10 εγγραφζσ ΦOΙΤΗΤΕΣ(AEM,ΟΝΟΜΑ, ΕΠΙΘΕΤΟ)10 000 εγγραφεσ ΒΑΘΜΟΛΟΓΙΕΣ(ΚΩΔ_ΒΑΘΜ,ΜΑΘΗΜΑ,ΒΑΘΜΟΣ) 1000 εγγραφζσ Ποιοι φοιτθτζσ πζραςαν το μάκθμα μακθματικά; SELECT ΑΔΜ, ΔΠΙΘΔΤΟ, ΟΝΟΜΑ, ΜΑΘΗΜΑ, ΒΑΘΜΟΣ FROM ΦΟΙΤΗΤΔΣ, ΜΑΘΗΜΑΤΑ, ΒΑΘΜΟΛΟΓΙΔΣ WHERE ΜΑΘΗΜΑΤΑ.ΚΩΓΙΚΟΣ_ΜΑΘΗΜΑΤΟΣ = ΒΑΘΜΟΛΟΓΙΔΣ.ΚΩΓΙΚΟΣ_ΜΑΘΗΜΑΤΟΣ AND ΦΟΙΤΗΤΔΣ.ΑΔΜ = ΒΑΘΜΟΛΟΓΙΔΣ.ΑΔΜ AND ΒΑΘΜΟΛΟΓΙΔΣ.ΒΑΘΜΟΣ>=5 AND ΜΑΘΗΜΑ= "ΜΑΘΗΜΑΤΙΚΑ"

Παράδειγμα SELECT ΦΟΙΤΗΤΔΣ.ΑΔΜ, ΔΠΙΘΔΤΟ, ΟΝΟΜΑ, ΜΑΘΗΜΑ, ΒΑΘΜΟΣ FROM ΦΟΙΤΗΤΔΣ, ΜΑΘΗΜΑΤΑ, ΒΑΘΜΟΛΟΓΙΔΣ WHERE ΦΟΙΤΗΤΔΣ.ΜΑΘΗΜΑΤΑ=ΜΑΘΗΜΑΤΑ.ΚΩΓ_ΜΑΘΗΜΑΤΟΣ AND ΜΑΘΗΜΑΤΑ.ΚΩΓΙΚΟΣ_ΜΑΘΗΜΑΤΟΣ = ΒΑΘΜΟΛΟΓΙΔΣ.ΚΩΓΙΚΟΣ_ΜΑΘΗΜΑΤΟΣ AND ΦΟΙΤΗΤΔΣ.ΑΔΜ = ΒΑΘΜΟΛΟΓΙΔΣ.ΑΔΜ AND ΒΑΘΜΟΛΟΓΙΔΣ.ΒΑΘΜΟΣ>=5 AND ΜΑΘΗΜΑ= "ΜΑΘΗΜΑΤΙΚΑ" Ειςάγουμε τα παρακάτω ευρετιρια φοιτητεσ(μαθηματα) ΚΩΔΙΚΟΣ_ΜΑΘΗΜΑΤΟΣ(ΜΑΘΗΜΑΤΑ) Ακόμθ καλφτερα κα ιταν (Modules (semesterμαθηματα )

Συμπεράςματα Με τθν δθμιουργία τθσ βάςθσ δεδομζνων θ δουλειά δε ςταματά ςτθ δθμιουργία πινάκων, απαιτείται και θ δθμιουργία κατάλλθλων ευρετθρίων. Πριν τθν ειςαγωγι αυτϊν ελζγξτε: Το μζγεκοσ πίνακα Τθν ποικιλία των τιμϊν Τθν χριςθ τουσ ςε WHERE, GROUP BY, ORDER BY.