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

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

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

Transcript

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

2 Σύνοψη Ύλης Σχεσιακό μοντέλο (Relational model) -SQL Επίσημες (Formal) & Εμπορικές γλώσσες επερωτήσεων (commercial query languages) Συναρτησιακές Εξαρτήσεις (Functional Dependencies) Κανονικοποίηση (Normalization) Φυσικός Σχεδιασμός (Physical Design) Ευρετηριοποίηση (Indexing)

3 Ευρετηριοποίηση (Indexing)- Περιληπτικά Πρωτεύοντα / δευτερεύοντα ευρετήρια Σειριακή μέθοδος προσπέλασης (ISAM) B - trees, B+ - trees Κατακερματισμός Στατικός κατακερματισμός Δυναμικός κατακερματισμός

4 Βασική ιδέα Οι μεθοδοι ευρετηριοποίησης επιταχύνουν την διαδικασία ανάκτησης των επιθυμητών δεδομένων Π.χ., κατάλογος συγγραφέων των βιβλίων μιας βιβλιοθήκης Κλειδί αναζήτησης (Search Key) γνώρισμα ή σύνολο γνωρισμάτων που χρησιμοποιείται για την εύρεση εγγραφών στο αρχείο Ένα αρχείο ευρετηρίου (index file) αποτελείται από εγγραφές (καταχωρήσεις ευρετηρίου - index entries) της φόρμας Κλειδί αναζήτησης Δείκτης Τα αρχεία ευρετηρίου είναι συνήθως μικρότερα σε μέγεθος από τα αρχεία δεδομένων Δύο βασικά είδη ευρετηρίων : Ταξινομημένα ευρετήρια (Ordered indices): οι εγγραφές του κλειδιού αναζήτησης αποθηκεύονται ταξινομημένα Ευρετήρια Κατακερματισμού (Hash indices): οι εγγραφές των κλειδιών αναζήτησης διανέμονται ομοιόμορφα σε «κάδους» (buckets) με χρήση κάποιας συνάρτησης κατακερματισμού.

5 Ευρετηριοποίηση Πώς ψάχνουμε αποδοτικά εφόσον οι εγγραφές είναι αποθηκευμένες σε ένα αρχείο; (Π.χ., SSN=123?) Φοιτητής SSN Όνομα Διεύθυνση 123 Σταύρου Αιόλου 234 Αντωνίου Θράκης 125 Φαντίδη Χίου

6 Ευρετηριοποίηση Πώς ψάχνουμε αποδοτικά εφόσον οι εγγραφές είναι αποθηκευμένες σε ένα αρχείο; brute force: ανέκτησε όλες τις εγγραφές, επέστρεψε μόνο αυτές που πληρούν το κριτήριο αναζήτησης Καλύτερα: χρησιμοποίησε δείκτες για τον απευθείας εντοπισμό των εγγραφών

7 Ευρετητιοποίηση Βασική ιδέα: Φοιτητής SSN Όνομα Διεύθυνση 123 Σταύρου Αιόλου 234 Αντωνίου Θράκης 125 Φαντίδη Χίου

8 Μέτρηση της αποτελεσματικότητας Χρόνος ανάκτησης; Εισαγωγής / Διαγραφής; Επιβάρυνση χώρου; Αναδιοργάνωση; Ερωτήματα διαστήματος (range queries);

9 Βασική Ιδέα Τα κλειδιά αναζήτησης αποθηκεύονται στο αρχείο ευρετηρίου και δείχνουν στα πραγματικά δεδομένα Πρωτεύοντα vs. Δευτερεύοντα ευρετήρια (indices) Συσταδοποίηση(Clustering) (αραιά sparse) vs ευρετήρια χωρίς συσταδοποίηση nonclustering (πυκνά - dense) ευρετήρια

10 Ευρετηριοποίηση Ευρετήριο Πρωτεύοντος κλειδιού : Κλειδί αναζήτησης το πρωτεύον κλειδί Δεν περιέχει διπλότυπες εγγραφές Φοιτητής SSN Όνομα Διεύθυνση 123 Σταύρου Αιόλου 234 Αντωνίου Θράκης 678 Πέτρου Αιόλου 456 Νικολάου Θράκης 345 Σταύρου Θράκης

11 Ευρετηριοποίηση Θράκης Αιόλου Ευρετήριο διευθύνσεων Ευρετήριο Δευτερεύοντος κλειδιού : Περιέχει διπλότυπες εγγραφές Φοιτητής SSN Όνομα Διεύθυνση 123 Σταύρου Αιόλου 234 Αντωνίου Θράκης 678 Πέτρου Αιόλου 456 Νικολάου Θράκης 345 Σταύρου Θράκης

12 Indexing Ευρετήριο Δευτερεύοντος κλειδιού : τυπικά με postings lists Θράκης Αιόλου Postings lists Φοιτητής SSN Όνομα Διεύθυνση 123 Σταύρου Αιόλου 234 Αντωνίου Θράκης 678 Πέτρου Αιόλου 456 Νικολάου Θράκης 345 Σταύρου Θράκης

13 Βασική Ιδέα(συνέχεια) Αραιό ευρετήριο: δεν συμπεριλαμβάνονται στο ευρετήριο όλες οι τιμές του πεδίου ευρετηριοποίησης Πυκνό ευρετήριο: το αντίθετο

14 Ευρετηριοποίηση Αραιά ευρετήρια >=456 αραιό ευρετήριο στο γνώρισμα SSN >=123 Φοιτητής SSN Όνομα Διεύθυνση 123 Σταύρου Αιόλου 234 Αντωνίου Θράκης 678 Πέτρου Αιόλου 456 Νικολάου Θράκης 345 Σταύρου Θράκης

15 Sparse Index Files Αραιό ευρετήριο: περιέχει εγγραφές ευρετηρίου μόνο για μερικές τιμές κλειδιών Κατάλληλο μόνο όταν οι εγγραφές είναι σειριακά ταξινομημένες με βάση το κλειδί αναζήτησης Για τον εντοπισμό μιας εγγραφής : με το κλειδί αναζήτησης να έχει τιμή Κ τότε: Βρες την εγγραφή του ευρετηρίου με την μεγαλύτερη τιμή κλειδιού αναζήτησης η οποία είναι μικρότερη από την τιμή K Αναζήτησε το αρχείο ξεκινώντας από την εγγραφή στην οποία δείχνει η εγγραφή του ευρετηρίου που μας επιστράφηκε στο προηγούμενο βήμα Λιγότερος χώρος και μικρότερη επιβάρυνση χώρου για εισαγωγές και διαγραφές Στην γενική περίπτωση σχετικά πιο αργή διαδικασία, για τον εντοπισμό εγγραφών, από τα πυκνά ευρετήρια Καλό tradeoff: αραιά ευρετήρια με μια εγγραφή ευρετηρίου για κάθε block σε ένα αρχείο αντιστοιχεί σε λιγότερα τιμές κλειδιών σε ένα block

16 Ευρετηριοποίηση Πυκνό ευρετήριο Πυκνό ευρετήριο Φοιτητής Ssn Όνομα Διεύθυνση 345 Πετρου Αιόλου 234 Αντωνίου Θράκης 567 Σταύρου Θράκης 456 Νικολάου Θράκης 123 Σταύρου Αιόλου

17 Σύνοψη Όλοι συνδυασμοί είναι δυνατοί... Πυκνό Αραιό Πρωτεύον Σύνηθες Δευτερεύων Σύνηθες Σπάνιο Αραιό ευρετήριο : το πολύ ένα Πυκνά ευρετήρια : όσα επιθυμούμε Συνήθως: Έναπρωτεύονευρετήριοστοπρωτεύονκλειδί(ίσως αραιό) Μερικά δευτερεύοντα ευρετήρια, σταυπόλοιπαγνωρίσματα(πυκνά ευρετήρια)

18 Ευρετηριοποίηση Περιληπτικά Πρωτεύοντα / δευτερεύοντα ευρετήρια Σειριακή μέθοδος προσπέλασης (ISAM) B - trees, B+ - trees Κατακερματισμός Στατικός κατακερματισμός Δυναμικός κατακερματισμός

19 ISAM Τι θα συμβεί εάν το ευρετήριο είναι υπερβολικά μεγάλο για ψάξουμε σ αυτό σειριακά; Θα χρησιμοποιήσουμε ένα πολυεπίπεδο ευρετήριο...

20 ISAM 123 3, >=123 >=456 block Φοιτητής Ssn Όνομα Διεύθυνση 123 Σταύρου Αιόλου 234 Αντωνίου Θράκης 345 Πέτρου Αιόλου 456 Νικολάου Θράκης 567 Σταύρου Θράκης

21 ISAM - Παρατηρήσεις Εάν το ευρετήριο είναι πολύ μεγάλο το αποθηκεύουμε στον δίσκο Διατηρούμε ευρετήριο για το ευρετήριο στην μνήμη Συνήθως δύο επίπεδα δεικτών Το πρώτο επίπεδο θα περιέχει τις πρώτες εγγραφές κάθε block του δίσκου (γιατί;)

22 ISAM Πολυεπίπεδο ευρετήριο

23 ISAM - Παρατηρήσεις Τι γίνεται με τις εισαγωγές / διαγραφές; 123 3, >=123 >= ; Ανδρέου; Κορίνθου. STUDENT Ssn Name Address 123 Σταύρου Αιόλου 234 Αντωνίου Θράκης 345 Πέτρου Αιόλου 456 Νικολάου Θράκης 567 Σταύρου Θράκης

24 ISAM - Παρατηρήσεις Τι γίνεται με τις εισαγωγές / διαγραφές; 123 3, ΦΟΙΤΗΤΗΣ Ssn Όνομα Διεύθυνση 123 Σταύρου Αιόλου 234 Αντωνίου Θράκης 345 Πέτρου Αιόλου 456 Νικολάου Θράκης 567 Σταύρου Θράκης υπερχείλιση 124; Ανδρέου; Κορίνθου. Προβλήματα?

25 ISAM - Παρατηρήσεις Τι γίνεται με τις εισαγωγές / διαγραφές; 123 3, ΦΟΙΤΗΤΗΣ Ssn Όνομα Διεύθυνση 123 Σταύρου Αιόλου 234 Αντωνίου Θράκης 345 Πέτρου Αιόλου 456 Νικολάου Θράκης 567 Σταύρου Θράκης Οι αλυσίδες υπερχείλισης μπορεί να επεκταθούν υπερβολικά Τι μπορούμε να κάνουμε; υπερχείλιση 124; Ανδρέου; Κορίνθου.

26 ISAM - Παρατηρήσεις Τι γίνεται με τις εισαγωγές / διαγραφές; 123 3, ΦΟΙΤΗΤΗΣ Ssn Όνομα Διεύθυνση 123 Σταύρου Αιόλου 234 Αντωνίου Θράκης 345 Πέτρου Αιόλου 456 Νικολάου Θράκης 567 Σταύρου Θράκης overflows 124; Ανδρέου; Κορίνθου. Οι αλυσίδες υπερχείλισης μπορεί να επεκταθούν υπερβολικά - Έτσι: σταμάτα την διαδικασία & αναδιοργάνωσε τις εγγραφές άρχισε όταν η χρησιμοποίηση είναι στο ~80%

27 ISAM - Παρατηρήσεις Εάν το ευρετήριο είναι πολύ μεγάλο το αποθηκεύουμε στον δίσκο διατηρούμε ευρετήριο για το ευρετήριο στην μνήμη Συνήθως δύο επίπεδα ευρετηρίου, για κάθε μπλόκ δίσκου μία εγγραφή στο ευρετήριο του προηγούμενου επιπέδου Τυπικά, blocks: 80% γεμάτα στην αρχική κατάσταση (γιατί; Ποια είναι τα πιθανά προβλήματα/ μη αποδοτικές καταστάσεις;)

28 Μέχρι τώρα δείκτες (όπως ISAM) πάσχουν λόγω της συχνής αναγκαιότητας για ανανεώσεις δεδομένων Μία σειριακή σάρωση δεδομένων σε ένα πρωτεύον ευρετήριο είναι αποδοτική, αλλά μία σειριακή σάρωση σε ένα δευτερεύον ευρετήριο είναι ακριβή Κάθε προσπάθεια ανάκτησης εγγραφής μπορεί να απαιτήσει την ανάκτηση ενός block από τον δίσκο Εναλλακτικές δομές ευρετηρίου : B - trees

29 Ευρετηριοποίηση (Indexing)- Περιληπτικά Πρωτεύοντα / δευτερεύοντα ευρετήρια Σειριακή μέθοδος προσπέλασης (ISAM) B - trees, B+ - trees Κατακερματισμός Στατικός κατακερματισμός Δυναμικός κατακερματισμός

30 B-trees Η οικογένεια των πιο χρήσιμων σχημάτων ευρετηρίων (B-trees, B +- trees, B * -trees) Μπορούν να χρησιμοποιηθούν για την υλοποίηση Πρωτευόντων/ δευτερευόντων ευρετηρίων Πυκνών / αραιών ευρετηρίων Είναι ισοζυγισμένα (balanced) n-way δέντρα αναζήτησης

31 B-trees Μειονεκτήματα ευρετηριοποιημένων σειριακών αρχείων : Η απόδοση μειώνεται καθώς το αρχείο μεγαλώνει Δημιουργία πολλών Block υπερχείλισης Απαιτείται περιοδική αναδιοργάνωση ολόκληρου του αρχείου Πλεονεκτήματα των B + -tree ευρετηρίων αρχείων : Αυτόματη αναδιοργάνωση με μικρές τοπικές αλλαγές μετά από εισαγωγές και διαγραφές Δεν απαιτείται αναδιοργάνωση ολόκληρου του αρχείου Μειονεκτήματα των B + -tree ευρετηρίων αρχείων : Επιπλέον επιβάρυνση χώρου για εισαγωγές και διαγραφές Τα πλεονεκτήματα των B + trees υπερκεράζουν τα μειονεκτήματά τους, Τα B + trees χρησιμοποιούνται ευρέως

32 B-trees Π.χ., B-tree τάξης 3 (δηλ: το πολύ 3 δείκτες από κάθε κόμβο): <6 6 >6 <9 9 >

33 B-tree ιδιότητες: Κάθε κόμβος, σε ένα B-tree τάξης n : Ταξινομημένα με βάση το κλειδί Το πολύ n δείκτες Το ελάχιστο n/2 δείχτες (εκτός από την ρίζα) Όλα τα φύλλα στο ίδιο επίπεδο Εάν ο αριθμός των δεικτών είναι k τότε ο κάθε κόμβος έχει ακριβώς k-1 κλειδιά p1 pn v1 v2 v n-1

34 ιδιότητες Κόμβοι block aware : κάθε κόμβος σελίδα δίσκου O(log (N)) γιαταπάντα! (ins/del/search) Τυπικά, εάν N = , τότε 2 3 επίπεδα Χρησιμοποίηση >= 50%, εγγυημένα, κατά μέσο όρο 69%

35 Ερωτήματα- Queries Αλγόριθμος για ερώτημα ακριβούς ταιριάσματος (exact match query); (Π.χ., ssn=8?) <6 6 >6 <9 9 >

36 Ερωτήματα- Queries Αλγόριθμος για ερώτημα ακριβούς ταιριάσματος (exact match query); (Π.χ., ssn=8?) <6 6 >6 <9 9 >

37 Ερωτήματα- Queries Αλγόριθμος για ερώτημα ακριβούς ταιριάσματος (exact match query); (Π.χ., ssn=8?) <6 6 >6 <9 9 >

38 Ερωτήματα- Queries Αλγόριθμος για ερώτημα ακριβούς ταιριάσματος (exact match query); (Π.χ., ssn=8?) <6 6 >6 <9 9 >

39 Queries Αλγόριθμος για ερώτημα ακριβούς ταιριάσματος (exact match query); (Π.χ., ssn=8?) <6 6 >6 <9 9 >9 Height βήματα (= προσπελάσεις στο δίσκο)

40 Ερωτήματα- Queries Αλγόριθμος για ερώτημα ακριβούς ταιριάσματος (exact match query); (Π.χ., ssn=8?) <6 6 >6 <9 9 >

41 Ερωτήματα- Queries Τι γίνεται για ερωτήματα διαστήματος (range queries); (Π.χ., 5<salary<8) Εγγύτητα/ αναζητήσεις κοντινότερου γείτονα; (Π.χ., salary ~ 8 )

42 Ερωτήματα- Queries Τι γίνεται για ερωτήματα διαστήματος (Π.χ., 5<salary<8) <6 6 >6 <9 9 >

43 Ερωτήματα- Queries Τι γίνεται για ερωτήματα διαστήματος ;(Π.χ., 5<salary<8) Εγγύτητα/ αναζητήσεις κοντινότερου γείτονα; (Π.χ., salary ~ 8 ) <6 6 >6 <9 9 >

44 B-trees: Εισαγωγές Εισαγωγή σε Φύλλο(leaf); σε περίπτωση υπερχείλισης προώθησε την μέση τιμή προς τα πάνω (περιοδικά) Διέσπασε : ώστε να διατηρούνται οι ιδιότητες ενός B-tree

45 B-trees Εύκολη περίπτωση: Tree T0; Εισαγωγή του 8 <6 6 >6 <9 9 >

46 B-trees Tree T0; Εισαγωγή του 8 <6 6 >6 <9 9 >

47 B-trees Η δυσκολότερη περίπτωση : Tree T0; Εισαγωγή του 2 <6 6 >6 <9 9 >

48 B-trees Η δυσκολότερη περίπτωση : Tree T0; Εισαγωγή του Προώθησε την μέση τιμή προς τα πάνω

49 B-trees Η δυσκολότερη περίπτωση : Tree T0; Εισαγωγή του 2 Υπερχείλιση, προώθησε τη μέση τιμή

50 B-trees Η δυσκολότερη περίπτωση : Tree T0; Εισαγωγή του 2 Τελικό στάδιο

51 B-trees - Εισαγωγή Ερώτηση: τι θα γίνει εάν υπάρχουν μέσες τιμές; (Π.χ., τάξη 4) Απάντηση: λειτουργεί οτιδήποτε από τα δύο

52 B-trees - Εισαγωγή Εισαγωγή σε φύλλο, σε υπερχείλιση, προώθησε το μέσο πάνω (περιοδικά διέδωσε την διάσπαση ) Διάσπαση: για την διατήρηση όλων των ιδιοτήτων ενός B-tree (!!) Παρατηρήστε πως αναπτύσσεται: το ύψος αυξάνεται όταν υπάρξει υπερχείλιση και διασπαστεί η ρίζα Αυτόματη αύξηση και αναδιοργάνωση (συγκριτικά με ISAM!)

53 Ψευδοκώδικας INSERTION OF KEY K find the correct leaf node L ; if ( L overflows ){ split L, by pushing the middle key upstairs to parent node P ; if ( P overflows){ } else{ repeat the split recursively; add the key K in node L ; /* Διατήρησε την διάταξη των κλειδιών στον κόμβο L */ }

54 Ευρετηριοποίηση (Indexing)- Περιληπτικά Πρωτεύοντα / δευτερεύοντα ευρετήρια Σειριακή μέθοδος προσπέλασης (ISAM) B - trees, Ορισμός, αναζήτηση, εισαγωγή, διαγραφή B+ - trees Κατακερματισμός Στατικός κατακερματισμός Δυναμικός κατακερματισμός

55 Διαγραφή Ο αλγόριθμος συνοπτικά : Διέγραψε κλειδί Σε περίπτωση υπερχείλισης μπορεί να προκληθεί συγχώνευση Στην πράξη κάποιοι σχεδιαστές απλά αφήνουν να συμβεί υπερχείλιση...

56 B-trees Διαγραφή 1 η Περίπτωση: διαγραφή κλειδιού από κόμβο φύλο - χωρίς υπερχείλιση 2 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - χωρίς υπερχείλιση 3 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και πλούσιος γειτονικός κόμβος 4 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και φτωχός γειτονικός κόμβος

57 B-trees Διαγραφή 1 η Περίπτωση: διαγραφή κλειδιού από κόμβο φύλο - χωρίς υπερχείλιση Π.χ.(Διέγραψε το 3 απότοδέντροfrom T0) <6 6 >6 <9 9 >

58 B-trees Διαγραφή Η ευκολότερη περίπτωση: Tree T0; Διαγραφή του 3 <6 6 >6 <9 9 >

59 B-trees Διαγραφή Η ευκολότερη περίπτωση: Tree T0; Διαγραφή του 3 ΤΕΛΙΚΟ ΔΕΝΤΡΟ <6 6 >6 <9 9 >

60 B-trees Διαγραφή 1 η Περίπτωση: διαγραφή κλειδιού από κόμβο φύλο - χωρίς υπερχείλιση 2 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - χωρίς υπερχείλιση 3 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και πλούσιος γειτονικός κόμβος 4 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και φτωχός γειτονικός κόμβος

61 B-trees Διαγραφή 2 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - χωρίς υπερχείλιση (Π.χ., διέγραψε το 6 από το T0) <6 6 >6 <9 9 >9 Διέγραψε & προώθησε:

62 B-trees Διαγραφή 2 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - χωρίς υπερχείλιση (Π.χ., διέγραψε το 6 από το T0) <6 >6 <9 9 >9 Διέγραψε & προώθησε:

63 B-trees Διαγραφή 2 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - χωρίς υπερχείλιση (Π.χ., διέγραψε το 6 από το T0) <6 3 >6 <9 9 >9 Διέγραψε & προώθησε:

64 B-trees Διαγραφή 2 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - χωρίς υπερχείλιση (Π.χ., διέγραψε το 6 από το T0) ΤΕΛΙΚΟ ΔΕΝΤΡΟ <3 3 >3 <9 9 >

65 B-trees Διαγραφή 2 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - χωρίς υπερχείλιση (Π.χ., διέγραψε το 6 από το T0) Ερώτηση: Πως προωθούμε? Απάντηση: επέλεξε το μεγαλύτερο κλειδί από το αριστερότερο υποδέντρο (ή το μικρότερο από το δεξί υπόδεντρο) Παρατήρηση: Κάθε διαγραφή οδηγεί τελικά σε διαγραφή κλειδιού από κάποιο κόμβο φύλλο

66 B-trees Διαγραφή 2 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - χωρίς υπερχείλιση (Π.χ., διέγραψε το 6 από το T0) <6 3 >6 <9 9 >9 Διέγραψε & προώθησε:

67 B-trees Διαγραφή 1 η Περίπτωση: διαγραφή κλειδιού από κόμβο φύλο - χωρίς υπερχείλιση 2 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - χωρίς υπερχείλιση 3 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και πλούσιος γειτονικός κόμβος 4 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και φτωχός γειτονικός κόμβος

68 B-trees Διαγραφή 3 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και πλούσιος γειτονικός κόμβος (Π.χ., διέγραψε το 7 από το T0) <6 6 >6 <9 9 >9 Διέγραψε & δάνεισε:

69 B-trees Διαγραφή 3 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και πλούσιος γειτονικός κόμβος (Π.χ., διέγραψε το 7 από το T0) Πλούσιος γείτονας <6 >6 <9 6 9 >9 Διέγραψε & δάνεισε:

70 3 η B-trees Διαγραφή Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και πλούσιος γειτονικός κόμβος Πλούσιος γείτονας = μπορεί να δώσει ένα κλειδί χωρίς υπερχείλιση Δανείζει ένα κλειδί : πάντα ΔΙΑΜΕΣΟΥ του ΜΗΤΡΙΚΟΥ ΚΟΜΒΟΥ!

71 B-trees Διαγραφή 3 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και πλούσιος γειτονικός κόμβος (Π.χ., διέγραψε το 7 από το T0) Πλούσιος Γείτονας <6 >6 <9 6 9 >9 Διέγραψε & δάνεισε: OXI!

72 B-trees Διαγραφή 3 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και πλούσιος γειτονικός κόμβος (Π.χ., διέγραψε το 7 από το T0) <6 >6 <9 6 9 >9 Διέγραψε & δάνεισε:

73 B-trees Διαγραφή 3 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και πλούσιος γειτονικός κόμβος (Π.χ., διέγραψε το 7 από το T0) <6 >6 <9 3 9 >9 Διέγραψε & δάνεισε:

74 B-trees Διαγραφή 3 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και πλούσιος γειτονικός κόμβος (Π.χ., διέγραψε το 7 από το T0) ΤΕΛΙΚΟ ΔΕΝΤΡΟ <3 >3 <9 3 9 >9 Διέγραψε & δάνεισε διαμέσου του μητρικού κόμβου:

75 B-trees Διαγραφή 1 η Περίπτωση: διαγραφή κλειδιού από κόμβο φύλο - χωρίς υπερχείλιση 2 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - χωρίς υπερχείλιση 3 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και πλούσιος γειτονικός κόμβος 4 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και φτωχός γειτονικός κόμβος

76 B-trees Διαγραφή 4 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και φτωχός γειτονικός κόμβος (Π.χ., διέγραψε το 13 από το T0) <6 6 >6 <9 9 >

77 B-trees Διαγραφή 4 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και φτωχός γειτονικός κόμβος (Π.χ., διέγραψε το 13 από το T0) <6 6 >6 <9 9 >

78 B-trees Διαγραφή 4 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και φτωχός γειτονικός κόμβος (Π.χ., διέγραψε το 13 από το T0) Συγχώνευσε φτωχό <6 6 9 γείτονα >6 <9 >

79 B-trees Διαγραφή 4 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και φτωχός γειτονικός κόμβος (Π.χ., διέγραψε το 13 από το T0) Συγχώνευσε, αποσπώντας ένα κλειδί από τον πατέρα Ακριβώςτοαντίθετοαπότηνεισαγωγή: διέσπασε και προώθησε προς τα επάνω, vs. Συγχώνευσε και προώθησε προς τα κάτω Παράδειγμα:...

80 B-trees Διαγραφή 4 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και φτωχός γειτονικός κόμβος (Π.χ., διέγραψε το 13 από το T0) Συγχώνευσε φτωχό <6 6 γείτονα 1 3 >6 7 9

81 B-trees Διαγραφή 4 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και φτωχός γειτονικός κόμβος (Π.χ., διέγραψε το 13 από το T0) ΤΕΛΙΚΟ ΔΕΝΤΡΟ< >6 7 9

82 B-trees Διαγραφή 4 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υπερχείλιση και φτωχός γειτονικός κόμβος (Π.χ., διέγραψε το 13 από το T0) απέσπασε κλειδί από τον μητρικό κόμβο και συγχώνευσε Ερώτηση: Τι θα συμβεί αν συμβεί υπερχείλιση στον μητρικό κόμβο; Απάντηση: επανέλαβε αναδρομικά

83 Διαγραφή B-tree Ψευδοκώδικας DELETION OF KEY K locate key K, in node N if( N is a non-leaf node) { delete K from N ; find the immediately largest key K1 ; /* το οποίο εξασφαλίζεται ότι θα είναι στον κόμβο φύλλο L */ copy K1 in the old position of K ; invoke this DELETION routine on K1 from the leaf node L ; else { /*Ο N είναι κόμβος φύλλο */... (next slide..)

84 Διαγραφή B-tree Ψευδοκώδικας /* Ο N είναι κόμβος φύλλο */ if( N underflows ){ let N1 be the sibling of N ; if( N1 is "rich"){ /* ie.,ο N1 μπορεί να μας δανείσει ένα κλειδί */ borrow a key from N1 THROUGH the parent node; }else{ /* N1 είναι έίναι μακριά από τον κίνδυνο της υπερχείλισης κατά ένα κλειδί */ MERGE: pull the key from the parent P, and merge it with the keys of N and N1 into a new node; if( P underflows){ repeat recursively } } }

85 B-trees πρακτικά: Πρακτικά: Όχι κενά φύλλα Θεωρία <6 6 >6 <9 9 Δείκτες προς τις εγγραφές >

86 B-trees πρακτικά: Πρακτικά: Όχι κενά φύλλα πράξη <6 6 >6 <9 9 Δείκτες προς τις εγγραφές >

87 B-trees πρακτικά: Πρακτικά: <6 6 9 >6 <9 > ΑΦΜ

88 B-trees πρακτικά: Πρακτικά τα πρότυπα είναι: - Κόμβοι φύλλα: (v1, rp1, v2, rp2, vn, rpn) - Εσωτερικοί κόμβοι: (p1, v1, rp1, p2, v2, rp2, ) <6 6 >6 <9 9 >

89 Ευρετηριοποίηση (Indexing)- Περιληπτικά Πρωτεύοντα / δευτερεύοντα ευρετήρια Σειριακή μέθοδος προσπέλασης (ISAM) B - trees, B+ - trees Κατακερματισμός

90 B+ trees - κίνητρο B-tree τύπωσε τα κλειδιά σε ταξινομημένη σειρά : <6 6 >6 <9 9 >

91 B+ trees - κίνητρο B-tree: χρειάζεται να επιστρέφει στον μητρικό κόμβο (back-tracking) Πώς θα το αποφύγουμε; <6 6 >6 <9 9 >

92 Λύση: B + -trees Διευκόλυνε σειριακές πράξεις Ενώνουν όλους τους κόμβους φύλλα μαζί και Αντιγράφουν κλειδιά των εσωτερικών κόμβων ώστε να βεβαιωθεί ότι κάθε κλειδί εμφανίζεται στο επίπεδο των φύλλων

93 B+ trees <6 6 >=6 <9 9 >=

94 B + -Trees (συν.) Ένα B + -tree είναι μια δενδρική δομή που ικανοποιεί τις παρακάτω προϋποθέσεις / ιδιότητες : Όλα τα μονοπάτια από την ρίζα ως το επίπεδο των φύλλων έχουν το ίδιο μήκος Κάθε κόμβος που δεν είναι ρίζα ή φύλλο έχει το ελάχιστο [n/2] και το μέγιστο n παιδιά Ένας κόμβος φύλλο έχει το ελάχιστο [(n 1)/2] και το μέγιστο n-1 τιμές Ειδικές περιπτώσεις: Εάν η ρίζα δεν είναι φύλλο θα πρέπει να έχει τουλάχιστον δύο παιδιά Εάν η ρίζα είναι φύλλο (δηλ δεν υπάρχουν άλλοι κόμβοι στο δέντρο), μπορεί να έχει το ελάχιστο 0 και το μέγιστο (n-1) τιμές

95 B + -Tree Δομή κόμβων Τυπικός κόμβος K i : Οι τιμές των κλειδιών αναζήτησης (search-key) P i : δείκτες προς τους κόμβους παιδιά (για εσωτερικούς κόμβους) ή προς εγγραφές ή κάδους εγγραφών (για κόμβους φύλλα) Τα κλειδιά αναζήτησης σε έναν κόμβο είναι διατεταγμένα K 1 < K 2 < K 3 <... < K n 1

96 Κόμβοι φύλλα σε ένα B + -Tree Ιδιότητες Για κάθε i = 1, 2,..., n 1 οδείκτηςp i, είτε δείχνει σε εγγραφές αρχείων με τιμή κλειδιού αναζήτησης K, i είτε σε κάποιο κάδο δεικτών προς εγγραφές αρχείων, όπου κάθε εγγραφή έχει κλειδί αναζήτησης με τιμή K i. Θα χρησιμοποιήσουμε την δομή κάδων μόνο εάν τα κλειδιά αναζήτησης δεν αποτελούν πρωτεύων κλειδί Εάν οι κόμβοι L i,l J είναι φύλλα και i< j, τότε οι τιμές των κλειδιών αναζήτησης του L i είναι μικρότερες από τις τιμές των κλειδιών αναζήτησης του L j ΟδείκτηςP n δείχνει στον επόμενο κόμβο φύλλο κατά την φορά διάταξης των κλειδιών αναζήτησης

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

98 B-Tree vs B+-Tree B-tree (επάνω) και B+-tree (κάτω) για ίδιο σύνολο δεδομένων

99 B+ tree Εισαγωγή - Ψευδοκώδικας INSERTION OF KEY K insert search-key value to L such that the keys are in order; if ( L overflows) { split L ; insert (ie., COPY) smallest search-key value of new node to parent node P ; if ( P overflows) { repeat the B-tree split procedure recursively; /* Παρατήρηση: διάσπαση του B-TREE; Όχι το B+ -tree */ } }

100 B+ tree Εισαγωγή Ψευδοκώδικας (συνέχεια) /* ΠΡΟΣΟΧΗ: Διαχειριζόμαστε μια διάσπαση στο επίπεδο των κόμβων φύλλων με το να αντιγράψουμε το μέσο κλειδί στον κόμβο του ανώτερου επιπέδου. Διαχειριζόμαστε μια διάσπαση σε υψηλότερο επίπεδο με το να προωθούμε το μέσο κλειδί προς τα επάνω */

101 B+ trees - Εισαγωγή Π.χ., εισαγωγή 8 <6 6 >=6 <9 9 >=

102 B+ trees - Εισαγωγή Π.χ., εισαγωγή 8 <6 6 >=6 <9 9 >=

103 B+ trees - Εισαγωγή Π.χ., εισαγωγή 8 < >=6 <9 6 9 >= Αντέγραψε την μεσαία τιμή επάνω

104 B+ trees - Εισαγωγή Π.χ., εισαγωγή 8 <6 6 >=6 <9 9 7 >= Αντέγραψε την μεσαία τιμή επάνω

105 B+ trees - Εισαγωγή Π.χ., εισαγωγή 8 <6 6 >=6 <9 9 7 Σε περίπτωση υπερχείλισης σε εσωτερικό κόμβο απλά προώθησε την μεσαία τιμή >= Αντέγραψε την μεσαία τιμή επάνω

106 B+ trees - Εισαγωγή Π.χ., εισαγωγή 8 <6 <7 7 >=7 6 9 <9 >=6 >= Τελικό Δέντρο

107 B-Trees vs B+-Trees Πλεονεκτήματα ευρετηρίων που υλοποιούνται με B-Trees: Μπορεί να χρησιμοποιηθούν λιγότεροι κόμβοι από ένα αντίστοιχο B + -Tree. Μερικές φορές είναι δυνατό να βρούμε την τιμή του κλειδιού αναζήτησης πριν προσπελάσουμε τον κόμβο φύλλο. Μειονεκτήματα ευρετηρίων που υλοποιούνται με B-Trees: Μόνο ένα μικρό κλάσμα των κλειδιών αναζήτησης μπορεί να βρεθούν νωρίς Οι εσωτερικοί κόμβοι είναι συνήθως μεγαλύτεροι, έτσι ο βαθμός διακλάδωσης(fan-out) fo μειώνεται. Έτσι, τα B-Trees έχουν συνήθως μεγαλύτερο βάθος από τα αντίστοιχα B + -Trees. Η εισαγωγή και διαγραφή είναι περισσότερο πολύπλοκη απ ότι στα B + - trees Υλοποίηση δυσκολότερη από ότι για B + -Trees. Τυπικά, τα πλεονεκτήματα των B-Trees δεν καταργούν τα μειονεκτήματα

108 B*-tree Σε ένα B-tree, χρησιμοποίηση (utilization) χειρότερης περίπτωσης = 50%, εάν διασπάσουμε όλες τις σελίδες Πως θα αυξήσουμε την χρησιμοποίηση στα B - trees? με τα B* - trees!

109 B-trees και B*-trees Π.χ., Tree T0; Εισαγωγή του 2 <6 6 >6 <9 9 >

110 B*-trees: Αναβληθείς διάσπαση! Αντί να προκληθεί διάσπαση, δάνεισε κλειδί στον γειτονικό κόμβο! (διαμέσου του μητρικού κόμβου, φυσικά!) <6 6 >6 <9 9 >

111 B*-trees: Αναβληθείς διάσπαση! Αντί να προκληθεί διάσπαση, δάνεισε κλειδί στον γειτονικό κόμβο! (διαμέσου του μητρικού κόμβου, φυσικά!) <3 3 >3 <9 9 >9 ΤΕΛΙΚΟ ΔΕΝΤΡΟ

112 B*-trees: Αναβληθείς διάσπαση! Παρατηρήσεις: μικρότερο ύψος, περισσότερο συμπαγές, ταχύτερο δέντρο Είναι μια από τις σπάνιες περιπτώσεις όπου η χρησιμοποίηση χώρου και η ταχύτητα αυξάνονται ταυτόχρονα Αλλά: τι γίνεται στην περίπτωση που ο γειτονικός κόμβος δεν έχει χώρο για να μας δανείσει ;

113 B*-trees: Αναβληθείς διάσπαση! Αλλά: τι γίνεται στην περίπτωση που ο γειτονικός κόμβος δεν έχει χώρο για να μας δανείσει ; Απάντηση: Διάσπαση 2-σε-3 : Πάρε τα κλειδιά από τον γειτονικό κόμβο Συγχώνευσέ τα με αυτά του αρχικού κόμβου (και ένα κλειδί από τον πατέρα) Διέσπασέ τα στα τρία Λεπτομέρειες: αρκετά μπερδεμένο (ακόμα χειρότερο στην περίπτωση της διαγραφής)

114 Συμπεράσματα Όλες οι παραλλαγές ενός B-tree μπορούν να χρησιμοποιηθούν για κάθε είδους ευρετήριο Πρωτεύον/ Δευτερεύον Αραιό/ Πυκνό Όλα έχουν εξαιρετική απόδοση χειρότερης περίπτωσης O(logN) για εισαγωγές/διαγραφές/αναζήτηση Είναι η δομή ευρετηρίου που συνήθως χρησιμοποιείται

115 Ευρετηριοποίηση (Indexing)- Περιληπτικά Πρωτεύοντα / δευτερεύοντα ευρετήρια Σειριακή μέθοδος προσπέλασης (ISAM) B - trees, B+ - trees Κατακερματισμός Στατικός Δυναμικός

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ευρετήρια. Βάσεις Δεδομένων. Διδάσκων: Μαρία Χαλκίδη Ευρετήρια Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη Βασικές έννοιες Οι μηχανισμοί δεικτοδότησης χρησιμοποιούνται για να επιταχύνουν την προσπέλαση σε επιθυμητά δεδομένα. π.χ., author catalog in library

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 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 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή (ως τρόπος οργάνωσης αρχείου) μέγεθος

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μπαλτάς Αλέξανδρος 21 Απριλίου 2015

Μπαλτάς Αλέξανδρος 21 Απριλίου 2015 ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ B- Trees Δομές Δεδομένων Μπαλτάς Αλέξανδρος 21 Απριλίου 2015 ampaltas@ceid.upatras.gr Περιεχόμενα 1. Εισαγωγή 2. Ορισμός B- tree 3. Αναζήτηση σε B- tree 4. Ένθεση σε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Cuckoo Hashing. Αλγόριθμοι και Πολυπλοκότητα. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Cuckoo Hashing Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο β Πολυτεχνείο Πρόβλημα (ADT) Λεξικού υναμικά μεταβαλλόμενη συλλογή αντικειμένων που αναγνωρίζονται με «κλειδί» (π.χ.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Συναρτησιακές Εξαρτήσεις (Functional Dependencies) Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan

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

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

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

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

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

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

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 20: Δυαδικό Δέντρο Αναζήτησης Δυαδικό δέντρο Κάθε κόμβος «γονέας» περιέχει δύο δείκτες που δείχνουν σε δύο κόμβους «παιδιά» του ιδίου τύπου. Αν οι δείκτες προς αυτούς

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

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

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

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

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

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

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

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

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

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

Lecture 21: Functional Dependencies and Normalization

Lecture 21: Functional Dependencies and Normalization Department of Computer Science University of Cyprus EPL342 Databases Lecture 21: Functional Dependencies and Normalization Informal Design Guidelines (Chapter 14.1, Elmasri-Navathe 7ED) Demetris Zeinalipour

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

Red-black δέντρα (Κεφ. 5)

Red-black δέντρα (Κεφ. 5) Red-black δέντρα (Κεφ. ) Δομές Δεδομένων Παπαγιαννόπουλος Δημήτριος 30 Μαρτίου 07 30 Μαρτίου 07 papagianno@ceid.upatras.gr . Εισαγωγή Περιεχόμενα. Ορισμός red-black δέντρων 3. Αναζήτηση σε red-black δέντρα

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

Advanced Data Indexing

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

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

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

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

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

Advanced Data Indexing

Advanced Data Indexing Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Αναζήτηση Δέντρα ( ο Μέρος) Αναζήτηση (Searching) Η Αναζήτηση Searching (Αναζήτηση) ενός αντικειμένου μέσα από N ταξινομημένα αντικείμενα. Είναι

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

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

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

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

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

Διάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing) Διάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ανασκόπηση Προβλήματος και Προκαταρκτικών Λύσεων Bit Διανύσματα Τεχνικές Κατακερματισμού & Συναρτήσεις

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

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

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

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

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

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

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

R-Trees, kd-trees, QuadTrees. Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών

R-Trees, kd-trees, QuadTrees. Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών ,, Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών Εαρινό Εξάμηνο 2011-2012 Table of contents 1 Table of contents 1 2 Table of contents 1 2 3 Table of contents 1 2 3 4 Table

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

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

Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Διαχείριση Συγκρούσεων με Ανοικτή Διεύθυνση a) Linear

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

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 25: Τεχνικές Κατακερματισμού II Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Διαχείριση Συγκρούσεων με Ανοικτή Διεύθυνση a) Linear Probing, b) Quadratic Probing c) Double Hashing Διατεταγμένος

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

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

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

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

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

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

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

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

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

Physical DB Design. B-Trees Index files can become quite large for large main files Indices on index files are possible.

Physical DB Design. B-Trees Index files can become quite large for large main files Indices on index files are possible. B-Trees Index files can become quite large for large main files Indices on index files are possible 3 rd -level index 2 nd -level index 1 st -level index Main file 1 The 1 st -level index consists of pairs

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

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

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

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

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

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

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

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

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

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

AVL-trees C++ implementation

AVL-trees C++ implementation Τ Μ Η Μ Α Μ Η Χ Α Ν Ι Κ Ω Ν Η / Υ Κ Α Ι Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ AVL-trees C++ implementation Δομές Δεδομένων Μάριος Κενδέα 31 Μαρτίου 2015 kendea@ceid.upatras.gr Εισαγωγή (1/3) Δυαδικά Δένδρα Αναζήτησης:

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

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: Δέντρα ΙΙ -Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης(ΔΔΑ) - Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου - Εισαγωγή

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

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

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

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