Επεξεργασία & Βελτιστοποίηση Ερωτηµάτων

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

Download "Επεξεργασία & Βελτιστοποίηση Ερωτηµάτων"

Transcript

1 Επεξεργασία & Βελτιστοποίηση Ερωτηµάτων Οβελτιστοποιητής ερωτηµάτων (query optimizer) Μετασχηµατισµός εκφράσεων σχεσιακής άλγεβρας Υπολογισµός µεγεθών πράξεων σχεσιακής άλγεβρας επιλογή, σύνδεση, άλλες πράξεις (προβολή κλπ.) Τρόποι εκτέλεσης (και κόστος) πράξεων σχεσιακής άλγεβρας Αποτίµηση σύνθετων εκφράσεων (materialization, pipelining) Βελτιστοποίηση σε εµπορικά Σ Β Βασική πηγή διαφανειών: Silberschatz et al., Database System Concepts, 4/e Εργαστήριο Πληροφοριακών Συστηµάτων, Παν/µιο Πειραιώς ( έκδοση: Οκτώβριος 2007 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Αρχιτεκτονική ενός Σ Β DBMS DATA MANAGER. Output Generator Dictionary Manager DATABASE Application USER Query I/O Processor LOG Parser Precompiler Authorization Control Transaction Manager Optimizer Recovery Manager Generation of Executable Code Data Dictionary (Schemas) Integrity Checker Update Processor Query Processor 2 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.1

2 ιάγραµµα Σχεσιακού σχήµατος Βάση δεδοµένων τράπεζας (πελάτες υποκαταστήµατα καταθετικοί λογαριασµοί δάνεια) 3 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Οβελτιστοποιητής ερωτηµάτων (query optimizer) Μετασχηµατισµός εκφράσεων σχεσιακής άλγεβρας Υπολογισµός µεγεθών πράξεων σχεσιακής άλγεβρας επιλογή, σύνδεση, άλλες πράξεις (προβολή κλπ.) Τρόποι εκτέλεσης (και κόστος) πράξεων σχεσιακής άλγεβρας Αποτίµηση σύνθετων εκφράσεων (materialization, pipelining) Βελτιστοποίηση σε εµπορικά Σ Β ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.2

3 Επεξεργασία ερωτηµάτων (1) Όταν ο client υποβάλει ένα ερώτηµα στοserver (συνήθως σε δηλωτική γλώσσα, π.χ. SQL), ο server εκτελεί τα εξής βήµατα: 1. Συντακτική ανάλυση (parsing) και µετάφραση (translation) Μετατροπή σε έκφραση σχεσιακής άλγεβρας 2. Βελτιστοποίηση (optimization) Σύνθεση εναλλακτικών πλάνων εκτέλεσης (ισοδύναµες εκφράσεις σχεσιακής άλγεβρας χρήση ή µη ευρετηρίων για τις επιλογές τρόποι υλοποίησης συνδέσεων) 3. Εκτέλεση πλάνου (query plan execution) και επιστροφή αποτελέσµατος 5 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Επεξεργασία ερωτηµάτων (2) ή πιο απλά... 6 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.3

4 Επεξεργασία ερωτηµάτων (3) Συντακτική ανάλυση και Μετάφραση Το ερώτηµα SQL SELECT customer-name FROM account JOIN depositor WHERE balance < 2500 ελέγχεται για συντακτικά / σηµασιολογικά σφάλµατα και στη συνέχεια µεταφράζεται στην ισοδύναµη έκφραση σχεσιακής άλγεβρας: customer-name (σ balance<2500 (account depositor)) Βελτιστοποίηση... customer-name (σ balance<2500 (account) depositor) Εκτέλεση πλάνου και επιστροφή αποτελέσµατος Η µηχανή υπολογισµού δέχεται ως είσοδο ένα σχέδιο εκτέλεσης (query execution plan - QEP), το εκτελεί και επιστρέφει τις απαντήσεις στον client. depositor 7 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Βελτιστοποίηση ερωτηµάτων Μια έκφραση της σχεσιακής άλγεβρας ενδέχεται να έχει πολλές ισοδύναµες εκφράσεις Π.χ. ηέκφρασησ balance<2500 ( balance (account)) ισοδυναµεί µε τηνέκφραση balance (σ balance<2500 (account)) Κάθε πράξη της σχεσιακής άλγεβρας µπορεί να υλοποιηθεί µε χρήση κάποιου από πολλούς διαφορετικούς αλγορίθµους Άρα, δεν αρκεί µόνο ο προσδιορισµός της πράξης, αλλά χρειάζεται να προσδιοριστεί και ο αλγόριθµος που θα χρησιµοποιηθεί για την υλοποίησή της. Οκαθορισµός µιας λεπτοµερούς στρατηγικής για τον υπολογισµό µιας πράξης ονοµάζεται σχέδιο εκτέλεσης (execution plan). 8 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.4

5 Αφαιρετική δοµή βελτιστοποιητή ηλωτική Βελτιστοποίηση Rewriter ιαδικαστική Βελτιστοποίηση Αλγεβρικός χώρος Ευρετήρια Planner Μοντέλο κόστους Αποτίµηση µεγέθους αποτελέσµατος Κατασκευή πιθανών πλάνων Αποτίµηση παραγόµενων πλάνων 9 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 1 ο στάδιο - Rewriter Υπάρχει ένα επίπεδο «δηλωτικής» βελτιστοποίησης, ή επανεγγραφής, όπου παράγουµε λογικάισοδύναµους τρόπους να εκφράσουµε ένα ερώτηµα µέσω του rewriter Αυτό συµπεριλαµβάνει, συνήθως: Μετατροπή εκφράσεωνσε«βολική» µορφή (χρήση conjunctive normal forms CNF) Απλοποίηση εµφωλευµένων ερωτηµάτων Σηµασιολογικά έξυπνες µετατροπές Παραδείγµατα:... WHERE NOT(Attr 1 = 10 OR Attr 2 > 3) γίνεται... WHERE Attr 1 <> 10 AND Attr 2 <= 3... WHERE Attr = YEAR(` ') γίνεται... WHERE Attr = 1994 δοθέντος: R 1.A 1 =R 2.A 2 AND R 2.A 2 =R 3.A 3 AND R 1.A 1 >5 προστίθενται... R 1.A 1 =R 3.A 3 AND R 2.A 2 >5 AND R 3.A 3 >5 10 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.5

6 2 ο στάδιο Planner (1) Υπάρχει ένα επίπεδο «διαδικαστικής» βελτιστοποίησης, όπου παράγουµε (όλα;) τα διαφορετικά πλάνα εκτέλεσης µέχρι να διαλέξουµε τοπιο αποδοτικό. Η εργασία αυτή ανατίθεται στον planner. Ο planner οφείλει: Να κατασκευάσει ένα σύνολο πλάνων και Να αποτιµήσει κάθε πλάνο που παράγει, ώστε να βρει το πιο αποδοτικό Προσοχή: ηαποτίµηση είναι πάντα προσέγγιση / πρόβλεψη και όχι ακριβής υπολογισµός ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 2 ο στάδιο Planner (2) Κατασκευή πλάνων, µε βάση Ένα αλγεβρικό χώρο για τη σειρά εκτέλεσης των λειτουργιών (π.χ., να αποφασίσει µε ποια σειρά θα κάνει το R S T) Ένα σύνολο από µεθόδους προσπέλασης στα δεδοµένα (π.χ., fullindex scan, full table scan, ) Αποτίµηση κάθε πλάνου, µε βάση Ένα µοντέλο κόστους που προβλέπει το κόστος εκτέλεσης κάθε πλάνου (σε χρόνο, disk I/O,...) Ένα µοντέλο πρόβλεψης του µεγέθους, κυρίως των ενδιάµεσων αποτελεσµάτων Το κόστος υπολογίζεται µε χρήση στατιστικών πληροφοριών που προέρχονται από τον κατάλογο της βάσης πλήθος πλειάδων κάθε σχέσης, µέγεθος πλειάδων, κλπ. 12 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.6

7 Οβελτιστοποιητής ερωτηµάτων (query optimizer) Μετασχηµατισµός εκφράσεων σχεσιακής άλγεβρας Υπολογισµός µεγεθών πράξεων σχεσιακής άλγεβρας επιλογή, σύνδεση, άλλες πράξεις (προβολή κλπ.) Τρόποι εκτέλεσης (και κόστος) πράξεων σχεσιακής άλγεβρας Αποτίµηση σύνθετων εκφράσεων (materialization, pipelining) Βελτιστοποίηση σε εµπορικά Σ Β ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Μετασχηµατισµός εκφράσεων ΣΑ ύο εκφράσεις σχεσιακής άλγεβρας καλούνται ισοδύναµες αν σε οποιοδήποτε έγκυρο στιγµιότυπο τηςβάσηςοιδύοεκφράσεις παράγουν το ίδιο σύνολο πλειάδων. Σηµείωση: η διάταξη των πλειάδων δεν παίζει ρόλο. Ένας κανόνας ισοδυναµίας καθορίζει αν µια έκφραση της πρώτης µορφής είναι ισοδύναµη µε µια έκφραση της δεύτερης µορφής Εκφράσεις της πρώτης µορφής µπορούν να αντικατασταθούν µε εκφράσεις της δεύτερης µορφής, και αντίστροφα. 14 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.7

8 Κανόνες Ισοδυναµίας (1) 1. Οι συζευκτικές επιλογές µπορούν να αναλυθούν σε µια ακολουθία ξεχωριστών επιλογών. σ θ ( ) ( ( )) 1 θ R = σ 2 θ σ 1 θ R 2 2. Οι επιλογές είναι αντιµεταθετικές. σ θ ( σ ( )) ( ( )) 1 θ R = σ 2 θ σ R 2 θ1 3. Σε µια ακολουθία από προβολές µόνο η τελευταία προβολή χρειάζεται, οι υπόλοιπες µπορούν να παραληφθούν. Πt ( Π ( ( ( )) )) ( ) 1 t K Π 2 tn R K = Πt R 1 4. Οι επιλογές µπορούν να συνδυαστούν µε Καρτεσιανά Γινόµενα και Θ-συνδέσεις. σ θ (R X S) = R θ S σ θ1 (R θ2 S) = R θ1 θ2 S 15 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Κανόνες Ισοδυναµίας (2) 5. Οι λειτουργίες Θ-σύνδεσης (και φυσικής σύνδεσης) είναι αντιµεταθετικές. R θ S = S θ R 6. (a) Οι λειτουργίες φυσικής σύνδεσης είναι µεταβατικές: (R S) T = R (S T) (b) Οι λειτουργίες Θ-σύνδεσης είναι µεταβατικές µε την ακόλουθη έννοια: (R θ1 S) θ2 θ3 T = R θ1 θ3 (S θ2 T) όπου η συνθήκη θ 2 περιλαµβάνει µόνο χαρακτηριστικά των σχέσεων S και T. 16 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.8

9 Κανόνες Ισοδυναµίας (3) 7. Ηεπιλογή αντιµετατίθεται µεθ-σύνδεση κάτω από τις ακόλουθες δύο συνθήκες: (α) όταν όλα τα χαρακτηριστικά της συνθήκης θ 1 προέρχονται µόνο από τα χαρακτηριστικά µιας εκ των σχέσεων που συµµετέχουν στη σύνδεση (έστω της R). σ θ1 (R θ S) = (σ θ1 (R)) θ S (β) όταν όλα τα χαρακτηριστικά της συνθήκης θ 1 προέρχονται µόνο από ταχαρακτηριστικάτηςr ενώταχαρακτηριστικάτηςθ 2 προέρχονται µόνο απόταχαρακτηριστικάτηςs. σ θ1 θ2 (R θ S) = (σ θ1 (R)) θ (σ θ2 (S)) 17 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Κανόνες Ισοδυναµίας (4) 8. Η προβολή επιµερίζεται µετηθ-σύνδεση ως εξής: (α) αν η προβολή Π περιλαµβάνει µόνο χαρακτηριστικά από το σύνολο L 1 L 2 : L ( ) ( ( )) ( ( )) 1 L R1 R2 = 2 L R1 R θ 1 θ L2 2 (β) Ας θεωρήσουµε µια σύνδεση R 1 θ R 2. Έστω L 1 και L 2 τα σύνολα των χαρακτηριστικών των σχέσεων R 1 και R 2, αντίστοιχα. Έστω L 3 το σύνολο των χαρακτηριστικών της σχέσης R 1 που συµµετέχουν στη συνθήκη θ, αλλά δεν ανήκουν στο σύνολο L 1 L 2 Έστω L 4 το σύνολο των χαρακτηριστικών της σχέσης R 2 που συµµετέχουν στη συνθήκη θ, αλλά δεν ανήκουν στο σύνολο L 1 L 2. L L ( R θ R2 ) = L L (( L L ( R1 )) θ ( L L ( R2 ))) ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.9

10 Κανόνες Ισοδυναµίας (5) 9. H ένωση και η τοµή είναι αντιµεταθετικές R S = S R R S = S R Όµως: η διαφορά δεν είναι αντιµεταθετική 10. Ηένωσηκαιητοµή είναιµεταβατικές. (R S) T = R (S T) (R S) T = R (S T) 11. Ηεπιλογή επιµερίζεται µε τις λειτουργίες, και. σ θ (R S) = σ θ (R) σ θ (S) οµοίως στην περίπτωση των τελεστών και Επίσης: σ θ (R S) = σ θ (R) S, αν η συνθήκη θ αφορά µόνο σε χαρακτηριστικά της R οµοίως στην περίπτωση των τελεστών και 19 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παράδειγµα µετασχηµατισµού Ερώτηση: Βρες τα ονόµατα όλων των πελατών που έχουν κάποιο λογαριασµό σε κάποιο υποκατάστηµα που βρίσκεται στο Brooklyn. Π customer-name (σ branch-city = Brooklyn (branch (account depositor))) Μετατροπή µέσω του κανόνα 7 α : Π customer-name ((σ branch-city = Brooklyn (branch)) (account depositor)) Η όσο το δυνατόν ταχύτερη εκτέλεση της επιλογής µειώνει το µέγεθος τηςσχέσηςτηςσύνδεσης 20 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.10

11 Παράδειγµα πολλαπλών µετ/µών µών Ερώτηση: Βρες τα ονόµατα των πελατών που έχουν λογαριασµό σε κάποιο υποκατάστηµα τουbrooklyn και το υπόλοιπο του λογαριασµού > Π customer-name( (σ branch-city = Brooklyn balance > 1000 (branch (account depositor))) Μετατροπή µέσω του κανόνα 6 α : Π customer-name ((σ branch-city = Brooklyn balance > 1000 (branch (account)) depositor) Μια δεύτερη µορφή προσφέρει τη δυνατότητα εκτέλεσης της επιλογής νωρίτερα, ως εξής Π customer-name ((σ branch-city = Brooklyn (branch) σ balance > 1000 (account)) depositor) 21 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Οβελτιστοποιητής ερωτηµάτων (query optimizer) Μετασχηµατισµός εκφράσεων σχεσιακής άλγεβρας Υπολογισµός µεγεθών πράξεων σχεσιακής άλγεβρας επιλογή, σύνδεση, άλλες πράξεις (προβολή κλπ.) Τρόποι εκτέλεσης (και κόστος) πράξεων σχεσιακής άλγεβρας Αποτίµηση σύνθετων εκφράσεων (materialization, pipelining) Βελτιστοποίηση σε εµπορικά Σ Β ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.11

12 Μέτρηση κόστους ερωτηµάτων (1) Το κόστος ενός ερωτήµατος ισούται µε τοσυνολικόχρόνοπου απαιτείται για την απάντησή του Πολλοί παράγοντες επηρεάζουν το κόστος: οι προσπελάσεις στο δίσκο, ηισχύςτηςcpu, ακόµα και ο φόρτος του δικτύου Οι προσπελάσεις στο δίσκο που αποτελούν το βασικό κόστος υπολογισµού ενός ερωτήµατος είναι εύκολο να υπολογιστούν. Η µέτρηση γίνεται λαµβάνοντας υπόψη: Το πλήθος των αναζητήσεων Το πλήθος των αναγνώσεων σελίδων του δίσκου Το πλήθος των εγγραφών σελίδων στο δίσκο Το κόστος εγγραφής στο δίσκο είναι ελαφρώς µεγαλύτερο από τοκόστος ανάγνωσης από τοδίσκο 23 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Μέτρηση κόστους ερωτηµάτων (2) Για απλότητα χρησιµοποιούµε ως µέτρο του κόστους ενός ερωτήµατος το πλήθος των σελίδων (blocks) που µεταφέρονται από το δίσκο (κόστος ανάγνωσης δεδοµένων) Για λόγους απλότητας δεν λαµβάνουµε υπόψητοκόστοςτηςcpu Ούτε λαµβάνουµε υπόψη το κόστος εγγραφής των δεδοµένων στο δίσκο Το κόστος εξαρτάται από τοµέγεθος του buffer της κύριας µνήµης (της τάξης κάποιων Mb) Ηύπαρξη επιπλέον µνήµης µειώνει την ανάγκη για προσπελάσεις στο δίσκο Το ποσοστό της κύριας µνήµης που διατίθεται στον buffer εξαρτάται από τις άλλες διαδικασίες του λειτουργικού συστήµατος που τρέχουν ταυτόχρονα και είναι δύσκολο να υπολογιστεί εκ των προτέρων 24 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.12

13 Παραδοχές (από από Οργάνωση Αρχείων & Ευρετήρια) Η µονάδα µεταφοράς µεταξύδίσκουκαιµνήµης είναι ένα block δίσκου (µε µέγεθος b bytes) Κάθε αρχείο έχει εγγραφές ενός τύπου µόνο Το µέγεθος των εγγραφών είναι σταθερό (µε µέγεθος r bytes) Οι εγγραφές δεν επιτρέπεται να διασχίζουν τα όρια ενός block Παράγοντας σελιδοποίησης (blocking factor): bfr = (b / r) Αριθµός blocks για την αποθήκευση ενός αρχείου n εγγραφών: B= (n / bfr) 25 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Εκτίµηση µεγέθους Ιστογράµµατα (1) Για να δουλέψουν οι συναρτήσεις κόστους, πρέπει να µπορούµε να αποτιµήσουµε τοµέγεθος των ενδιάµεσων αποτελεσµάτων Η πιο καλή τεχνική που έχουµε είναιταιστογράµµατα Σ ένα ιστόγραµµα, διαιρούµε τοεύροςτωντιµών ενός πεδίου σε κάδους (buckets) Για κάθε τιµή που παίρνει το πεδίο, µετράµε τον αριθµό εµφανίσεων # εµφανίσεων (πραγµατικές τιµές) # εµφανίσεων (προσεγγίσεις σε διαστήµατα τιµών) balance balance 26 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.13

14 Εκτίµηση µεγέθους Ιστογράµµατα (2) Παραλλαγές: Ιστογράµµατα ίσου πλάτους: κάθε κάδος καλύπτει το ίσο διάστηµα τιµών Ιστογράµµατα ίσου ύψος: κάθε κάδος καλύπτει ίσο αριθµό (ή συχνότητα) εµφανίσεων (Λανθασµένες) Υποθέσεις εργασίας: οι τιµές των πεδίων είναι ισοπίθανα µοιρασµένες τα πεδία είναι ανεξάρτητα µεταξύ τους Ανάγκη περιοδικής ενηµέρωσης των ιστογραµµάτων συχν. εµφανίσεων 22% 33% 28% 17% συχν. εµφανίσεων 25% balance balance 27 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Οβελτιστοποιητής ερωτηµάτων (query optimizer) Μετασχηµατισµός εκφράσεων σχεσιακής άλγεβρας Υπολογισµός µεγεθών πράξεων σχεσιακής άλγεβρας επιλογή, σύνδεση, άλλες πράξεις (προβολή κλπ.) Τρόποι εκτέλεσης (και κόστος) πράξεων σχεσιακής άλγεβρας Αποτίµηση σύνθετων εκφράσεων (materialization, pipelining) Βελτιστοποίηση σε εµπορικά Σ Β ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.14

15 Τρόποι εκτέλεσης πράξεων ΣΑ Επιλογή (µε / χωρίς χρήση ευρετηρίου) Σύνδεση Nested-loop join και οι παραλλαγές: Block-nested-loop join, Index-nested-loop join Sort-Merge join Hash join Άλλες πράξεις (προβολή, συνάθροιση) Σύνθετες εκφράσεις 29 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Η πράξη Επιλογή Χωρίς χρήση ευρετηρίου Γραµµική αναζήτηση (linear search). Σάρωση όλων των σελίδων του αρχείου και για κάθε εγγραφή µιας σελίδας έλεγχος αν ικανοποιεί τη συνθήκη της επιλογής. υαδική αναζήτηση (binary search). Μπορεί να εφαρµοστεί µόνο αν το αρχείο είναι διατεταγµένο µε βάση το χαρακτηριστικό της συνθήκης της επιλογής. Με χρήση ευρετηρίου Σάρωση ευρετηρίου (Index scan) αλγόριθµοι αναζήτησης που χρησιµοποιούν κάποιο ευρετήριο 30 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.15

16 Επιλογή - Γραµµική αναζήτηση Σάρωση όλων των σελίδων του αρχείου και για κάθε εγγραφή µιας σελίδας έλεγχος αν ικανοποιεί τη συνθήκη της επιλογής. Κόστος (# σελίδων δίσκου που σαρώνονται) = B R Αν η συνθήκη της επιλογής αναφέρεται σε κάποιο χαρακτηριστικό - κλειδί, τότε (µέσο) κόστος = B R /2 η αναζήτηση σταµατά όταν βρεθεί η εγγραφή 31 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Επιλογή - υαδική αναζήτηση Μπορεί να εφαρµοστεί µόνο σε διατεταγµένα αρχεία. Έστω όλες οι σελίδες µιαςσχέσηςαποθηκεύονται συνεχόµενες. Το κόστος (# σελίδων που σαρώνονται) ισούται µε: log 2 ( B R ) το κόστος εντοπισµού της πρώτης πλειάδας µέσω δυαδικής αναζήτησης στις σελίδες. + το πλήθος των σελίδων που περιέχουν εγγραφές που ικανοποιούν τη συνθήκη της επιλογής. 32 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.16

17 Επιλογή: Σάρωση ευρετηρίου (1) Η συνθήκη της επιλογής πρέπει να είναι πάνω στο κλειδί διάταξης του ευρετηρίου. C το κόστος εντοπισµού του κλειδιού διάταξης στο ευρετήριο (εντοπισµός µε δυαδική αναζήτηση) Πρωτεύον ευρετήριο σε κλειδί, συνθήκη ισότητας. Ανάκτηση µιας εγγραφής που ικανοποιεί τη συνθήκη ισότητας. Κόστος = C + 1 Πρωτεύον ευρετήριο σε απλό χαρακτηριστικό (όχι κλειδί), συνθήκη ισότητας. Ανάκτηση πολλαπλών εγγραφών που όµως βρίσκονται σε συνεχόµενες σελίδες Κόστος = C + πλήθος σελίδων που περιέχουν τις εγγραφές που ικανοποιούν τη συνθήκη ισότητας 33 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Επιλογή: Σάρωση ευρετηρίου (2) ευτερεύον ευρετήριο σε απλό χαρακτηριστικό (όχι κλειδί), συνθήκη ισότητας. Ανάκτηση πολλαπλών εγγραφών Κόστος = C + το πλήθος των εγγραφών που ικανοποιούν τη συνθήκη αναζήτησης (µπορεί να είναι πολύ ακριβό!) Κάθε εγγραφή µπορεί να βρίσκεται σε διαφορετική σελίδα Για κάθε εγγραφή που ανακτάται απαιτείται µία πρόσβαση σε σελίδα 34 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.17

18 Επιλογή: συνθήκη µε σύγκριση (1) Οι συνθήκες είναι της µορφής: σ A V (r) ή σ A V (r) και υλοποιούνται χρησιµοποιώντας: γραµµική ή δυαδική αναζήτηση στο αρχείο, ήσάρωσηευρετηρίου µε τους ακόλουθους τρόπους: Πρωτεύον ευρετήριο, σύγκριση. (το αρχείο είναι διατεταγµένο ως προς το χαρακτηριστικό A) Για την επιλογή σ A V (r) χρήση του ευρετηρίου για την εύρεση της πρώτης εγγραφής µε Α v σάρωση του αρχείου σειριακά ξεκινώντας από τοσηµείο αυτό Για την επιλογή σ A V (r) Σάρωση του αρχείου σειριακά µέχρι να βρεθεί η πρώτη εγγραφή µε Α > v. εν χρειάζεται να χρησιµοποιηθεί ευρετήριο. 35 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Επιλογή: συνθήκη µε σύγκριση (2) ευτερεύον ευρετήριο, σύγκριση. Για την επιλογή σ A V (r) χρήση του ευρετηρίου για την εύρεση της πρώτης εγγραφής (του ευρετηρίου) µε Α v σάρωση του ευρετηρίου σειριακά ξεκινώντας από τοσηµείο αυτό για να βρεθούν οι δείκτες στις εγγραφές Για την επιλογή σ A V (r) Σάρωση του ευρετηρίου σειριακά (ξεκινώντας από τηναρχή µέχρι να βρεθεί η πρώτη εγγραφή του ευρετηρίου µε Α > v) για να βρεθούν οι δείκτες στις εγγραφές 36 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.18

19 Υλοποίηση σύνθετων επιλογών (1) Σύζευξη (Conjunction): σ θ1 θ2... θn (r) Συζευκτική επιλογή µε χρήσηαπλού ευρετηρίου. Επιλογή µιαςδιάταξηςτωνθ i και ενός από τουςπροηγούµενους αλγορίθµους που επιφέρει το µικρότερο κόστος για την επιλογή σ θi (r). Για κάθε µία από τις εγγραφές του προηγούµενου βήµατος, έλεγχος εάν ισχύουν οι υπόλοιπες συνθήκες. Συζευκτική επιλογή µε χρήση σύνθετου ευρετηρίου. Χρήση κατάλληλου σύνθετου ευρετηρίου, αν υπάρχει (συνδυασµός δύο ή περισσότερων χαρακτηριστικών). 37 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Υλοποίηση σύνθετων επιλογών (2) Συζευκτική επιλογή µε τοµή δεικτών. Απαιτείται η ύπαρξη ευρετηρίων µε δείκτες. Για κάθε συνθήκη, χρήση του αντίστοιχου ευρετηρίου. Κατόπιν, εύρεση της τοµής των συνόλων των εγγραφών δεικτών. Στη συνέχεια, ανάκτηση των εγγραφών από τοαρχείο. Αν κάποιες συνθήκες δεν έχουν κατάλληλα ευρετήρια, εκ των υστέρων έλεγχος στη µνήµη. 38 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.19

20 Η λειτουργία της σύνδεσης Υπάρχουν πολλοί διαφορετικοί αλγόριθµοι για την υλοποίηση της λειτουργίας της σύνδεσης 1. Σύνδεση µε εµφώλευση βρόχων (Nested-loop join). Παραλλαγές: a. Σύνδεση µε εµφώλευση βρόχων κατά block (Block-nestedloop join) b. Σύνδεση µε εµφώλευση βρόχων µέσω ευρετηρίου (Indexnested-loop join) 2. Σύνδεση µε ταξινόµηση και συγχώνευση (Sort-Merge join) 3. Σύνδεση µεκατακερµατισµό (Hash join) 39 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Nested-Loop Join (1) Ψευδοκώδικας για τον υπολογισµό τηςθ-σύνδεσης r θ s: για κάθε πλειάδα t r της r { για κάθε πλειάδα t s της s { εξέτασε αν ο συνδυασµός (t r,t s ) ικανοποιεί τη συνθήκη Θ αν ναι, πρόσθεσε το t r t s στο αποτέλεσµα } } Η r ονοµάζεται εξωτερική σχέση (outer relation) και η s εσωτερική σχέση (inner relation) της συνένωσης. εν απαιτείται η ύπαρξη ευρετηρίου. Μπορεί να χρησιµοποιηθεί για οποιαδήποτε συνθήκη Θ. Κοστίζει αρκετά, αφού εξετάζει όλα τα ζεύγη πλειάδων µεταξύ των δύο σχέσεων. 40 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.20

21 Nested-Loop Join (2) Στη χειρότερη περίπτωση, όταν η διαθέσιµη µνήµη αρκεί µόνο για ένα block από κάθεσχέση, το κόστος ισούται µε: N R B S + B R προσβάσεις στο δίσκο Αν η µικρότερη σχέση χωράει εξ ολοκλήρου στη µνήµη, θα πρέπει να χρησιµοποιείται αυτή ως εσωτερική σχέση. Σε τέτοια περίπτωση το κόστος µειώνεται σε: B R + B S προσβάσεις στο δίσκο. Ο block nested-loop αλγόριθµος (βλ. επόµενη διαφάνεια) είναι προτιµότερος από τονnested-loop join αλγόριθµο. 41 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Block-Nested Nested-Loop Join (1) Παραλλαγή του nested-loop join όπου κάθε block της εσωτερικής σχέσης συνδυάζεται µε όλαταblocks τηςεξωτερικήςσχέσης. Ψευδοκώδικας: Για κάθε block B R της R { Για κάθε block B S της S { Για κάθε πλειάδα t R του B R { Για κάθε πλειάδα t S του B S { εξέτασε αν το ζεύγος (t R, t S ) ικανοποιεί τη συνθήκη Θ αν ναι, πρόσθεσε το t R t S στο αποτέλεσµα } } } } 42 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.21

22 Block-Nested Nested-Loop Join (2) Κόστος χειρότερης περίπτωσης: B R B S + B R προσβάσεις στο δίσκο. Κάθε block της εσωτερικής σχέσης διαβάζεται από µία φορά για κάθε block της εξωτερικής σχέσης (αντί να διαβάζεται από µια φορά για κάθε πλειάδα της εξωτερικής σχέσης όπως στον nested-loop join αλγόριθµο) Κόστος καλύτερης περίπτωσης: B R + B S προσβάσεις στο δίσκο. 43 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Index-Nested Nested-Loop Join (1) Αντί να κάνουµε αναζήτηση στο αρχείο µπορούµε να κάνουµε αναζήτηση στο ευρετήριο αν Η σύνδεση είναι ισοσύνδεση (equi-join) ήφυσικήσύνδεση(natural join) Υπάρχει ευρετήριο στο χαρακτηριστικό σύνδεσης της εσωτερικής σχέσης Για κάθε πλειάδα t R τηςεξωτερικήςσχέσηςr, χρησιµοποιούµε το ευρετήριο (που είναι χτισµένο πάνω στην εσωτερική σχέση S) για να βρούµε τιςπλειάδες της S που ικανοποιούν τη συνθήκη της σύνδεσης. 44 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.22

23 Index-Nested Nested-Loop Join (2) Κόστος σύνδεσης: B R + N R C προσβάσεις στο δίσκο C: το κόστος για την αναζήτηση στο ευρετήριο και την προσκόµιση όλων των πλειάδων της εσωτερικής σχέσης S που ικανοποιούν τη συνθήκη. Το C µπορεί να υπολογιστεί ως το κόστος µιας απλής πράξης επιλογής στη σχέση S, όπου η επιλογή χρησιµοποιεί ως συνθήκη τη συνθήκη της σύνδεσης. Αν υπάρχουν ευρετήρια πάνω στη συνθήκη της σύνδεσης και για τις δύο σχέσεις R, S, ως εξωτερική σχέση χρησιµοποιούµε τη σχέση µε τις λιγότερες πλειάδες. (γιατί;) 45 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Sort-Merge Join (1) 1. Ταξινοµούµε και τις δύο σχέσεις ως προς το χαρακτηριστικό της σύνδεσης (αν δεν είναι ήδη ταξινοµηµένες ως προς αυτό). 2. Συγχωνεύουµε τιςταξινοµηµένες σχέσεις Το βήµα της συγχώνευσης µοιάζει µε τοβήµα της συγχώνευσης του αλγορίθµου sort-merge. Ηκύριαδιαφοράέγκειταιστον διαφορετικό τρόπο αντιµετώπισης των διπλότυπων τιµών που εµφανίζονται στο χαρακτηριστικό της σύνδεσης πρέπει να ταιριάξει κάθε ζεύγος που έχει την ίδια τιµή στο χαρακτηριστικό της σύνδεσης 46 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.23

24 Sort-Merge Join (2) Μπορεί να χρησιµοποιηθεί µόνο στην περίπτωση της ισοσύνδεσης ή της φυσικής σύνδεσης. Κάθε σελίδα χρειάζεται να διαβαστεί µία µόνο φορά (αν υποθέσουµε πως όλες οι πλειάδες για µια δοθείσα τιµή των χαρακτηριστικών της σύνδεσης χωράνε στη µνήµη) Έτσι το πλήθος των προσβάσεων στο δίσκο για τον αλγόριθµο merge-join είναι: B R + B S + το κόστος ταξινόµησης των σχέσεων (ο τελευταίος παράγοντας προκύπτει µόνοανοισχέσειςδενείναι ήδη ταξινοµηµένες). 47 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Hash Join (1) Εφαρµόζεται µόνο στην περίπτωση ισοσύνδεσης ή φυσικής σύνδεσης. Μια συνάρτηση κατακερµατισµού h χρησιµοποιείται για το διαµερισµό των πλειάδων των δύο σχέσεων σε τµήµατα (partitions). 48 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.24

25 Hash Join (2) Οι r πλειάδες του τµήµατος R i της σχέσης R χρειάζεται να συγκριθούν µόνο µε τιςs πλειάδες του τµήµατος S i της σχέσης S. εν χρειάζεται να γίνει σύγκριση µε τιςπλειάδες κάποιου άλλου τµήµατος της σχέσης S επειδή: Μια πλειάδα της σχέσης R και µια πλειάδα της σχέσης S που ικανοποιούν τη συνθήκη της σύνδεσης θα έχουν την ίδια τιµή γιατα χαρακτηριστικά της σύνδεσης. Αν η τιµή αυτή κατακερµατίζεται σε κάποια τιµή i, η πλειάδα της σχέσης R θα πρέπει να ανήκει στο τµήµα R i και η πλειάδα της σχέσης S θα πρέπει να ανήκει στο τµήµα S i. 49 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Ο αλγόριθµος Hash Join (1) ΗσχέσηS ονοµάζεται είσοδος κατασκευής των τµηµάτων (build input) ενώ η σχέση R ονοµάζεται είσοδος διερεύνησης της σύνδεσης (probe input). Ησύνδεση µέσω κατακερµατισµού των σχέσεων R και S υλοποιείται ως εξής: 1. ιαµοίρασε τη σχέση S χρησιµοποιώντας τη συνάρτηση κατακερµατισµού h. Κατά τη διαµοίραση, µια σελίδα της µνήµης διατίθεται ως buffer εξόδου για κάθε τµήµα της σχέσης S. 2. Κάνε το ίδιο και για τη σχέση R ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.25

26 Ο αλγόριθµος Hash Join (2) Για κάθε i: (α) Φόρτωσε το S i στη µνήµη και χτίσε ένα ευρετήριο κατακερµατισµού στη µνήµη χρησιµοποιώντας το χαρακτηριστικό της σύνδεσης. Η συνάρτηση κατακερµατισµού για το ευρετήριο κατακερµατισµού στη µνήµη είναι διαφορετική από την συνάρτηση κατακερµατισµού h που αναφέραµε παραπάνω. (β) ιάβασε από το δίσκο τις πλειάδες του τµήµατος R i µία προς µία. Για κάθε πλειάδα t R του τµήµατος R i βρες όλες τις ταιριαστές πλειάδες t S της σχέσης S i χρησιµοποιώντας το ευρετήριο κατακερµατισµού της µνήµης. Η σύνδεση των χαρακτηριστικών τους αποτελεί την έξοδο. 51 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Το κόστος του αλγορίθµου Hash Join Το κόστος του hash-join είναι: 3(B R + B S ) +2 n h Το πλήθος των τµηµάτων της σχέσης R ισούται µε τοπλήθος των τµηµάτων της σχέσης S; Το ίδιο ισχύει και για τον αριθµό των περασµάτων που απαιτούνται για τη διαµοίραση των σχέσεων R και S. Συνεπώς είναι προτιµότερο να επιλέγεται η µικρότερη σχέση για τη φάση κατασκευής των τµηµάτων (build relation). Το συνολικό κόστος είναι: 2(B R + B S log M 1 (B S ) 1 + B R + B S Αν χωράει στη µνήµη ολόκληρη η build relation, ο αλγόριθµος δεν χρειάζεται να τη διαµοιράσει σε προσωρινά αρχεία. Οπότε το κόστος µειώνεται σε B R + B S. 52 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.26

27 Άλλες λειτουργίες: Προβολή, Συνάθροιση Η προβολή υλοποιείται εφαρµόζοντας προβολή σε κάθε πλειάδα και απαλείφοντας στη συνέχεια τις διπλότυπες. Η απαλοιφή των διπλότυπων τιµών µπορεί να γίνει είτε µέσω κατακερµατισµού είτε µέσω ταξινόµησης. Στην περίπτωση της ταξινόµησης οι διπλότυπες εγγραφές γειτνιάζουν, και έτσι µπορούν να σβηστούν όλες πλην µίας. Η περίπτωση του κατακερµατισµού είναι παρόµοια οι διπλότυπες εγγραφές θα µπουν στο ίδιο τµήµα. Η συνάθροιση µπορεί να υλοποιηθεί µε τρόπο παρόµοιο µε αυτόν της απαλοιφής των διπλότυπων πλειάδων. 53 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Οβελτιστοποιητής ερωτηµάτων (query optimizer) Μετασχηµατισµός εκφράσεων σχεσιακής άλγεβρας Υπολογισµός µεγεθών πράξεων σχεσιακής άλγεβρας επιλογή, σύνδεση, άλλες πράξεις (προβολή κλπ.) Τρόποι εκτέλεσης (και κόστος) πράξεων σχεσιακής άλγεβρας Αποτίµηση σύνθετων εκφράσεων (materialization, pipelining) Βελτιστοποίηση σε εµπορικά Σ Β ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.27

28 Αποτίµηση σύνθετων εκφράσεων Μέχρι τώρα είδαµε αλγορίθµους για την αποτίµηση απλών λειτουργιών Για την αποτίµηση ενός ολόκληρου δέντρου εκφράσεων (expression tree) υπάρχουν δύο εναλλακτικές µέθοδοι: Materialization: Παραγωγή των αποτελεσµάτων µιας έκφρασης της οποίας οι είσοδοι είναι είτε απλές σχέσεις είτε έχουν ήδη υπολογιστεί και αποθηκευτεί (materialize) στο δίσκο. Pipelining: Μεταφορά των πλειάδων στις λειτουργίες ανώτερων επιπέδων (parent operations). 55 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Materialization Υπολογισµός µίας λειτουργίας τη φορά, ξεκινώντας από τοχαµηλότερο επίπεδο. Χρήση των ενδιάµεσων αποτελεσµάτων (που είναι αποθηκευµένα σε προσωρινές σχέσεις) για τον υπολογισµό των λειτουργιών του επόµενου επιπέδου. Π.χ., υπολογισµός και αποθήκευση της λειτουργίας σ ( account balance<2500 ) στη συνέχεια υπολογισµός και αποθήκευση της σύνδεσής της µε τη σχέση depositor, τέλος υπολογισµός της προβολής της ως προς το χαρακτηριστικό customer-name. depositor 56 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.28

29 Pipelining Υπολογισµός πολλών λειτουργιών ταυτόχρονα, περνώντας τα αποτελέσµατα της µιας λειτουργίας στην επόµενη. Π.χ. στο προηγούµενο παράδειγµα δεναποθηκεύουµε τοαποτέλεσµα του σ ( account balance<2500 ) Αντ αυτού, περνάµε τιςπλειάδες της έκφρασης κατευθείαν στην πράξη της σύνδεσης. Οµοίως, δεν αποθηκεύουµε τα αποτελέσµατα της σύνδεσης, αλλά περνάµε τιςπλειάδες του αποτελέσµατος κατευθείαν στην πράξη της προβολής. Πολύ φθηνότερο από το materialization. Ενδέχεται να µην είναι πάντα εφικτό π.χ., ταξινόµηση, hash-join. depositor 57 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Οβελτιστοποιητής ερωτηµάτων (query optimizer) Μετασχηµατισµός εκφράσεων σχεσιακής άλγεβρας Υπολογισµός µεγεθών πράξεων σχεσιακής άλγεβρας επιλογή, σύνδεση, άλλες πράξεις (προβολή κλπ.) Τρόποι εκτέλεσης (και κόστος) πράξεων σχεσιακής άλγεβρας Αποτίµηση σύνθετων εκφράσεων (materialization, pipelining) Βελτιστοποίηση σε εµπορικά Σ Β ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.29

30 Σχέδιο εκτέλεσης Ένα σχέδιο εκτέλεσης ερωτήµατος (query execution plan QEP) καθορίζει: (α) ποιος αλγόριθµος θα χρησιµοποιηθεί για κάθε επιµέρους λειτουργία και (β) πώς θα συντονιστεί η εκτέλεση των λειτουργιών. 59 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Επιλογή σχεδίου εκτέλεσης Όταν επιλέγουµε ένα σχέδιο εκτέλεσης πρέπει να λαµβάνουµε υπόψη και την αλληλεπίδραση των επιµέρους λειτουργιών π.χ. Ο αλγόριθµος Sort-Merge join µπορεί να είναι πιο ακριβός από τον αλγόριθµο Hash join, ωστόσοηέξοδοςτουείναιταξινοµηµένη, γεγονός που µειώνει το κόστος µιας συνάθροισης σε επόµενη φάση. Στην πράξη οι βελτιστοποιητές ερωτηµάτων ενσωµατώνουν στοιχεία των δύο ακόλουθων γενικών προσεγγίσεων: 1. Βελτιστοποίηση βάσει κόστους (cost-based optimization): Αναζήτηση όλων των σχεδίων εκτέλεσης και επιλογή του βέλτιστου µε βάση το κόστος. 2. Ευρετική βελτιστοποίηση (heuristic optimization): Χρήση ευρετικών αλγορίθµων για την επιλογή ενός σχεδίου εκτέλεσης. 60 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.30

31 Βελτιστοποίηση βάσει κόστους (1) Οι βελτιστοποιητές ερωτηµάτων (query optimizers) χρησιµοποιούν συστηµατικά τους κανόνες ισοδυναµίας προκειµένου να παράγουν τις ισοδύναµες εκφράσεις µιας δοθείσας έκφρασης. ιαισθητικά, παράγουν όλες τις ισοδύναµες εκφράσεις εκτελώντας επαναληπτικά το ακόλουθο βήµα µέχρι να µη µπορούν να βρεθούν άλλες τέτοιες εκφράσεις: Για κάθε νέα έκφραση που εντοπίζεται, χρησιµοποιούνται όλοι οι δυνατοί κανόνες ισοδυναµίας και εντοπίζεται ένα σύνολο εκφράσεων το οποίο και προστίθεται στο αρχικό σύνολο εκφράσεων. Η παραπάνω προσέγγιση είναι πολύ ακριβή τόσο ως προς το χώρο και ως προς το χρόνο Οι απαιτήσεις χρόνου µπορούν να µειωθούν αν δεν δηµιουργηθούν όλες οι εκφράσεις. 61 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Βελτιστοποίηση βάσει κόστους (2) Έστω ότι θέλουµε να βρούµε τη βέλτιστη διάταξη για την έκφραση R 1 R 2... R n. Υπάρχουν ( 2( n 1) )! διαφορετικές διατάξεις συνδέσεων. ( n 1)! Για n = , για n = δισεκατοµµύρια! εν χρειάζεται να δηµιουργήσουµε όλες τις διατάξεις. Με δυναµικό προγραµµατισµό, υπολογίζεται µόνο µία φορά η πιο συµφέρουσα διάταξη για κάθε υποσύνολο των {R 1, R 2,, R n } και αποθηκεύεται για µελλοντική χρήση. 62 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.31

32 Η βελτιστοποίηση στα εµπορικά Σ Β (1) Γενικά, τα εµπορικά Σ Β δεν αποκαλύπτουν τις λεπτοµέρειες κατασκευής του βελτιστοποιητή ερωτηµάτων που έχουν υλοποιήσει. Πάντως: Όλα χρησιµοποιούν ιστογράµµατα για την εκτίµηση του µεγέθους του αποτελέσµατος Όλα ευνοούν τη χρήση ευρετηρίων σε πλάνα εκτέλεσης Όλα αναζητούν δέντρα αριστερού βάθους χρησιµοποιώντας δυναµικό προγραµµατισµό Η ανάπτυξη ενός τέτοιου λογισµικού αντιστοιχεί σε εργασία δεκάδων ανθρωποετών. 63 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Η βελτιστοποίηση στα εµπορικά Σ Β (2) IBM DB2 MS SQL Server Oracle Τεχνικές Βελτιστοποίησης Query Graph Model (QGM) Rewriter: transformation of queries into joins, pushing GROUP BY operations below joins, etc. Optimizer: cost-based; three levels of complexity (from dynamic programming to a greedy heuristic) Histograms: heightand area-balanced Managing search space explosion: heuristic generation of candidates (a time threshold to find the best plan) Rewriter: view merging, subquery flattening, etc. Histograms: heightbalanced / frequency Managing search space explosion: alternative join orders to find the best 64 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.32

33 Εργασία Επιλέξτε ένα από τα εµπορικά Σ Β MySQL, MS SQL Server, Oracle, IBM DB2, Με κατάλληλη αναζήτηση στο web, συγκεντρώστε σχετικό υλικό και καταγράψτε τα εξής (σε 2-3 σελίδες): Ποιες τεχνικές οργάνωσης αρχείων υποστηρίζονται; Ποια είδη ευρετηρίων υποστηρίζονται; Ποιες τεχνικές join υποστηρίζονται; Ποιες τεχνικές βελτιστοποίησης υποστηρίζονται; Παράδοση: σε 3 εβδοµάδες από σήµερα 65 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6.33

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βελτιστοποίηση Ερωτημάτων Κεφ. 14

Βελτιστοποίηση Ερωτημάτων Κεφ. 14 Βελτιστοποίηση Ερωτημάτων Κεφ. 14 Πολλές ευχαριστίες στους Πάνο Βασιλειάδη, Γ. Ιωαννίδη, Τ. Σελλή, Ε. Πιτουρά για την επαναχρησιμοποίηση κειμένων/διαφανειών τους Οι εικόνες για την DB2 είναι από DB2 Universal

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

Θέματα Υλοποίησης Σχεσιακών ΣΔΒΔ

Θέματα Υλοποίησης Σχεσιακών ΣΔΒΔ Θέματα Υλοποίησης Σχεσιακών ΣΔΒΔ Γιάννης Θεοδωρίδης InfoLab, Τμήμα Πληροφορικής, Πανεπιστήμιο Πειραιά http://infolab.cs.unipi.gr version: Nov.2009 Περιεχόμενα Η τυπική αρχιτεκτονική ενός Σχεσιακού ΣΔΒΔ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχεδίαση Βάσεων Δεδομένων. Ενότητα 7- Βελτιστοποίηση Ερωτημάτων Μανώλης Μαραγκουδάκης Σχεδίαση Βάσεων Δεδομένων Ενότητα 7- Βελτιστοποίηση Ερωτημάτων Μανώλης Μαραγκουδάκης 2 Server processes : καιτιγίνεται εκεί? 3 Επεξεργασία ερωτήσεων Οι clients θέτουν μια ερώτηση SQL στο server Χαρακτηριστικά:

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

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

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

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 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 τιμές αναζήτησης και ρ δείκτες

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εαρινό Εξάμηνο

Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών Εαρινό Εξάμηνο 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 of

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

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

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

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

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Βάσεις Δεδομένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Βασικές πράξεις της Σχεσιακής Αλγεβρας Σχεσιακό Μοντέλο Δεδομένων Ορισμός Βάσης

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

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

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

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

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

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

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

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός 7 Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα H Σχεσιακή Άλγεβρα (relational algebra) ορίζει ένα σύνολο πράξεων που εφαρμόζονται σε μία ή περισσότερες σχέσεις

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

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα Εισαγωγή 1 Ζήτω οι Βάσεις εδοµένων!! Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα Μοντελοποίηση Αποθήκευση Επεξεργασία (εύρεση πληροφορίας σχετικής µε µια συγκεκριµένη ερώτηση) Σωστή Λειτουργία

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

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων

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

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

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

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use Παράδειγμα Σχέσης attributes

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής. ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2012 SQL Structured Query Language Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Πράξεις της σχεσιακής άλγεβρας ΠΡΑΞΗ ΣΚΟΠΟΣ

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

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

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

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

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

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

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

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

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

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

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

Επεξεργασία Ερωτήσεων Επεξεργαστής Ερωτήσεων (Query Processor) Ερώτηση του χρήστη σε κάποια γλώσσα υψηλού επιπέδου (π.χ., QL) Χαµηλού επιπέδου εντολές επεξεργασίας δεδοµένων (π.χ., υλοποιήσεις πράξεων της σχεσιακής άλγεβρας)

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

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

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

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

Θεωρία Κανονικοποίησης

Θεωρία Κανονικοποίησης Θεωρία Κανονικοποίησης Πρώτη Κανονική Μορφή (1NF) Αποσύνθεση Συναρτησιακές Εξαρτήσεις Δεύτερη (2NF) και Τρίτη Κανονική Μορφή (3NF) Boyce Codd Κανονική Μορφή (BCNF) Καθολική Διαδικασία Σχεδίασης ΒΔ Βασική

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

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

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

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

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, Ελληνική

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΤΕΤΑΡΤΟ Insert, Update, Delete, Ένωση πινάκων Γιώργος Μαρκοµανώλης Περιεχόµενα Group By... 1 Having...1 Οrder By... 2 Εντολή Insert...

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

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

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

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

ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2018 Project

ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2018 Project ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2018 Project Δημιουργήστε τους πίνακες (tables.sql) και εισάγετε τα δεδομένα (distributedby.sql 143.153 πλειάδες, movie.sql 193.781 πλειάδες,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στις βασικές έννοιες των Βάσεων Δεδομένων

Εισαγωγή στις βασικές έννοιες των Βάσεων Δεδομένων Εισαγωγή στις βασικές έννοιες των Βάσεων Δεδομένων Σχεδιασμός Βάσεων Δεδομένων Μάθημα 1 ο Μαρία Χαλκίδη ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ Σχεσιακό Μοντέλο Κανονικοποίηση Μοντέλο Οντοτήτων-Σχέσεων Κύκλος ζωής Βάσεων

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 19 Hashing - Κατακερματισμός 1 / 23 Πίνακες απευθείας πρόσβασης (Direct Access Tables) Οι πίνακες απευθείας

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

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

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

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

Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα)

Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα) Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα) Μοντέλα, οµές (Σχήµα) και Αντιπρόσωποι (Data Models, Schema, and Instances) DBMS αρχιτεκτονική ιάφοροι τύποι γλωσσών και διεπαφές

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL Εθνικό Μετσόβιο ολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Βάσεις Δεδομένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL Η γλώσσα SQL

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

Τμήμα Πληροφορικής ΑΠΘ

Τμήμα Πληροφορικής ΑΠΘ Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ 2013-2014 2 Σκοπός του 2 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: Η μελέτη ερωτημάτων σε μία μόνο σχέση. Εξετάζουμε τους τελεστές επιλογής

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

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

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

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

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

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

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

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

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

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

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

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

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

Query-by-Example (QBE)

Query-by-Example (QBE) Φροντιστήριο 8 o Χειµερινό Εξάµηνο 2009-10 Τµήµα Μηχανικών Η/Υ και Πληροφορικής Πολυτεχνική Σχολή, Πανεπιστήµιο Πατρών Πέµπτη, 3 εκεµβρίου 2009 Τι είναι η QBE; Γλώσσα επερωτήσεων σε σχεσιακές ϐάσεις δεδοµένων

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΦΘΙΝΟΠΩΡΟ 2006 Λύση ΑΣΚΗΣΗΣ #2 Τ. Σελλής

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

Επεξεργασία και βελτιστοποίηση ερωτήσεων

Επεξεργασία και βελτιστοποίηση ερωτήσεων Επεξεργασία και βελτιστοποίηση ερωτήσεων Πολλές ευχαριστίες στους Πάνο Βασιλειάδη, Γ. Ιωαννίδη, Τ. Σελλή, Ε. Πιτουρά για την επαναχρησιµοποίηση κειµένων/διαφανειών τους Οι εικόνες για την DB2 είναι από

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

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Βασικές Έννοιες Τι είναι µια βάση δεδοµένων; Βάση Δεδοµένων: συλλογή από σχετιζόµενα δεδοµένα Ειδικού σκοπού λογισµικό

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

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

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ Η συνθήκη WHERE βάζει περιορισμούς στις εγγραφές που επιστρέφονται. Ο όρος ORDER BY ταξινομεί τις εγγραφές που επιστρέφονται. Παράδειγμα: SELECT * FROM table_name ORDER

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

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

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

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

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

Εισαγωγή στα Συστήματα Βάσεων Δεδομένων. Βάσεις Δεδομένων 2014-2015 Ευαγγελία Πιτουρά 1 Εισαγωγή στα Συστήματα Βάσεων Δεδομένων Ευαγγελία Πιτουρά 1 Τι θα δούμε σήμερα I. Σύντομη εισαγωγή στις ΒΔ II. Περιγραφή σκοπού και περιεχομένου μαθήματος III. Ιστορία των ΣΔΒΔ IV. Διαδικαστικά θέματα

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

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

ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης, Δημήτρης Πλεξουσάκης, Χαρίδημος Κονδυλάκης ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης, Δημήτρης Πλεξουσάκης, Χαρίδημος Κονδυλάκης Λύσεις 1 ης σειράς Ασκήσεων Ημερομηνία Παράδοσης: 14/10/2016

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

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

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

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

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 1 / 26 Εισαγωγή Η ϑεωρία

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

Εαρινό Εξάμηνο

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

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