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

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

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

Transcript

1 Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-1

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

3 Θα μιλήσουμε για Τύποι Ταξινομημένων Ευρετηρίων ενός επιπέδου Πρωτεύοντα Ευρετήρια Ευρετήρια Συστάδες Δευτερεύοντα Ευρετήρια Ευρετήρια Πολλών Επιπέδων Δυναμικά Ευρετήρια Πολλών Επιπέδων με χρήση B-Δένδρων και B+-Δένδρων Ευρετήρια σε Πολλαπλά Κλειδιά Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-3

4 Βασικές Έννοιες Τα ευρετήρια είναι μηχανισμοί που χρησιμοποιούνται για επιτάχυνση της προσπέλασης σε επιθυμητά δεδομένα. Π.χ., ο συγγραφέας σε ένα κατάλογο βιβλιοθήκης Κλειδί αναζήτησης ένα πεδίο που χρησιμοποιείται για αναζήτηση στις εγγραφές ενός αρχείου. Ένα αρχείο ευρετηρίου αποτελείται από εγγραφές (ονομάζονται καταχωρήσεις ευρετηρίου) της μορφής Κλειδί αναζήτησης δείκτης Τα αρχεία των ευρετηρίων τυπικά είναι πολύ μικρότερα από το αρχικό αρχείο Δύο βασικά είδη ευρετηρίων : Διατεταγμένα ευρετήρια: τα κλειδιά αναζήτησης αποθηκεύονται ταξινομημένα Ευρετήρια Κατακερματισμού Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-4

5 Μετρικές Αποτίμησης των Ευρετηρίων Οι τύποι προσπελάσεων που υποστηρίζονται αποτελεσματικά. Π.χ., εγγραφές με συγκεκριμένη τιμή στο πεδίο Ή εγγραφές με τιμή πεδίου σε συγκεκριμένο διάστημα τιμών. Χρόνος Προσπέλασης Χρόνος εισαγωγής Χρόνος Διαγραφής Επιπλέον απαιτούμενος χώρος Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-5

6 Ευρετήρια σαν Μέθοδοι Προσπέλασης Ένα ευρετήριο ενός επιπέδου είναι ένα βοηθητικό αρχείο που κάνει πιο αποτελεσματική την αναζήτηση μιας εγγραφής σε ένα αρχείο δεδομένων. Το ευρετήριο συνήθως ορίζεται σε ένα πεδίο του αρχείου (αν και μπορεί να ορισθεί σε πολλά πεδία) Μια μορφή ευρετηρίου είναι ένα αρχείο με καταχωρήσεις <τιμή πεδίου, δείκτης στην εγγραφή>, που είναι ταξινομημένο με τιμή πεδίου Το ευρετήριο λέγεται δρόμος προσπέλασης στο πεδίο. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-6

7 Ευρετήρια σαν Μέθοδοι Προσπέλασης(συν.) Το αρχείο του ευρετηρίου συνήθως καταλαμβάνει σημαντικά μικρότερο πλήθος μπλοκ από ότι το αρχείο δεδομένων επειδή οι καταχωρήσεις του είναι κατά πολύ μικρότερες Μια δυαδική αναζήτηση στο ευρετήριο παράγει ένα δείκτη στην εγγραφή του αρχείου Τα ευρετήρια μπορούν επίσης να χαρακτηρισθούν σαν πυκνά ή αραιά Ένα πυκνό ευρετήριο έχει μια καταχώρηση ευρετηρίου για κάθε αναζήτηση τιμής κλειδιού (και επομένως κάθε εγγραφή) στο αρχείο δεδομένων. Ένα αραιό (ή μη πυκνό) ευρετήριο, από την άλλη, έχει καταχωρήσεις ευρετηρίου μόνο για κάποιες από τις τιμές αναζήτησης. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-7

8 Ευρετήρια σαν Μέθοδοι Προσπέλασης(συν.) Παράδειγμα: Έστω το αρχείο δεδομένων ΕΡΓΑΖΟΜΕΝΟΣ(ΟΝΟΜΑ, ΑΡ_ΤΑΥΤ, ΔΙΕΥΘΥΝΣΗ, ΕΡΓΑΣΙΑ, ΜΙΣΘΟΣ,... ) Υποθέστε ότι: μέγεθος εγγραφής R=150 bytes μέγεθος μπλοκ B=512 bytes r=30000 εγγραφές Τότε, έχουμε: παράγοντας ομαδοποίησης Bfr= B div R= 512 div 150= 3 εγγραφές/μπλοκ πλήθος μπλοκ αρχείου b= (r/bfr)= (30000/3)= μπλοκ Για ένα ευρετήριο στο πεδίο ΑΡ_ΤΑΥΤ, υποθέστε μέγεθος πεδίου V ΑρΤΑΥΤ =9 bytes, υποθέστε μέγεθος δείκτη εγγραφής P R =7 bytes. Τότε: μέγεθος καταχώρησης ευρετηρίου R I =(V SSN + P R )=(9+7)=16 bytes παράγοντας ομαδοποίησης ευρετηρίου Bfr I = B div R I = 512 div 16= 32 κατχ/μπλοκ πλήθος μπλοκ ευρετηρίου b= (r/ Bfr I )= (30000/32)= 938 μπλοκ η δυαδική αναζήτηση απαιτεί log 2 bi= log 2 938= 10 μπλοκ προσπελάσεις Σε σχέση με το κόστος της μέσης γραμμικής αναζήτησης που είναι: (b/2)= 10000/2= 5000 μπλοκ προσπελάσεις Αν οι εγγραφές του αρχείου είναι ταξινομημένες, η δυαδική αναζήτηση θα ήταν: log 2 b= log = 14 μπλοκ προσπελάσεις Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-8

9 Τα ευρετήρια ορίζονται σε ένα ή περισσότερα πεδία που ονομάζονται πεδίο(α) ή γνώρισμα(τα) ευρετηριοποίησης. Πρωτεύον Ευρετήριο Ευρετήριο Συστάδων Δευτερεύον Ευρετήριο Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-9

10 Τύποι Ευρετηρίων ενός Επιπέδου Πρωτεύον Ευρετήριο Ορίζεται σε ένα ταξινομημένο αρχείο δεδομένων Το αρχείο δεδομένων είναι ταξινομημένο σε ένα πεδίο κλειδί Περιλαμβάνει μια καταχώρηση ευρετηρίου για κάθε μπλοκ στο αρχείο δεδομένων η καταχώρηση ευρετηρίου έχει την τιμή του πεδίου κλειδιού για την πρώτη εγγραφή στο μπλοκ, που ονομάζεται άγκυρα του μπλοκ Ένα παρόμοιο σχήμα μπορεί να χρησιμοποιεί την τελευταία εγγραφή σε ένα μπλοκ. Ένα πρωτεύον ευρετήριο είναι ένα μη πυκνό (αραιό) ευρετήριο, αφού έχει μ ια καταχώρηση για κάθε μπλοκ του αρχείου δεδομένων στο δίσκο και στα κλειδιά των εγγραφών άγκυρα παρά για κάθε τιμή αναζήτησης. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-10

11 Πρωτεύον ευρετήριο στο πεδίο κλειδί ταξινόμησης Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-11

12 ΑΡ_ΚΥΚΛ ΜΑΡΚΑ ΜΟΝΤΕΛΟ Ευρετήριο AAA1212 BBA1212 ΑΑΑ1212 FIAT PUNTO AAB2343 FORD ESCORT BAA2356 OPEL ASTRA BBΑ2112 FIAT STYLO BBB2343 FORD MONDEO EAA2256 CITROEN SAXO YEA1412 YEΑ1412 FIAT PUNTO YYZ5667 SEAT IBIZA XXB2468 OPEL OMEGA Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-12

13 Τύποι Ευρετηρίων ενός Επιπέδου Ευρετήριο Συστάδα Ορίζεται σε ένα ταξινομημένο αρχείο Το αρχείο δεδομένων είναι ταξινομημένο σε ένα πεδίο που δεν είναι κλειδί, σε αντίθεση από το πρωτεύον ευρετήριο, που απαιτεί ότι το πεδίο ταξινόμησης στο αρχείο δεδομένων έχει μια διακριτή τιμή για κάθε εγγραφή. Περιλαμβάνει μια καταχώρηση ευρετηρίου για κάθε διακριτή τιμή του πεδίου η καταχώρηση ευρετηρίου δείχνει στο πρώτο μπλοκ δεδομένων που περιέχει εγγραφές με αυτή την τιμή πεδίου. Είναι ένα ακόμη παράδειγμα μη πυκνού ευρετηρίου όπου η εισαγωγή και η διαγραφή είναι σχετικά εύκολη με ένα ευρετήριο συστάδα. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-13

14 Ένα παράδειγμα ευρετηρίου συστάδας Ένα ευρετήριο συστάδα στο πεδίο ταξινόμησης ΚΩΔ_ΤΜΗΜ που δεν είναι κλειδί στο αρχείο ΕΡΓΑΖΟΜΕΝΟΣ. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-14

15 ΑΡ_ΤΑΥΤ ΑΡΚΥΚΛ ΠΟΣΟΣΤ_ΙΔ Ευρετήριο A Α Β Α Α Α Α Α Β Β Β Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-15

16 ΑΡ_ΤΑΥΤ ΑΡΚΥΚΛ ΠΟΣΟΣΤ_ΙΔ Ευρετήριο A Α Α Α Α Α Α Α δείκτης μπλοκ null δείκτης μπλοκ Α Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-16

17 Ένα ακόμη παράδειγμα ευρετηρίου συστάδας Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-17

18 Τύποι Ευρετηρίων ενός Επιπέδου Δευτερεύον Ευρετήριο Ένα δευτερεύον ευρετήριο υποστηρίζει ένα δευτερεύοντα τρόπο προσπέλασης ενός αρχείου για το οποίο υπάρχει ήδη πρωτεύουσα οργάνωση. Το δευτερεύον ευρετήριο μπορεί να είναι σε ένα πεδίο που είναι υποψήφιο κλειδί και έχει μοναδική τιμή σε κάθε εγγραφή, ή ένα πεδίο που δεν είναι κλειδί με διπλές τιμές. Το ευρετήριο είναι ένα ταξινομημένο αρχείο με δύο πεδία. Το πρώτο πεδίο είναι ίδιου τύπου δεδομένων με κάποιο πεδίο που δεν είναι κλειδί του αρχείου δεδομένων και είναι το πεδίο ευρετηρίου. Το δεύτερο πεδίο είναι ή δείκτης μπλοκ ή δείκτης εγγραφής. Μπορεί να υπάρχουν πολλά δευτερεύοντα ευρετήρια (και επομένως, πεδία ευρετηρίασης) για το ίδιο αρχείο. Περιλαμβάνει μια καταχώρηση για κάθε εγγραφή στο αρχείο δεδομένων επομένως, είναι ένα πυκνό ευρετήριο. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-18

19 Παράδειγμα ενός Πυκνού Πρωτεύοντος Ευρετηρίου Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-19

20 Αρχεία Πυκνών Ευρετηρίων Πυκνό Ευρετήριο για κάθε τιμή του κλειδιού αναζήτησης υπάρχει καταχώρηση στο ευρετήριο. Πχ. Ευρετήριο στον κωδικό iδιδάσκοντα Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-20

21 Αρχεία Πυκνών Ευρετηρίων (συν.) πυκνό ευρετήριο στο ονομ_τμημ με ταξινόμηση του αρχείου στο ονομ_τμημ Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-21

22 Αραιά αρχεία ευρετηρίων Αραιό Ευρετήριο: περιέχει καταχωρήσεις εγγραφών ευρετηρίου μόνο για μερικές τιμές του κλειδιού αναζήτησης. Εφαρμόζεται όταν οι εγγραφές είναι διατεταγμένες σειριακά στο κλειδί αναζήτησης Για τον εντοπισμό μιας εγγραφής με τιμή κλειδιού αναζήτησης K: Βρίσκουμε την εγγραφή ευρετηρίου με τη μεγαλύτερη τιμή κλειδιού αναζήτησης < K Σειριακή αναζήτηση αρχίζοντας από την εγγραφή που δείχνει η εγγραφή ευρετηρίου Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-22

23 Αραιά αρχεία ευρετηρίων Σε σύγκριση με τα πυκνά ευρετήρια: Λιγότερο χώρο και λιγότερη συντήρηση για εισαγωγές και διαγραφές. Γενικά πιο αργά από τα πυκνά ευρετήρια όσο αφορά τον εντοπισμό εγγραφών Καλή επιλογή: αραιό ευρετήριο με μια καταχώρηση ευρετηρίου για κάθε μπλοκ στο αρχείο, που αντιστοιχεί στην ελάχιστη τιμή κλειδιού αναζήτησης στο μπλοκ. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-23

24 Ένα Παράδειγμα Δευτερεύοντος Ευρετηρίου Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-24

25 Ιδιότητες Τύπων Ευρετηρίων Τύπος Ευρετηρίου Πλήθος Καταχωρήσεων του Ευρετηρίου (Πρώτου Επιπέδου) Πυκνό η Μη Πυκνό Άγκυρες μπλοκ στο Αρχείο Δεδομένων Πρωτεύον Ευρετήριο Πλήθος μπλοκ του αρχείου δεδομένων Μη πυκνό Ναι Ευρετήριο Συστάδων πλήθος διαφορετικών τιμών του πεδίου Μη Πυκνό Ναι/όχι α ευρετηρίασης Δευτερεύον Ευρετήριο πάνω σε πεδίο-κλειδί Πλήθος εγγραφών αρχείου δεδομένων Πυκνό όχι Δευτερεύον Ευρετήριο πάνω σε πεδίο-μη κλειδί Πλήθος εγγραφών β η πλήθος διαφορετικών τιμών του πεδίου ευρετηριοποίησης γ Πυκνό ή μη πυκνό όχι Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-25

26 Ευρετήρια Πολλών Επιπέδων Επειδή ένα ευρετήριο ενός επιπέδου είναι ένα ταξινομημένο αρχείο, μπορούμε να δημιουργήσουμε ένα πρωτεύον ευρετήριο στο ίδιο το ευρετήριο Στην περίπτωση αυτή, το αρχικό αρχείο ευρετηρίου ονομάζεται πρώτο επίπεδο ευρετηρίου και το ευρετήριο του ευρετηρίου ονομάζεται δεύτερο επίπεδο ευρετηρίου. Μπορούμε να επαναλάβουμε τη διαδικασία αυτή, δημιουργώντας ένα τρίτο, τέταρτο... επίπεδο, μέχρι που όλες οι καταχωρήσεις στο ψηλότερο επίπεδο να χωράνε σε ένα μπλοκ μνήμης. Ένα ευρετήριο πολλών επιπέδων μπορεί να δημιουργηθεί οποιοδήποτε τύπο ευρετηρίου πρώτου επιπέδου (πρωτεύον, δευτερεύον, συστάδα) όσο το πρώτο επίπεδο ευρετηρίου αποτελείται από περισσότερα από ένα μπλοκ δίσκου Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-26

27 Πρωτεύον Ευρετήριο δύο επιπέδων Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-27

28 Ευρετήριο πολλών επιπέδων Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-28

29 Ευρετήρια Πολλών Επιπέδων Ένα τέτοιο ευρετήριο πολλών επιπέδων είναι μια μορφή δένδρου αναζήτησης Ωστόσο, η εισαγωγή και η διαγραφή καταχωρήσεων στο ευρετήριο αποτελεί σοβαρό πρόβλημα επειδή κάθε επίπεδο του ευρετηρίου είναι ένα ταξινομημένο αρχείο. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-29

30 Δομή Ευρετηρίου Καταχωρήσεις Ευρετηρίου Εγγραφές Αρχείου σε συστάδα Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-30

31 Δομή Ευρετηρίου Καταχωρήσεις Ευρετηρίου Εγγραφές Αρχείου δενδρικό ευρετήριο χωρίς συστάδα Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-31

32 Ενημέρωση Ευρετηρίου: Διαγραφή Αν η εγγραφή που διαγράφεται ήταν η μόνη με αυτήν την τιμή κλειδιού αναζήτησης, η τιμή διαγράφεται και από το ευρετήριο. Διαγραφή καταχώρησης ευρετηρίου ενός επιπέδου : Πυκνά ευρετήρια η διαγραφή του κλειδιού αναζήτησης μοιάζει με διαγραφή εγγραφής από αρχείο. Αραιά ευρετήρια αν υπάρχει καταχώρηση του κλειδιού αναζήτησης στο αρχείο, διαγράφεται αντικαθιστώντας την με την τιμή του επόμενου κλειδιού αναζήτησης στο αρχείο (με την διάταξη του κλειδιού αναζήτησης). αν η τιμή του επόμενου κλειδιού έχει ήδη μια καταχώρηση ευρετηρίου, η καταχώρηση διαγράφεται αντί να αντικατασταθεί Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-32

33 Ενημέρωση Ευρετηρίου: Εισαγωγή Εισαγωγή σε ευρετήριο ενός επιπέδου : Αναζήτηση με τιμή κλειδιού αυτήν που έχει η εγγραφή που θα εισαχθεί. Πυκνά ευρετήρια αν η τιμή του κλειδιού αναζήτησης δεν εμφανίζεται στο ευρετήριο εισάγεται. Αραιά ευρετήρια αν το ευρετήριο αποθηκεύει μια καταχώρηση για κάθε μπλοκ του αρχείου, δεν χρειάζεται κάποια αλλαγή εκτός αν δημιουργείται ένα νέο μπλοκ. Αν δημιουργηθεί ένα νέο μπλοκ, η πρώτη τιμή κλειδιού αναζήτησης που εμφανίζεται στο νέο μπλοκ εισάγεται στο ευρετήριο. Εισαγωγές και διαγραφές σε ευρετήρια πολλών επιπέδων: οι αλγόριθμοι είναι απλές επεκτάσεις αυτών ενός επιπέδου. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-33

34 Παράδειγμα Δευτερευόντων Ευρετηρίων πρωτεύον κλειδί Η εγγραφή ευρετηρίου δείχνει σε ένα κάδο που περιέχει δείκτες σε όλες τις εγγραφές με αυτήν την τιμή κλειδιού αναζήτησης Τα δευτερεύοντα ευρετήρια πρέπει να είναι πυκνά δευτερεύον κλειδί Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-34

35 Μπορούμε να κατασκευάσουμε ευρετήρια σε δευτερεύοντα πεδία. Στην περίπτωση αυτή έχουμε διαφορετικούς τρόπους υλοποίησης Πυκνό ευρετήριο. Μια καταχώρηση για κάθε εγγραφή. Μεταβλητού μήκους εγγραφές που για κάθε τιμή του πεδίου περιέχουν μια λίστα από διευθύνσεις. Χρησιμοποίηση ενδιάμεσου επιπέδου ευρετηρίου (που χρησιμοποιείται και πιο συχνά). Υπάρχει μια καταχώρηση για κάθε διαφορετική τιμή του πεδίου με δείκτη σε δεύτερο επίπεδο που υπάρχει μια λίστα από διευθύνσεις Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-35

36 Τιμή_Πεδίου Διευθ_Μπλοκ Ξεχωριστή καταχώρηση για κάθε εγγραφή Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-36

37 Επαναλαμβανόμενο πεδίο με τις διευθύνσεις Τιμή_Πεδίου Διευθύνσεις_Μπλοκ Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-37

38 Μπλοκ με Δείκτες εγγραφών Αρχείο Δεδομένων Τιμή Πεδίο 1 2 Δείκτης Μπλοκ Χρήση Ενδιάμεσου Επιπέδου Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-38

39 Πρωτεύοντα και δευτερεύοντα ευρετήρια Τα ευρετήρια προσφέρουν σημαντικά πλεονεκτήματα όταν αναζητούμε εγγραφές. ΑΛΛΑ: Η ενημέρωση των ευρετηρίων προσθέτει επιπλέον φόρτο στις τροποποιήσεις βάσεων δεδομένων όταν ένα αρχείο τροποποιείται, πρέπει να ενημερωθεί κάθε αρχείο ευρετηρίου Η σειριακή αναζήτηση με χρήση πρωτεύοντος ευρετηρίου είναι αποτελεσματική, αλλά μια σειριακή σάρωση με χρήση δευτερεύοντος κλειδιού είναι ακριβή Κάθε προσπέλαση εγγραφής μπορεί να φέρνει καινούργιο μπλοκ από το δίσκο Η μεταφορά του μπλοκ απαιτεί περίπου 5 με 10 milliseconds έναντι περίπου 100 nanoseconds για προσπέλαση μνήμης Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-39

40 Ένας κόμβος σε ένα δένδρο αναζήτησης με δείκτες στα υποδένρα του Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-40

41 Ένα δένδρο αναζήτησης τάξεως p = 3. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-41

42 ISAM αρχεία (Indexed Sequential Access Method) Δημιουργούμε ένα δεύτερο αρχείο με μια εγγραφή για κάθε σελίδα του αρχικού αρχείου, της μορφής <πρώτο κλειδί στη σελίδα, δείκτης στη σελίδα> ταξινομημένο προς το κλειδί Το ζευγάρι <key, pointer> αναφέρονται σαν καταχώρηση. Κάθε κλειδί στο ευρετήριο αποτελεί διαχωριστή για τα περιεχόμενα των σελίδων που δείχνουν οι δείκτες. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-42

43 Πολυεπίπεδα Ευρετήρια 1 μπλοκ Στη μνήμη μπλοκ μπλοκ Αρχείο δεδομένων Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-43

44 Αρχεία ISAM (Indexed Sequential Access Method) p 0 k 1 p 1 k 2 p 2 k m p m Σελίδα του ευρετηρίου Το ζεύγος κλειδί, δείκτης αποτελεί μια καταχώρηση του ευρετηρίου (k i, p i ) Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-44

45 Αντί να γίνεται αναζήτηση στο αρχείο δεδομένων η αναζήτηση γίνεται στο ευρετήριο. Εκεί μπορεί να γίνει δυαδική αναζήτηση σε μικρότερο αρχείο. Η ιδέα είναι αν μπορώ να μεταφέρω την οργάνωση του ευρετηρίου αναδρομικά μέχρι το αρχικό βοηθητικό αρχείο να χωράει στη μνήμη. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-45

46 Σελίδες δεδομένων Σελίδες Ευρετηρίου Σελίδες Υπερχείλισης Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-46

47 Εναλλακτικά μπορούμε να υλοποιήσουμε την μέθοδο θέτοντας στα φύλα μόνο τιμή κλειδιού και διεύθυνση στο αρχείο. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-47

48 Ρίζα * 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97* Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-48

49 Ρίζα Εισαγωγή 23, 48, 41, 42 Πρωτεύουσες Σελίδες Ενδιάμεσοι κόμβοι * 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97* 23* 48* 41* 42* Υπερχείλιση Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-49

50 Ρίζα Διαγραφή 42, 51, 97 Πρωτεύουσες Σελίδες Ενδιάμεσοι κόμβοι Υπερχείλιση Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-50

51 Το κόστος της αναζήτησης σε προσπελάσεις στο δίσκο είναι όσο και το ύψος του ευρετηρίου συν την προσπέλαση στη σελίδα των δεδομένων συν τις προσπελάσεις στην υπερχείλιση. Όταν δημιουργηθεί το ISAM αρχείο οι διαγραφές και οι εισαγωγές επηρεάζουν τα φύλα. Σαν αποτέλεσμα δημιουργούνται μακρές λίστες από σελίδες υπερχείλισης. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-51

52 Η αναζήτηση στο ευρετήριο εξαρτάται από το ύψος του. Αν επομένως το πλήθος των πεδίων ανά σελίδα ευρετηρίου είναι F (λέγεται fun out) και αν N το πλήθος των πρωτευόντων σελίδων φύλων τότε η αναζήτηση απαιτεί log F N προσπελάσεις. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-52

53 Σαν μια λύση στο πρόβλημα αυτό είναι η φόρτωση των φύλων μόνο σε ένα ποσοστό (80% για παράδειγμα). Μια τέτοια οργάνωση είναι τα VSAM (Virtual Storage Access Method) αρχεία που αναπτύχθηκαν από την IBM και θεωρούνται προκάτοχοι των Β-δένδρων. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-53

54 ISAM αρχεία (συν) K1, k2 kn Αρχείο ευρετηρίου Σελ. 1 Σελ. 2 Σελ. 3 Σελ. Ν Αρχείο δεδομένων Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-54

55 ISAM αρχεία (συν). Το προηγούμενο βήμα μπορεί να επεκταθεί στο κτίσιμο ενός ευρετηρίου πολλών επιπέδων Ενδιάμεσοι κόμβοι Σελίδα υπερχείλισης Σελίδες φύλα Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-55

56 Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-56

57 Δένδρο αναζήτησης είναι ένας ειδικός τύπος δένδρου που χρησιμοποιείται για να καθοδηγήσει την αναζήτηση μιας εγγραφής όταν δίνεται η τιμή ενός πεδίου της. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-57

58 K 1 <K 2 < <K q-1 P 1 K 1 K i-1 P i K i K q-1 P q X X X X<K 1 K i-1 <X<K i K q-1 <X Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-58

59 Έστω ότι ο κόμβος χωράει 2 κλειδιά Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-59

60 Εισαγωγή Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-60

61 Εισαγωγή Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-61

62 Όμως έτσι μπορεί να μην έχουμε καλή απόδοση ενώ θα μπορούσαμε να έχουμε Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-62

63 Αν το δένδρο είναι τάξεως m σε κάθε κόμβο μπορεί να περιέχει το μέγιστο m-1 κλειδιά. Επομένως ένα δένδρο αναζήτησης ύψους h περιέχει το μέγιστο (m-1)+m(m-1)+m 2 (m-1)+ m h-1 (m-1)=(m-1)(1+m+m 2 + +m h-1 ) =m h -1 Επομένως για N κλειδιά το καλλίτερο δένδρο που μπορεί να δημιουργηθεί είναι N= m h -1 δηλαδή το πιο κοντό θα έχει ύψος h=log m (N+1) Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-63

64 Όμως επειδή η χρήση είναι δυναμική δεν είναι πρακτικό με κάθε εισαγωγή και διαγραφή να γίνεται αναδιοργάνωση του δένδρου ώστε να έχω την καλλίτερη δυνατή απόδοση Θέλουμε να μπορεί να γίνεται εύκολα η εισαγωγή αλλά ταυτόχρονα το δένδρο που δημιουργείται να είναι όσο το δυνατόν ισοζυγισμένο με την έννοια οι κόμβοι φύλα να είναι στο ίδιο επίπεδο. Το να γέρνει προς μια πλευρά το δένδρο οδηγεί σε απόδοση που πλησιάζει αυτήν του ταξινομημένου αρχείου. Επίσης θέλουμε να γίνεται η καλλίτερη δυνατή χρήση του χώρου. Οι διαγραφές δημιουργούν κενά στους κόμβους που μπορεί να αφήσουν το δένδρο με σχεδόν κενούς κόμβους. Το Β-δένδρο (και οι παραλλαγές του) αντιμετωπίζει με επιτυχία αυτά τα δύο προβλήματα Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-64

65 Β-δένδρο τάξεως 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 είναι δείκτες δένδρου ενώ τα Pr i δείκτες δεδομένων. 2. Σε κάθε κόμβο ισχύει: K 1 <K 2 < K q Για όλα τα κλειδιά X στο υποδένδρο που δείχνει το Pi ισχύει Κ i-1 <X<K i 1<i<q, X<K i για i=1 και K i-1 <X για i=q 4. Κάθε κόμβος έχει το πολύ p δείκτες δένδρου. 5. Κάθε κόμβος εκτός της ρίζας και των φύλων έχει τουλάχιστον p/2 δείκτες δένδρου. Ο κόμβος της ρίζας έχει τουλάχιστον δύο δείκτες δένδρου εκτός αν είναι ο μοναδικός κόμβος του δένδρου. 6. Ένας κόμβος με q δείκτες δένδρου περιέχει q-1 κλειδιά. 7. Όλοι οι κόμβοι φύλα είναι στο ίδιο επίπεδο. Οι κόμβοι φύλα έχουν την ίδια δομή με τους εσωτερικούς κόμβους μόνο που οι δείκτες δένδρου έχουν τιμή null. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-65

66 Κόμβος του Β-δένδρου P 1 K 1 Pr 1 P 2 K i-1 Pr i-1 P i K i Pr i K q-1 Pr q-1 P q X Δείκτης δεδομένων Δείκτης δένδρου Δείκτης δεδομένων X δείκτης δεδομένων X K q-1 <X X<K 1 K i-1 <X<K i Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-66

67 Το δένδρο τάξεως 3 που σημαίνει ότι κάθε κόμβος έχει 1 ή 2 κλειδιά και 2 ή 3 παιδιά Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-67

68 Αυτό όμως δεν είναι Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-68

69 Ούτε αυτό είναι Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-69

70 Ούτε αυτό είναι Β Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-70

71 Εισαγωγή του κλειδιού Χ στο Β-δένδρο Σαρώνουμε το Β-δένδρο μέχρι που ή θα βρούμε την τιμή Χ ήθα φθάσουμε σε ένα φύλο που θα έπρεπε να βρίσκεται η τιμή Χ. Αν ο κόμβος αυτός έχει λιγότερα από p-1 κλειδιά τότε προσθέτουμε το κλειδί στον κόμβο αυτό και τελείωσε η εισαγωγή. Αν ο κόμβος έχει ήδη p κλειδιά τότε δεν μπορεί να προστεθεί στον κόμβο αυτό. Στην περίπτωση αυτή χωρίζουμε τα p κλειδιά (K 1 <K 2 <K 3 < <K q )σε δύο κόμβους όπου ο πρώτος έχει τα πρώτα q/2 ο δεύτερος τα τελευταία q/2 και το μεσαίο στοιχείο ανεβαίνει στον κόμβο γονέα σαν διαχωριστικό. Αν ο κόμβος γονέας έχει χώρο τότε τελειώσαμε. Αν δεν έχει τότε χωρίζεται με τον ίδιο τρόπο και αυτός και προχωράμε προς τη ρίζα. Στην χειρότερη περίπτωση θα διασπασθεί και η ρίζα και θα ανέβουμε ένα επίπεδο (θα ψηλώσει το δένδρο). Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-71

72 Το δένδρο τάξεως 3 που σημαίνει ότι κάθε κόμβος έχει 1 ή 2 κλειδιά και 2 ή 3 παιδιά Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-72

73 Εισαγωγή του Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-73

74 Εισαγωγή του Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-74

75 Εισαγωγή του Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-75

76 Εισαγωγή του Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-76

77 Εισαγωγή του Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-77

78 Εισαγωγή του Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-78

79 Διαγραφή ενός κλειδιού από ένα τερματικό κόμβο Εντοπίζεται ο κόμβος. Αν με την διαγραφή το πλήθος των κλειδιών του κόμβου παραμένει επιτρεπτό τότε έχουμε τελειώσει. Αν ο κόμβος πέφτει κάτω από το επιτρεπόμενο τότε ανατρέχουμε στους κόμβους άμεσα αδέλφια ώστε να βρεθεί κόμβος να δανείσει ένα στοιχείο και μεταφέρουμε το στοιχείο από τον αδελφό στο γονέα και από τον γονέα στον κόμβο που έχει πρόβλημα και τελειώνουμε. Αν δεν μπορεί να δανείσει και ο αδελφός τότε οι δύο κόμβοι είναι οριακοί και μπορούμε να τους συμπτύξουμε σε έναν. Στην περίπτωση αυτή αν ο γονέας δεν έχει λιγότερα από τα επιτρεπόμενα στοιχεία τελειώσαμε. Αν έχει λιγότερα τότε επαναλαμβάνουμε την διαδικασία προς τη ρίζα. Στην περίπτωση αυτή μπορεί να φτάσουμε μέχρι τη ρίζα και μπορεί να κοντύνει το δένδρο κατά ένα επίπεδο. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-79

80 Έστω το Β-δένδρο τάξεως 5 (δηλαδή από 2 μέχρι 4 κλειδιά σε κάθε κόμβο εκτός της ρίζας) Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-80

81 Διαγραφή του Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-81

82 Διαγραφή του Έχει να δανείσει ο διπλανός επομένως πάει το 60 στη θέση του 50 και το 70 αναβαίνει στον γονέα. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-82

83 Διαγραφή του Τώρα όμως αυτός έχει λιγότερα και δανείζεται από τον αδελφό του Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-83

84 Διαγραφή από εσωτερικό κόμβο Στην περίπτωση αυτή πρέπει να βρεθεί το αμέσως επόμενο(ή προηγούμενο) από το στοιχείο που θέλουμε να διαγράψουμε. Το αμέσως επόμενο (ή προηγούμενο βρίσκεται πάντα σε φύλο). Στην περίπτωση αυτή το αμέσως προηγούμενο (ή επόμενο) καταλαμβάνει την θέση του προς διαγραφή στοιχείου και η διαγραφή ανάγεται στην προηγούμενη περίπτωση διαγραφής από φύλο. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-84

85 Διαγραφή του Στην περίπτωση αυτή πάει στη θέση του το αμέσως προηγούμενο δηλαδή το 150. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-85

86 Διαγραφή του Στην περίπτωση αυτή πάει στη θέση του το αμέσως προηγούμενο δηλαδή το 80 αλλά ο κόμβος που είχε το 80 θα πέσει κάτω από το επιτρεπτό και θα ακολουθηθεί ότι και στην περίπτωση διαγραφής από φύλο Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-86

87 Διαγραφή του Στην περίπτωση αυτή είναι σαν να διαγράφουμε το 110 και ακολουθούμε την διαδικασία διαγραφής από φύλο Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-87

88 Διαγραφή του Στην περίπτωση αυτή το 180 αναβαίνει στο 220 γονέα. Ο κόμβος με μόνο το φύλο 170 έχει πρόβλημα. Θα ενωθεί με τον αδελφό Ο κόμβος με το 220 έχει πρόβλημα και θα συνενωθεί με τον αδελφό και τη ρίζα μειώνοντας το ύψος κατά 1 Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-88

89 Θα προσπαθήσουμε να βρούμε το μέγιστο ύψος ενός Β-δένδρου ύψος ενός δένδρου με τάξεως m για Ν στοιχεία. 1+2( m/2-1)+2 ( m/2-1)( m/2 ) + 2 ( m/2-1)( m/2 ) h-2 =2 ( m/2 ) h-1-1 h-1= log m/2 ((N+1)/2) Επομένως h log m/2 ((N+1)/2) Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-89

90 Όμως έχουμε h log m (N+1) Άρα log m (N+1) h log m/2 ((N+1)/2) Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-90

91 Μήκος κλειδιού V=9 byte Μέγεθος block B=512byte Μήκος δείκτη υποδένδρου P=6byte Μήκος δείκτη εγγραφής Pr=7byte Για την τάξη p του δένδρου πρέπει να ισχύει (p*p)+((p-1)*(pr+v)) B Δηλαδή στην περίπτωση μας (p*6)+((p-1)*(7+9)) *p 521 p=23 Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-91

92 Με αυτά τα δεδομένα για ένα αρχείο με εγγραφές το ύψος του δένδρου είναι 2 ή 3. Ή ακόμη <=h<=8 Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-92

93 Ευρετήρια B + -Δένδρα Τα ευρετήρια B + -δένδρα είναι μια εναλλακτική στα ISAM. Μειονεκτήματα των σειριακών αρχείων με δείκτη πέφτει η απόδοση όσο μεγαλώνει το αρχείο επειδή δημιουργούνται μπλοκ στην υπερχείλιση. Απαιτείται περιοδική αναδιοργάνωση όλου του αρχείου. Πλεονεκτήματα των of B + -δένδρων: Αυτόματη αναδιοργάνωση με μικρές, τοπικές αλλαγές, σε περίπτωση εισαγωγών και διαγραφών. Δεν απαιτείται αναδιοργάνωση ολόκληρου του αρχείου για διατήρηση της απόδοσης. (Όχι σοβαρό) μειονέκτημα των B + -δένδρων: επιπλέον χώρος και φόρτος στις εισαγωγές και τις διαγραφές. Τα πλεονεκτήματα των B + -δένδρων υπερκεράζουν τα μειονεκτήματα Τα B + -δένδρα έχουν ευρεία χρήση Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-93

94 Παράδειγμα B + -Δένδρου Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-94

95 Ευρετήρια B + -δένδρα Ένα B + -δένδρο είναι μια δενδρική δομή που ικανοποιεί τις παρακάτω ιδιότητες: Όλες οι διαδρομές από τη ρίζα στα φύλλα έχουν το ίδιο μήκος Κάθε κόμβος εκτός της ρίζας ή των φύλλων έχει μεταξύ n/2 και n παιδιά. Ένας κόμβος φύλλο έχει μεταξύ (n 1)/2 και n 1 τιμές Ειδικές περιπτώσεις: Αν η ρίζα δεν είναι φύλλο, έχει τουλάχιστον 2 παιδιά. Αν η ρίζα είναι φύλλο (δηλαδή, δεν υπάρχουν άλλοι κόμβοι στο δένδρο), μπορεί να έχει μεταξύ 0 και (n 1) τιμές. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-95

96 Δομή κόμβων σε B + -δένδρα Τυπικός κόμβος K i είναι κλειδιά αναζήτησης P i aδείκτες στα παιδιά της δενδρικής δομής (για κόμβους που δεν είναι φύλλα) ή δείκτες σε εγγραφές (για κόμβους φύλλα). Τα κλειδιά αναζήτησης σε ένα κόμβο είναι διατεταγμένα K 1 < K 2 < K 3 <... < K n 1 (θα υποθέσουμε ότι δεν έχουμε διπλά κλειδιά για την ώρα) Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-96

97 Κόμβοι φύλλα σε B + -δένδρα Ιδιότητες των κόμβων φύλλων: Για i = 1, 2,..., n 1, ο δείκτης P i δείχνει σε μια εγγραφή στο αρχείο με τιμή κλειδιού αναζήτησης K i, Αν τα L i, και L j είναι κόμβοι φύλλα και i < j, οι τιμές των κλειδιών αναζήτησης του L i είναι μικρότερες ή ίσες από τις τιμές αναζήτησης του L j P n δείχνει στον επόμενο κόμβο φύλλο στη διάταξη του κλειδιού αναζήτησης Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-97

98 Εσωτερικοί κόμβοι ενός B + -δένδρου Οι εσωτερικοί κόμβοι σχηματίζουν ένα πολυεπίπεδο αραιό ευρετήριο των κόμβων φύλλων. Για ένα εσωτερικό κόμβο με m δείκτες: Όλα τα κλειδιά αναζήτησης στο υποδένδρο που δείχνει ο P 1 είναι μικρότερα από το K 1 Για 2 i n 1, όλα τα κλειδιά αναζήτησης στο υποδένδρο που δείχνει ο P i έχουν τιμές μεγαλύτερες ή ίσες με το K i 1 και μικρότερες από το K i Όλα τα κλειδιά αναζήτησης στο υποδένδρο που δείχνει ο P n έχουν τιμές μεγαλύτερες ή ίσες με K n 1 Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-98

99 Παράδειγμα B + -δένδρου B + -δένδρο (n = 6) Οι κόμβοι φύλλα έχουν μεταξύ 3 και 5 τιμών ( (n 1)/2 και n 1, με n = 6). Οι εσωτερικοί κόμβοι, εκτός της ρίζας πρέπει να έχουν μεταξύ 3 και 6 παιδιών ( (n/2 και n με n =6). Η ρίζα πρέπει να έχει τουλάχιστον 2 παιδιά. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-99

100 Παρατηρήσεις για τα B + -δένδρα Αφού οι εσωτερικοί κόμβοι συνδέονται με δείκτες τα λογικά πλησίον μπλοκ δεν χρειάζεται να είναι και φυσικά κοντά. Οι εσωτερικοί κόμβοι ενός B + -δένδρου σχηματίζουν μια ιεραρχία αραιών ευρετηρίων. Το B + -δένδρο περιέχει ένα σχετικά μικρό πλήθος επιπέδων Το επίπεδο κάτω από την ρίζα έχει τουλάχιστον 2* n/2 τιμές Το επόμενο επίπεδο έχει τουλάχιστον 2* n/2 * n/2 τιμές.. κοκ. Αν υπάρχουν K sτιμές κλειδιού αναζήτησης στο αρχείο, τα ύψος του δένδρου δεν ξεπερνά το log n/2 (K) Επομένως έχουμε αποτελεσματικές αναζητήσεις. Οι εισαγωγές και οι διαγραφές γίνονται αποτελεσματικά και όπως θα δούμε σε λογαριθμικό χρόνο. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

101 Αναζητήσεις σε B + -δένδρα Αναζήτηση της εγγραφής με τιμή κλειδιού αναζήτησης V. 1. C=root 2. While C is not a leaf node { 1. Έστω i η μικρότερη τιμή ώστε V K i. 2. Αν δεν υπάρχει τέτοια, C = lο τελευταίος μη κενός δείκτης στη C 3. Διαφορετικά { αν (V= K i ) θέσε C = P i +1 διαφορετικά θέσε C = P i } } 3. Έστω i η μικρότερη τιμή ώστε K i = V 4. Αν υπάρχει μια τέτοια τιμή i, ακολούθησε τον δείκτη P i ζητούμενη εγγραφή. στην 5. Διαφορετικά δεν υπάρχει εγγραφή με τιμή κλειδιού αναζήτησης k. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

102 Περίπτωση μη πρωτεύοντος κλειδιού Με διπλά κλειδιά αναζήτησης Τόσο στα φύλλα όσο και στους εσωτερικούς κόμβους, δεν μπορούμε να εξασφαλίσουμε ότι K 1 < K 2 < K 3 <... < K n 1 αλλά μπορούμε K 1 K 2 K 3... K n 1 Τα κλειδιά αναζήτησης στο υποδένδρο που δείχνει ο P i είναι K i,, αλλά όχι απαραίτητα < K i, Ο λόγος: υποθέστε ότι η ίδια τιμή αναζήτησης V βρίσκεται σε δύο κόμβους φύλλα L i και L i+1. Τότε στον κόμβο γονέα το K i πρέπει να είναι ίσο με V Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

103 Περίπτωση μη πρωτεύοντος κλειδιού Τροποποιούμε την αναζήτηση διάσχιση του P i eακόμη και αν V = K i Μόλις φθάσουμε σε ένα κόμβο φύλλο C ελέγχουμε αν ο C έχει μόνο τιμές κλειδιού αναζήτησης μικρότερες από V αν ισχύει θέσε C = το δεξιό υποδένδρο του C πριν ελέγξεις αν ο C περιέχει το V Εκτύπωση όλων τροποποίηση της διαδικασίας αναζήτησης της πρώτης εγγραφής με τιμή V διάσχιση των διαδοχικών φύλλων για εύρεση όλων των εμφανίσεων της τιμής V Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

104 Αναζητήσεις σε B +- δένδρα (συν.) Αν υπάρχουν K sτιμές κλειδιού αναζήτησης στο αρχείο, το ύψος του δένδρου δεν ξεπερνά το log n/2 (K). Γενικά ένας κόμβος έχει το ίδιο μέγεθος με ένα μπλοκ δίσκου, τυπικά 4 kilobytes και το n είναι τυπικά περίπου 100 (40 bytes ανά καταχώρηση ευρετηρίου). με 1 εκατομμύριο κλειδιά αναζήτησης και n = 100 Σε μια αναζήτηση οι προσπελάσεις είναι το πολύ log 50 (1,000,000) = 4. Σε αντίθεση σε ένα ισοζυγισμένο δυαδικό δένδρο με 1 εκατομμύριο κλειδιά αναζήτησης απαιτούνται 20 προσπελάσεις η διαφορά είναι σημαντική Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

105 Υπολογισμός της τάξης p του Β+δένδρου Μήκος κλειδιού V=9 byte Μέγεθος block B=512byte Μήκος δείκτη υποδένδρου P=6byte Μήκος δείκτη εγγραφής P r =7byte Για την τάξη p του δένδρου πρέπει να ισχύει (p*p)+((p-1)*v) B Δηλαδή στην περίπτωση μας (p*6)+((p-1)* *p 521 P=34 Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

106 Ο κόμβος φύλο μπορεί να είναι άλλης τάξης Θα πρέπει να ισχύει: (p leaf *(P r +V))+P B (p leaf *(7+9)) (16p leaf ) 506 Δηλαδή p leaf =31 Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

107 Ενημερώσεις σε B + -Δένδρα: Εισαγωγή 1. Βρες τον κόμβο φύλλο στον οποίο θα έπρεπε να είναι η τιμή του κλειδιού αναζήτησης 2. Αν η τιμή του κλειδιού αναζήτησης βρίσκεται ήδη στον κόμβο φύλλο 1. Πρόσθεσε την εγγραφή στο αρχείο 2. Αν είναι απαραίτητο πρόσθεσε δείκτη στον κάδο. 3. Αν η τιμή του κλειδιού αναζήτησης δεν βρίσκεται, τότε 1. πρόσθεσε την εγγραφή στο κυρίως αρχείο (αν χρειάζεται δημιούργησε νέο κάδο) 2. αν υπάρχει χώρος στον κόμβο φύλο εισάγεται το ζεύγος (τιμή_κλειδιού, δείκτης) στον κόμβο φύλλο 3. Διαφορετικά, διάσπαση του κόμβου (μαζί με την νέα καταχώρηση) (όπώς περιγράφεται στη συνέχεια). Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

108 Ενημερώσεις σε B + -Δένδρα: Εισαγωγή (συν.) Διάσπαση ενός κόμβου φύλλου: παίρνουμε τα n ζεύγη (τιμή-κλειδιού, δείκτης) (συμπεριλαμβανομένου αυτού που μόλις εισήχθη) με ταξινομημένη σειρά. Θέτουμε τα πρώτα n/2 στον αρχικό κόμβο, και τα υπόλοιπα στο νέο κόμβο. έστω p ο νέος κόμβος, και έστω k η μικρότερη τιμή κλειδιού στον p. Εισάγουμε τον (k,p) στον γονέα του κόμβου που διασπάσθηκε. Αν ο γονέας είναι γεμάτος, διασπάται και η διάσπαση διαδίδεται παραπάνω. Η διάσπαση των κόμβων πάει προς τα πάνω μέχρι να βρεθεί ένας κόμβος που να μην είναι γεμάτος. Στη χειρότερη περίπτωση θα διασπασθεί η ρίζα αυξάνοντας το ύψος του δένδρου κατά 1. Διάσπαση του κόμβου με τα Brandt, Califieri και Crick όταν εισαχτεί Adams Επόμενο βήμα : εισαγωγή του (Califieri,pointer-to-new-node) στο γονέα Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

109 Ενημερώσεις σε B + -Δένδρα: Εισαγωγή (συν.) B + -Δένδρο πριν και μετά την εισαγωγή του Adams Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

110 Ενημερώσεις σε B + -Δένδρα: Εισαγωγή (συν.) B + -Δένδρο πριν και μετά την εισαγωγή του Lamport Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

111 Ενημερώσεις σε B + -Δένδρα: Εισαγωγή (συν.) Διάσπαση εσωτερικού κόμβου : όταν εισάγεται το (k,p) σε έναν ήδη γεμάτο εσωτερικό κόμβο N Αντιγράφεται ο N σε μια περιοχή της της μνήμης M με χώρο για n+1 δείκτες και n κλειδιά Εισάγεται το (k,p) στην M Αντιγραφή των P 1,K 1,, K n/2-1,p n/2 από την M στον κόμβο N Αντιγραφή των P n/2 +1,K n/2 +1,,K n,p n+1 από την M στο νέο κόμβο N Εισαγωγή του (K n/2,n ) στον γονέα N (στο βιβλίο υπάρχει ψευδοκώδικας) Califieri Adams Brandt Califieri Crick Adams Brandt Crick Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

112 Β+δένδρο βαθμού Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

113 Εισαγωγή του Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

114 Ενημερώσεις σε B + -Δένδρα: Διαγραφή Βρες την εγγραφή που θα διαγραφεί, και διάγραψέ την από το κυρίως αρχείο (αν υπάρχει) Διάγραψε το ζεύγος (τιμή κλειδιού_αναζήτησης, δείκτης) από τον κόμβο φύλλο node if there is no bucket or if the bucket has become empty Αν ο κόμβος έχει, λόγω της διαγραφής, λιγότερες από το επιτρεπτό καταχωρήσεις, και οι καταχωρήσεις στον κόμβο και σε έναν αδελφό κόμβο χωράνε σε ένα κόμβο, τότε συνένωσε τους αδελφούς : Εισαγωγή όλων των τιμών σε έναν κόμβο (τον αριστερό), και διαγραφή του άλλου κόμβου. Διαγραφή του ζεύγους (K i 1, P i ), όπου P i είναι ο δείκτης από τον γονέα στον κόμβο που διαγράφθηκε, αναδρομική χρήση της διαδικασίας αυτής. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

115 Ενημερώσεις σε B + -Δένδρα: Διαγραφή (συν.) Διαφορετικά, αν ο κόμβος έχει λιγότερες καταχωρήσεις λόγω τα διαγραφής, αλλά ο κόμβος με τον αδελφό του δεν χωράνε σε ένα κόμβο, τότε γίνεται ανακατανομή των δεικτών: Ανακατανέμονται οι δείκτες μεταξύ του κόμβου και ενός αδελφού έτσι που και οι δύο να έχουν περισσότερες από τις ελάχιστες καταχωρήσεις. Ενημερώνεται η αντίστοιχη τιμή, που τους διαχωρίζει στον κόμβο γονέα. Οι διαγραφές κόμβων να διαδοθούν προς τα πάνω μέχρι να βρεθεί κόμβος με n/2 ή περισσότερους δείκτες. Αν μετά τη διαγραφή η ρίζα έχει μόνο ένα δείκτη, διαγράφεται και το μοναδικό παιδί γίνεται ρίζα. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

116 Παράδειγμα B + -Δένδρα: Διαγραφή Πριν και μετά την διαγραφή του Srinivasan Η διαγραφή του Srinivasan προκαλεί συνένωση φύλλων Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

117 Παράδειγμα B + -Δένδρα: Διαγραφή Διαγραφή των Singh και Wu από το προηγούμενο παράδειγμα Το φύλλο που περιέχει τους Singh και Wu έχει λιγότερα από το επιτρεπόμενο, και δανείσθηκε την τιμή Kim από το αριστερό αδελφό Αλλάζει η τιμή του κλειδιού στο γονέα Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

118 Παράδειγμα B + -Δένδρα: Διαγραφή Πριν και μετά την διαγραφή του Gold Ο κόμβος με τους Gold και Katz έπεσε κάτω από το επιτρεπόμενο και συγχωνεύθηκε με τον αδελφό του Ο γονέας επίσης έπεσε κάτω από το επιτρεπόμενο και συγχωνεύεται με τον αδελφό του Η τιμή που χωρίζει τους δύο κόμβους nodes (στο γονέα) και πάει κάτω Η ρίζα έχει ένα μόνο παιδί και διαγράφεται Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

119 Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

120 Διαγραφή Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

121 Διαγραφή Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

122 Διαγραφή Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

123 Διαγραφή Διαγραφή Διαγραφή Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

124 Μη μοναδικά κλειδιά αναζήτησης Εναλλακτικά σχήματα Κάδοι σε διαφορετικά μπλοκ (κακή ιδέα) Λίστα από δείκτες σε κάθε εγγραφή Επιπλέον διαχείριση μεγάλων λιστών Η διαγραφή μιας εγγραφής μπορεί να κοστίζει αν υπάρχουν πολλά διπλά Δεν απαιτεί πολύ επιπλέον χώρο Κάθε κλειδί αναζήτησης να γίνεται μοναδικό με την προσθήκη ενός προσδιοριστή εγγραφής Επιπλέον αποθήκευση για τα κλειδιά Απλούστερος κώδικας για εισαγωγή/διαγραφή Χρησιμοποιείται ευρέως Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

125 B + -Δένδρο σαν Οργάνωση Αρχείου Το πρόβλημα της σταδιακά κακής απόδοσης των ευρετηρίων λύνεται με χρήση ευρετηρίων B + -Δένδρων. Το πρόβλημα της κακής απόδοσης κυρίως αρχείου μπορεί να λυθεί με οργάνωση B + -Δένδρου. Οι κόμβοι φύλλα σε μια οργάνωση αρχείου B + -δένδρου αποθηκεύουν εγγραφές αντί για δείκτες. Οι κόμβοι φύλλα εξακολουθούν να ακολουθούν την αρχή του μισο γεμάτου Εφόσον οι εγγραφές έχουν μεγαλύτερο μήκος από ότι οι δείκτες, το μέγιστο πλήθος εγγραφών που μπορούν να αποθηκευθούν σε ένα κόμβο φύλλο είναι μικρότερο από το πλήθος των δεικτών σε ένα εσωτερικό κόμβο. Οι εισαγωγές και οι διαγραφές αντιμετωπίζονται με τον ίδιο τρόπο όπως οι εισαγωγές και διαγραφές σε ένα B + -δένδρο ευρετήριο. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

126 B + -Δένδρο σαν Οργάνωση Αρχείου Παράδειγμα οργάνωσης αρχείου σαν B + -δένδρο Καλή αξιοποίηση του χώρου που είναι σημαντική αφού οι εγγραφές χρησιμοποιούν περισσότερο χώρο από ότι οι δείκτες. Για καλύτερη αξιοποίηση του χώρου, στην ανακατανομή στις διασπάσεις και τις συγχωνεύσεις κάνουμε χρήση περισσοτέρων αδελφών Αν χρησιμοποιήσουμε 2 αδελφούς στην ανακατανομή (για αποφυγή πιθανής διάσπασης / συγχώνευσης) έχει σαν αποτέλεσμα κάθε κόμβος να έχει τουλάχιστον 2n/3 καταχωρήσεις Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

127 Δυναμικά Πολυεπίπεδα Ευρετήρια με Χρήση B-Δένδρων και B+-Δένδρων Τα περισσότερα ευρετήρια πολλών επιπέδων χρησιμοποιούν δομές δεδομένων B-δένδρων ή B+δένδρων λόγω του προβλήματος εισαγωγής και διαγραφής Αυτό αφήνει σε κάθε κόμβο του δένδρου (μπλοκ στο δίσκο) ελεύθερο χώρο για νέες καταχωρήσεις Αυτές οι δομές δεδομένων αποτελούν παραλλαγές των δένδρων αναζήτησης που υποστηρίζουν αποτελεσματική εισαγωγή και διαγραφή νέων τιμών αναζήτησης. Στις δομές δεδομένων B-δένδρων και B+-δένδρων, κάθε κόμβος αντιστοιχεί σε ένα μπλοκ του δίσκου Κάθε κόμβος είναι από γεμάτος ή μέχρι τη μέση Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

128 Δυναμικά Πολυεπίπεδα Ευρετήρια με Χρήση B-Δένδρων και B+-Δένδρων(συν.) Η εισαγωγή σε ένα κόμβο που δεν είναι γεμάτος είναι πολύ αποδοτική Αν ένας κόμβος είναι γεμάτος η εισαγωγή προκαλεί διάσπαση σε δύο κόμβους Η διάσπαση μπορεί να διαδοθεί σε άλλα επίπεδα του δένδρου Μια διαγραφή είναι πολύ αποδοτική αν ένας κόμβος δεν πέφτει κάτω από το μισό Αν μια διαγραφή οδηγήσει σε κόμβο με λιγότερες από μισές καταχωρήσεις, πρέπει να συνενωθεί με γειτονικούς κόμβους Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

129 Διαφορά μεταξύ B-δένδρου και B+δένδρου Σε ένα Β-δένδρου, υπάρχουν δείκτες προς εγγραφές δεδομένων σε όλα τα επίπεδα του δένδρου Σε ένα B+-δένδρο, όλοι οι δείκτες προς τις εγγραφές δεδομένων υπάρχουν στους κόμβους φύλα Ένα B+-δένδρο μπορεί να έχει λιγότερα επίπεδα (ή μεγαλύτερη χωρητικότητα τιμών αναζήτησης) από το αντίστοιχο B-δένδρο Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

130 Άλλα θέματα ευρετηρίασης Μετατόπιση εγγραφών και δευτερεύοντα ευρετήρια Αν μια εγγραφή μετακινηθεί στο δίσκο, πρέπει να ενημερωθούν όλα τα δευτερεύοντα ευρετήρια που αποθηκεύουν δείκτες εγγραφών Οι διασπάσεις κόμβων σε οργανώσεις αρχείων B + -δένδρα γίνονται πολύ ακριβές Λύση: αντί στο δευτερεύον να χρησιμοποιούμε δείκτη εγγραφής χρησιμοποιούμε πρωτεύον κλειδί αναζήτησης Απαιτείται βέβαια επιπλέον σάρωσης του πρωτεύοντος ευρετηρίου για εντοπισμό της εγγραφής Υψηλότερο κόστος ερωτήσεων, αλλά φθηνότερες διασπάσεις Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

131 Ευρετηρίαση Strings Strings μεταβλητού μεγέθους σαν κλειδιά Variable fanout Χρησιμοποιείται η αξιοποίηση του χώρου σαν κριτήριο διάσπασης και όχι το πλήθος των δεικτών Προθεματική συμπίεση (Prefix compression) Οι τιμές των κλειδιών στους εσωτερικούς κόμβους μπορεί να είναι προθέματα του πλήρους κλειδιού Κρατάμε αρκετούς χαρακτήρες για τον διαχωρισμό των καταχωρήσεων στα υποδένδρα Π.χ. Παπαδάκης and Παπαδόπουλος μπορούν να διαχειρισθούν με το Παπαδο Τα κλειδιά στα φύλλα μπορεί να έχουν συμπιεσθεί με κοινό πρόθεμα Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

132 Μαζική φόρτωση και προς τα πάνω χτίσιμο Η εισαγωγή καταχωρήσεων ένα-ένα σε ένα B + -δένδρο απαιτεί 1 IO ανά καταχώρηση υποθέτοντας ότι τα φύλα δεν χωράνε στη μνήμη Μπορεί να είναι εντελώς αναποτελεσματικό σε φόρτωση μεγάλου πλήθους καταχωρήσεων (μαζική φόρτωση) Αποτελεσματικός τρόπος 1: ταξινόμηση των καταχωρήσεων (με μια αποτελεσματική μέθοδο από αυτές που θα εξετάσουμε) εισαγωγή με ταξινομημένη σειρά Η εισαγωγή θα γίνεται στην τρέχουσα σελίδα (ή θα προκαλεί διάσπαση) Βελτιώνει κατά πολύ την IO απόδοση, αλλά τα περισσότερα φύλλα είναι μισογεμάτα Αποτελεσματικός τρόπος 2: Προς τα πάνω κατασκευή του B + -δένδρου Όπως και πριν ταξινόμηση των καταχωρήσεων Στη συνέχεια δημιουργία του δένδρου ανά επίπεδο ξεκινώντας σε επίπεδο φύλλων Υλοποιείται από τα περισσότερα ΣΔΒΔ Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

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

134 Προσπέλαση με Πολλαπλά Κλειδιά Χρήση πολλαπλών ευρετηρίων για κάποιους τύπους ερωτήσεων. Example: Βρες τον Αριθμό Μητρώου των φοιτητών που είναι στο τμήμα Πληροφορικής και κατάγονται από τη Λάρισα Πιθανές στρατηγικές για εκτέλεση της ερώτησης με χρήση ευρετηρίων σε απλά πεδία : 1. Χρήση ευρετηρίου στο όνομα τμήματος για να βρεθούν οι φοιτητές του τμήματος πληροφορικής έλεγχος αν η καταγωγή αυτών είναι από τη Λάρισα 2. Χρήση ευρετηρίου στον τόπο καταγωγής για να βρεθούν οι φοιτητές από τη Λάρισα έλεγχος αν φοιτούν στο τμήμα πληροφορικής. 3. Χρήση ευρετηρίου για εύρεση των φοιτητών του τμήματος πληροφορικής, χρήση ευρετηρίου για εύρεση όσων κατάγονται από τη Λάρισα. Παίρνουμε την τομή των αποτελεσμάτων. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

135 Ευρετήρια σε πολλαπλά κλειδιά Τα σύνθετα κλειδιά αναζήτησης είναι κλειδιά αναζήτησης που περιλαμβάνουν περισσότερα από ένα Π.χ. (τμήμα, τόπος_καταγωγής) Λεξικογραφική διάταξη : (a 1, a 2 ) < (b 1, b 2 ) αν a 1 < b 1, ή a 1 =b 1 και a 2 < b 2 Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

136 Ευρετήρια σε πολλαπλά κλειδιά Υποθέστε ότι έχουμε ευρετήριο στο σύνθετο κλειδί αναζήτησης (τμήμα, τόπος_καταγωγής). στην Βρες τον Αριθμό Μητρώου των φοιτητών που είναι στο τμήμα Πληροφορικής και κατάγονται από τη Λάρισα μπορεί να χρησιμοποιηθεί το σύνθετο ευρετήριο (τμήμα, τόπος_καταγωγής). Η χρήση ξεχωριστών ευρετηρίων είναι λιγότερο αποτελεσματική μπορεί να φέρνει πολλές εγγραφές που να ικανοποιούν μόνο τη μια συνθήκη. Μπορεί να είναι αποτελεσματική η τμήμα = Πληροφορική and τόπος_καταγωγής < Λάρισα Αλλά όχι η τμήμα < Πληροφορική and τόπος_καταγωγής = Λάρισα Μπορεί να φέρνει πολλές εγγραφές που ικανοποιούν την μια συνθήκη αλλά όχι την άλλη Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

137 Bitmap Ευρετήρια Τα Bitmap ευρετήρια αποτελούν ειδική περίπτωση ευρετηρίων που έχουν σχεδιασθεί για αποτελεσματικές ερωτήσεις σε πολλαπλά κλειδιά Υποθέτουμε ότι οι εγγραφές έχουν αριθμηθεί σειριακά, έστω από το, 0 Όταν δίδεται ένας αριθμός n it mη ανάκτηση της εγγραφής n πρέπει να είναι εύκολη Ιδιαίτερα εύκολη αν οι εγγραφές είναι σταθερού μεγέθους Εφαρμόζεται κυρίως σε πεδία με σχετικά μικρό πλήθος διακριτών τιμών Π.χ. φύλο, χώρα,, Π.χ. επίπεδο εισοδήματος (χωρισμένο σε διατήματα όπως , , , >50000) Ένα bitmap είναι απλά ένας πίνακας με bits Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

138 Bitmap Ευρετήρια (συν.) Στην απλούστερη μορφή του ένα bitmap ευρετήριο σε ένα πεδίο έχει ένα bitmap για κάθε τιμή του πεδίου Το Bitmap έχει τόσα bits όσες οι εγγραφές Σε ένα για την τιμή v, το bit ιας εγγραφής είναι1 αν η εγγραφή έχει τιμή v για το πεδίο, διαφορετικά 0 Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

139 Bitmap Ευρετήρια (συν.) Τα Bitmap ευρετήρια είναι χρήσιμα για ερωτήσεις σε πολλαπλά πεδία δεν είναι ιδιαίτερα χρήσιμα για ερωτήσεις ενός πεδίου Η απάντηση στις ερωτήσεις γίνεται με χρήση bitmap πράξεων Intersection (and) Union (or) Complementation (not) Κάθε πράξη παίρνει δύο bitmaps ίδιου μεγέθους και εφαρμόζει την πράξη στα αντίστοιχα bits για να δώσει σαν αποτέλεσμα ένα bitmap Π.χ AND = OR = NOT = Αρένες με εισόδημα επιπέδου L1: AND = Στη συνέχεια έχουμε προσπέλαση στις αντίστοιχες εγγραφές. Αν θέλουμε μόνο το πλήθος στο αποτέλεσμα είναι ακόμη πιο γρήγορο Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

140 Bitmap Ευρετήρια (συν.) Τα Bitmap ευρετήρια είναι συνήθως πολύ μικρά σε σχέση με το μέγεθος του αρχείου Π.χ. αν μια εγγραφή είναι 100 bytes, ο χώρος για ένα είναι 1/800 του χώρου του αρχείου. Αν οι διακριτές τιμές είναι 8, το bitmap είναι μόνο το 1% του μεγέθους του αρχείου Οι διαγραφές θέλουν κατάλληλη αντιμετώπιση Υπαρξιακό (Existence) bitmap για να δηλώνει ότι υπάρχει εγγαρφή σε μια θέση Χρειάζεται σε περίπτωση συμπληρώματος not(a=v): (NOT bitmap-a-v) AND ExistenceBitmap Απαιτούνται bitmaps για όλες τις τιμές, ακόμη και τις null Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

141 Αποτελεσματική Υλοποίηση των of Bitmap Πράξεων Τα Bitmaps πακετάρονται σε λέξεις μια λέξη και (μια βασική CPU εντολή) υπολογίζει 32 ή 64 bits με την μια Π.χ. 1-million-bit maps μπορεί να τελεσθεί το AND σε 31,250 εντολές Το μέτρημα των 1 μπορεί να γίνει: Χρήση κάθε byte για ευρετηρίαση ενός προϋπολογισμένου πίνακα από 256 στοιχεία που το καθένα αποθηκεύει τον μετρητή 1 στη δυαδική αναπαράσταση Μπορεί να χρησιμοποιηθούν ζεύγη από bytes για περαιτέρω επιτάχυνση με κόστος περισσότερη μνήμη. Πρόσθεση των μετρητών που ανακτώνται Τα Bitmaps μπορούν να χρησιμοποιηθούν σαν ταυτότητες εγγραφών σε επίπεδο φύλλου σε B + -δένδρα, για τιμές με μεγάλο πλήθος εγγραφών Αξίζει αν > 1/64 έχουν την τιμή αυτή, υποθέτοντας ταυτότητα εγγραφής 64 bits Η τεχνική αυτή συνδυάζει τα πλεονεκτήματα των bitmap και των ευρετηρίων B + -δένδρων Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

142 Σύνοψη Τύποι διατεταγμένων ευρετηρίων ενός επιπέδου Πρωτεύοντα ευρετήρια Ευρετήρια Συστάδες Δευτερεύοντα Ευρετήρια Ευρετήρια πολλών επειπέδων Δυναμικά ευρετήρια πολλών επιπέδων με χρήση B-δένδρων και B+-δένδρων Ευρετήρια σε πολλά κλειδιά Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια

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 Ελληνική Έκδοση, Διαβλος, Επιμέλεια Μ.Χατζόπουλος Θα μιλήσουμε

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

Κεφάλαιο 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 Θα μιλήσουμε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1 Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1 Κεφάλαιο 20 Φυσικός Σχεδιασμός Βάσεων Δεδομένων και Ρύθμιση Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 14: Δέντρα IV B Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: 2 3 Δένδρα, Εισαγωγή και άλλες πράξεις Άλλα Δέντρα: Β δένδρα, Β+ δέντρα, R δέντρα Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ231

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

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

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

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

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

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

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

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

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

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

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

Εξωτερική Ταξινόμηση. Μ.Χατζόπουλος 1 Εξωτερική Ταξινόμηση Μ.Χατζόπουλος 1 Γιατί είναι απαραίτητη; Κλασσικό Πρόβλημα της Πληροφορικής Πολλές φορές θέλουμε να παρουσιάσουμε δεδομένα σε ταξινομημένη μορφή Είναι σημαντική για την απαλοιφή διπλοτύπων

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

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

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

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

Διάλεξη 18: B-Δένδρα

Διάλεξη 18: B-Δένδρα Διάλεξη 18: B-Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή & Ισοζυγισμένα Δένδρα 2-3 Δένδρα, Περιγραφή Πράξεων της Εισαγωγής και άλλες πράξεις Β-δένδρα Διδάσκων: Κωνσταντίνος

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

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

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

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

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

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

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

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

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

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

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

Εξωτερική Ταξινόμηση. Μ.Χατζόπουλος 1 Εξωτερική Ταξινόμηση Μ.Χατζόπουλος 1 Γιατί είναι απαραίτητη; Κλασσικό Πρόβλημα της Πληροφορικής Πολλές φορές θέλουμε να παρουσιάσουμε δεδομένα σε ταξινομημένη μορφή Είναι σημαντική για την απαλοιφή διπλοτύπων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αλγόριθμοι Ταξινόμησης Μέρος 4 Αλγόριθμοι Ταξινόμησης Μέρος 4 Μανόλης Κουμπαράκης Δομές Δεδομένων και Τεχνικές 1 Μέθοδοι Ταξινόμησης Βασισμένοι σε Συγκρίσεις Κλειδιών Οι αλγόριθμοι ταξινόμησης που είδαμε μέχρι τώρα αποφασίζουν πώς να

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

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

Κατακερματισμός (Hashing) Κατακερματισμός (Hashing) O κατακερματισμός είναι μια τεχνική οργάνωσης ενός αρχείου. Είναι αρκετά δημοφιλής μέθοδος για την οργάνωση αρχείων Βάσεων Δεδομένων, καθώς βοηθάει σημαντικά στην γρήγορη αναζήτηση

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

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

επιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών,, τα οποίo είναι υποσύνολο του. Υποστηριζόμενες λειτουργίες αναζήτηση(s,x): εισαγωγή(s,x): διαγραφή(s,x): διάδοχος(s,x): προκάτοχος(s,x):

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

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

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

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

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ Δομές Δεδομένων (Εργ.) Ακ. Έτος 2017-18 Διδάσκων: Ευάγγελος Σπύρου Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης 1. Στόχος του εργαστηρίου Στόχος του δέκατου εργαστηρίου

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

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης Σύνοψη Προηγούμενου Πίνακες (Arrays Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Διαδικαστικά θέματα. Aντικείμενο Μαθήματος. Aντικείμενα, Κλάσεις, Μέθοδοι, Μεταβλητές.

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

Διάλεξη 14: Δέντρα IV - B-Δένδρα

Διάλεξη 14: Δέντρα IV - B-Δένδρα ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 14: Δέντρα IV - B-Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - 2-3 Δένδρα, Εισαγωγή και άλλες πράξεις - Άλλα Δέντρα: Β-δένδρα, Β+-δέντρα,

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

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

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

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

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

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες

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

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

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

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

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

Διαχρονικές δομές δεδομένων Διαχρονικές δομές δεδομένων Μια τυπική δομή δεδομένων μεταβάλλεται με πράξεις εισαγωγής ή διαγραφής Π.χ. κοκκινόμαυρο δένδρο εισαγωγή 0 18 0 5 39 73 1 46 6 80 Αποκατάσταση ισορροπίας 5 39 73 0 46 6 80

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

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

Ενότητα 6: Κατακερματισμός Ασκήσεις και Λύσεις ΗΥ2, Ενότητα : Ασκήσεις και Λύσεις Ενότητα : Κατακερματισμός Ασκήσεις και Λύσεις Άσκηση 1 Χρησιμοποιήστε τη συνάρτηση κατακερματισμού της διαίρεσης ως πρωτεύουσα συνάρτηση κατακερματισμού και τη συνάρτηση

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

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

Κεφάλαιο 13. Αποθήκευση σε Δίσκους, Βασικές Δομές Αρχείων, και Κατακερματισμός Κεφάλαιο 13 Αποθήκευση σε Δίσκους, Βασικές Δομές Αρχείων, και Κατακερματισμός Δίαβλος, Επιμ.Μ.Χατζόπουλος Γιατί θα μιλήσουμε Μονάδες Αποθήκευσης Δίσκων Αρχεία Εγγραφών Πράξεις σε αρχεία Αρχεία Σωρού Ταξινομημένα

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

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί

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

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

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

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

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων κλειδί από ολικά διατεταγμένο σύνολο όπου το κάθε στοιχείο έχει ένα Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου με

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Κατακερματισμός. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Κατακερματισμός Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Λεξικό Dictionary Ένα λεξικό (dictionary) είναι ένας αφηρημένος τύπος δεδομένων (ΑΤΔ) που διατηρεί

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

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

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 7: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου Διδάσκων:

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

Advanced Data Indexing

Advanced Data Indexing Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Αναζήτηση Δέντρα (2 ο Μέρος) Διαχρονικά -Δέντρα (Persistent -trees) Σε μερικές εφαρμογές βάσεων/δομών δεδομένων όπου γίνονται ενημερώσεις μας ενδιαφέρει

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

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

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

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

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

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και

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

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

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

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Μάθημα: Λειτουργικά Συστήματα Συστήματα Αρχείων Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) Λειτουργικά Συστήματα 1 Χρήση Κρυφής Μνήμης (Cache)

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

9. Φυσική Οργάνωση Αρχείων στο Δίσκο & Ευρετήρια

9. Φυσική Οργάνωση Αρχείων στο Δίσκο & Ευρετήρια Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 9. Φυσική Οργάνωση Αρχείων στο Δίσκο & Ευρετήρια Σχεδιασμός Βάσεων Δεδομένων Χρήστος 2017-18 Φυσική Οργάνωση

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

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

Ενδεικτικές Ερωτήσεις Θεωρίας Ενδεικτικές Ερωτήσεις Θεωρίας Κεφάλαιο 2 1. Τι καλούμε αλγόριθμο; 2. Ποια κριτήρια πρέπει οπωσδήποτε να ικανοποιεί ένας αλγόριθμος; 3. Πώς ονομάζεται μια διαδικασία που δεν περατώνεται μετά από συγκεκριμένο

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

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

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο 2010 2011 Δ. Γουνόπουλος Ι. Ιωαννίδης Άσκηση 2: Υλοποίηση Ευρετηρίου Β+ Δένδρου Προθεσμία: 6 Ιουνίου 2011, 11:59μμ

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

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

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

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

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

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

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

Διδάσκων: Κωνσταντίνος Κώστα

Διδάσκων: Κωνσταντίνος Κώστα Διάλεξη Ε4: Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, Δυαδικά Δένδρα Αναζήτησης Ισοζυγισμένα Δένδρα & 2-3 Δένδρα Διδάσκων: Κωνσταντίνος

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

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

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

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

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

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