2 η Σειρά Ασκήσεων Ημερομηνία Παράδοσης: 14/11/2016
|
|
- Φιλοκράτης Αποστόλου
- 8 χρόνια πριν
- Προβολές:
Transcript
1 ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης 2 η Σειρά Ασκήσεων Ημερομηνία Παράδοσης: 14/11/2016 Άσκηση 1 (10 μονάδες) Εξωτερική Ταξινόμηση Θεωρείστε μια βάση δεδομένων που περιέχει μια σχέση R, η οποία έχει Τ πλειάδες και καταλαμβάνει B μπλοκ στο δίσκο. Υπάρχουν δύο B+-tree ευρετήρια ορισμένα στην R: ένα συσταδοποιημένο (clustered) ευρετήριο στο γνώρισμα R.a και ένα μη-συσταδοποιημένο (unclustered) ευρετήριο στο γνώρισμα R.b. Τα γνωρίσματα R.a και R.b δε συσχετίζονται μεταξύ τους. Μας ενδιαφέρει η εκτέλεση του ακόλουθου SQL ερωτήματος στην προηγούμενη βάσεων δεδομένων: select * from R order by R.b α. (5 μονάδες) Υποθέστε ένα πλάνο εκτέλεσης του ερωτήματος που περιλαμβάνει σειριακή σάρωση της R και στην συνέχεια ταξινόμηση της σχέσης στο γνώρισμα R.b χρησιμοποιώντας εξωτερική ταξινόμηση με συγχώνευση (external merge sort). Υποθέσετε ο τελεστής ταξινόμησης με συγχώνευση διαθέτει επαρκή μνήμη για να κρατά μόνο Μ μπλοκ δεδομένων, όπου Μ < Β. Ποιό είναι το κόστος Ε/Ε αυτού του πλάνου, δηλαδή πόσες λειτουργίες ανάγνωσης εγγραφής μπλοκ στο δίσκο απαιτούνται για να εκτελεστεί; Λάβετε υπόψη και το κόστος της σειριακής σάρωσης και το κόστος της ταξινόμησης. Λύση: Η σειριακή σάρωση της R θα κοστίσει Β. Η ταξινόµηση µε συγχώνευση (merge sort) απαιτεί log M-1 B/M περάσματα, κάθε ένα από τα οποία απαιτεί όλα τα δεδομένα που θα γραφτούν και θα διαβαστούν πίσω με συνολικό κόστος 2Β για κάθε πέρασμα. Επομένως το συνολικό κόστος είναι Β(1 +2 logm-1 B/M!1
2 Προτεινόμενη λύση 1: Εξωτερική Ταξινόμηση Η ταξινόμηση απαρτίζεται από δύο μέρη την ταξινόμηση κάθε block της σχέσης R και στην συνέχεια συγχώνευσης τους μέχρι την παραγωγή του τελικού αρχείου ταξινομημένου. Ταξινόμηση των blocks Σε αυτή τη φάση γίνεται ανάγνωση όλων των blocks της σχέσης R ταξινόμησης τους και στην συνέχεια επανεγγραφή τους στο δίσκο. Γίνεται κατάλληλη ομαδοποίηση των block της σχέσης R ώστε να μπορούν να χωρέσουν στους διαθέσιμους memory buffers, γνωστά και ως runs. Σε κάθε περίπτωση η διαδικασία αυτή γίνεται σε κάθε block της σχέσης R και κοστίζει 2 Ι/Ο για κάθε block επομένως το συνολικό κόστος θα είναι 2 * Β Ι/Ο. Συγχώνευση των sub files Σε αυτή τη διαδικασία το κόστος καθορίζεται από τον αριθμό των περασμάτων, δηλαδή σε πόσα βήματα τα επιμέρους subfiles θα συγχωνευτούν μεταξύ τους. Για να γίνει αυτό το βήμα θα γίνει χρήση M-1 memory buffers, καθώς ο τελευταίος θα χρησιμοποιηθεί ως output για τα merged file. Επομένως ο αριθμος των περασμάτων θα είναι στην δική μας περίπτωση. Κάθε πέρασμα απαιτεί την φόρτωση όλων των blocks της σχέσης R και στην συνέχεια επανεγγραφή τους στο δίσκο δηλαδή 2*B Ι/Ο. Σάρωση blocks Ο χρόνος που απαιτείται για την σάρωση όλων των πλειάδων της σχέσης R ισοδυναμεί με το χρόνο που απαιτείται για την ανάγνωση από τον δίσκο B blocks (τα blocks από τα οποία αποτελείται τη σχέση R). Επομένως το κόστος της πρώτης φάσης (σάρωση) είναι B. Συνολικά το κόστος για την εκτέλεση του παραπάνω ερωτήματος θα είναι: (άνω άκρο) β. (5 μονάδες) Υποθέστε ένα πλάνο εκτέλεσης του ερωτήματος που διαβάζει τις πλειάδες της R ταξινομημένες χρησιμοποιώντας το μη συσταδοποιημένο ευρετήριο πάνω στο R.b (index scan). Εκτιμήστε το κόστος Ε/Ε αυτού του πλάνου. Υποθέστε ότι το σύστημα έχει λανθάνουσα μνήμη (buffer cache) Μ σελίδων (Μ<Β) η οποία αρχικά περιέχει Μ από τα Β μπλοκ της σχέσης R. Λύση: Χωρίς λανθάνουσα μνήμη, η σάρωση μέσω ευρετηρίου (index scan) απαιτεί Τ Ι/Ο λειτουργίες. Με την χρήση λανθάνουσας μνήμης, αναμένουμε ότι Μ/Β πλειάδες βρίσκονται ήδη στις σελίδες μνήμης και δε θα έχουν ως αποτέλεσμα λειτουργίες Ε/Ε στον δίσκο. Επομένως μια λογική εκτίμηση του κόστους είναι: Άσκηση 2 (20 μονάδες) Αλγόριθμοι Σύζευξης Μας ενδιαφέρει η σύζευξη δύο πινάκων R και S χρησιμοποιώντας την συνθήκη R.a = S.b. Το γνώρισμα R.a είναι πρωτεύον κλειδί (primary key) του R στο οποίο έχει οριστεί ένα συσταδοποιημένο (clustered ) ευρετήριο. Το γνώρισμα S.b είναι υποψήφιο κλειδί (candidate key) του S στο οποίο δεν έχουν οριστεί ευρετήρια. Το μέγεθος σε μπλοκ του R και του S είναι ίσα: B(R) = B(S) ενώ το μέγεθος του ευρετηρίου R.a είναι πολύ μικρό σε σχέση με το B(R).!2
3 (α) (4 μονάδες) Υποθέστε ότι η σύζευξη εκτελείται με έναν αλγόριθμο φωλιασμένων βρόχων βασισμένο σε μπλοκ (block nested loop) με τον S εσωτερικό πίνακα και ότι είναι διαθέσιμες Μ σελίδες ενδιάμεσης μνήμης (buffer pages) όπου M < B. Δώστε μια εκτίμηση του κόστους Ε/Ε του πλάνου σε συνάρτηση με τα B και M όταν το αποτέλεσμα της σύζευξης δεν αποθηκεύεται στον δίσκο (materialized). Λύση: Η S θα διαβαστεί μία φορά, άρα θα έχει κόστος όσο και το μέγεθος της, δηλαδή Β. Η R θα διαβαστεί Β=Μ φορές με κόστος Β κάθε φορά. Άρα το συνολικό κόστος είναι: B + (B/M) B = B + B 2 /M. Στην περίπτωση που υπολογίζετε επίσης ένα input buffer και ένα output buffer αντι για Μ θεωρούμε Μ-2 (β) (4 μονάδες) Υποθέστε ότι η σύζευξη εκτελείται με έναν αλγόριθμο συγχώνευσης με ταξινόμηση (sort merge) Οι πλειάδες του R διαβάζονται διατεταγμένες χρησιμοποιώντας το συσταδοποιημένο ευρετήριο στο R.a. Ο S ταξινομείται χρησιμοποιώντας εξωτερική ταξινόμηση, το αποτέλεσμα της οποίας προωθείται σε σωλήνωση (pipelined) στην σύζευξη. Μ σελίδες ενδιάμεσης μνήμης (buffer pages) είναι διαθέσιμες, όπου B < M < B. Πόση μνήμη απαιτεί ο αλγόριθμος συγχώνευσης με ταξινόμηση και πόση η εξωτερική ταξινόμηση; Δικαιολογήστε σύντομα την απάντησή σας. Λύση: Εφόσον το R.a είναι κλειδί του R και το S.b είναι υποψήφιο κλειδί του S, δεν υπάρχουν διπλότιμες τιμές για τα κλειδιά. Σε αυτήν την περίπτωση ο αλγόριθμος συγχώνευσης χρειάζεται να κρατά μια πλειάδα από κάθε σχέση. Συνεπώς όλη ή σχεδόν όλη η διαθέσιμη μνήμη πρέπει να δοθεί στον αλγόριθμο εξωτερικής ταξινόμησης. (γ) (8 μονάδες) Εκτιμήστε το κόστος του πλάνου του ερωτήματος (β) υποθέτοντας Μ σελίδες ενδιάμεσης μνήμης σύμφωνα με την εκτίμηση που έχετε κάνει προηγουμένως. Υποθέστε ότι οι αναγνώσεις και οι εγγραφές των μπλοκ είναι το ίδιο και ότι το αποτέλεσμα της σύζευξης δεν αποθηκεύεται στον δίσκο (materialized).!3
4 Λύση: Για την φάση της ταξινόμησης, στην οποία θα δημιουργηθούν οι συρμοί(runs), θα διαβάσουμε την σχέση S με κόστος B και στη συνέχεια θα γράψουμε τους Β/Μ ταξινομημένους συρμούς με κόστος Β. Επειδή ισχύει B < M, προκύπτει πως το πλήθος των συρμών που έχουν παραχθεί είναι < Μ (μικρότερο από Μ), οπότε η φάση της συγχώνευσης του αλγορίθμου μπορεί να γίνει σε ένα πέρασμα. Αυτό σημαίνει ότι απαιτούνται άλλα B I/Os για το διάβασμα των συρμών(runs) και κανένα I/O για την διοχέτευση/pipelining των ταξινομημένων δεδομένων της εξόδου. Άρα το συνολικό κόστος για την εξωτερική ταξινόμηση είναι: Β+Β+Β = 3Β I/Os Η σύζευξη θα καταναλώσει τα δεδομένα εξόδου που έρχονται από την διοχέτευση/pipelining (χωρίς κόστος I/O), θα διαβάσει την σχέση R χρησιμοποιώντας το ευρετήριο/index πάνω στο γνώρισμα R.a. Εφόσον το ευρετήριο είναι συσταδοποιημένο/clustered, κάθε μπλοκ του R θα διαβαστεί μια φορά με κόστος Β. Επιπλέον, ορισμένα μπλοκ του ευρετηρίου θα πρέπει να διαβαστούν, αλλά αυτό το κόστος είναι αμελητέο εφόσον το ευρετήριο θεωρείται πολύ μικρό. Έτσι το συνολικό κόστος θα είναι 4Β. 3Β για το κόστος της εξωτερικής ταξινόμησης και Β για το κόστος ανάγνωσης της σχέσης R. (δ) (4 μονάδες) Υποθέτοντας ότι B < M < B, κάτω από ποιες συνθήκες ο αλγόριθμος φωλιασμένων βρόχων βασισμένο σε μπλοκ (block nested loop) είναι προτιμότερος από αλγόριθμο συγχώνευσης με ταξινόμηση (sort merge). Δικαιολογήστε σύντομα την απάντησή σας εκφράζοντας τις συνθήκες με όρους των B και M. Λύση: Ο αλγόριθμος φωλιασμένων βρόχων βασισμένο σε μπλοκ (block nested loop) είναι προτιμότερος από τον αλγόριθμο συγχώνευσης με ταξινόμηση (sort merge) όταν B + B 2 /M < 4B which occurs when B/3 < M Στην περίπτωση που υπολογίζετε επίσης ένα input buffer και ένα output buffer αντι για Μ θεωρούμε Μ-2 Άσκηση 3 (35 μονάδες) Βελτιστοποίηση Ερωτημάτων Σας δίνονται οι παρακάτω πίνακες με πληροφορία σχετική με φοιτητές και μαθήματα που παρακολουθούν: Student(id,name,class) Course(number,name) Enrolment(id,courseNum,grade,semester) Ένας φοιτητής μπορεί να παρακολουθήσει πολλές φορές το ίδιο μάθημα σε διαφορετικά εξάμηνα. Μας ενδιαφέρει η βελτιστοποίηση του ακόλουθου ερωτήματος SQL: SELECT * FROM Student,Enrolment,Course WHERE class = 1 AND grade = 'B' AND Student.id = Enrolment.id AND Enrolment.courseNum = Course.number!4
5 λαμβάνοντας υπόψη τις παρακάτω παραμέτρους: Το μέγεθος μιας σελίδας είναι 4kb. Οι πλειάδες του Student έχουν μέγεθος 400 bytes με το id να καταλαμβάνει 4 bytes. Οι πλειάδες του Course έχουν μέγεθος 200 bytes. Οι πλειάδες του Enrolment έχουν μέγεθος 100 bytes με το grade να καταλαμβάνει 1 byte. T(Student) = 10000, T(Course) = 500, T(Enrolment) = V(Student,class) = 4, V(Enrolment, grade) = σελίδες ενδιάμεσης μνήμης (buffer pages). Δείκτες σε μπλοκ καταλαμβάνουν 5 bytes. Όλα τα B+Trees έχουν 80% κάλυψη (occupancy). Έχει οριστεί ένα πρωτεύον (primary) B+Tree ευρετήριο στο γνώρισμα class. Έχει οριστεί ένα δευτερεύον (secondary) B+Tree ευρετήριο στο γνώρισμα grade. (α) (10 μονάδες) Υπολογίστε την πιο αποδοτική σειρά εκτέλεσης των συζεύξεων του παραπάνω ερωτήματος χρησιμοποιώντας τον αλγόριθμο δυναμικού προγραμματισμού για την εύρεση του βέλτιστου λογικού πλάνου.!5
6 Λύση: Για να υπολογίσουμε την πιο αποδοτική σειρά εκτέλεσης των συζεύξεων χρησιμοποιούμε τον αλγόριθμο δυναμικού προγραμματισμού που περιγράφεται στις διαλέξεις. Φυσικά το πρώτο πράγμα που κάνουμε είναι να «σπρώξουμε» τις συνθήκες επιλογής/selection (πιο χαμηλά) κάτω από τον τελεστή της σύζευξης. Δηλαδή, να εκτελέσουμε τις λειτουργίες επιλογής όσο γίνεται πιο νωρίς. Η εκτίμηση του μεγέθους του αποτελέσματος της πράξης επιλογής για την σχέση Student είναι: Τ(Student)/V(Student, Class) = 2500 πλειάδες Η εκτίμηση του μεγέθους του αποτελέσματος της πράξης επιλογής για την σχέση Enrolment είναι: T(Enrolment)/V(Enrolment, Grade) = 2500 πλειάδες Άρα έχουμε: {Student} {Enrolment} {Course} Size Cost Best Plan Student Enrolment Course Στην συνέχεια, εξετάζουμε τα ζεύγη σχέσεων. Στην περίπτωση που έχουμε δύο σχέσεις με διαφορετικά μεγέθη, επιλέγουμε την μικρότερη σχέση ως εξωτερική για την σύζευξη. {Student, Enrolment} {Enrolment, Course} {Student, Course} Size Cost Best Plan Student! Enrolment Course! Enrolment Course! Student Μπορούμε τώρα να υπολογίσουμε την πιο βέλτιστη σειρά εκτέλεσης των συνδέσμων χρησιμοποιώντας οποιοδήποτε από τα 3 ζευγάρια και στην συνέχεια συνδέουμε την τελευταία σχέση στο τέλος. Π.χ. ((r1 r2) r3), ((r1 r3) r2) κλπ. Να θυμάστε ότι λαμβάνουμε υπόψιν μας τα left deep join plans (πλάνα αριστερού βαθιού συνδέσμου). Οπότε έχουμε: 1. (Student Enrolment) Course: Το αναμενόμενο κόστος του πλάνου είναι 2500 όσο και το μέγεθός του. 2. (Course Enrolment) Student: Το αναμενόμενο κόστος του πλάνου είναι 2500 όσο και το μέγεθός του. 3. (Course Student) Enrolment: Το αναμενόμενο κόστος του πλάνου είναι Το μέγεθός του θα είναι 2500 πλειάδες. Παρατηρούμε ότι το 1 και το 2 κοστίζουν το ίδιο και έχουμε ισοπαλία. Άρα για να επιλέξουμε ένα από τα 2, θα λάβουμε υπόψιν μας το μέγεθος της κάθε πλειάδας. Η δεύτερη επιλογή έχει μικρότερο μέγεθος για κάθε πλειάδα καθώς κάθε πλειάδα του Course έχει μέγεθος 200 bytes ενώ κάθε πλειάδα του Student έχει μέγεθος 400bytes. (β) (25 μονάδες) Υπολογίστε το βέλτιστο πλάνο εκτέλεσης του λογικού πλάνου που δώσατε στο προηγούμενο ερώτημα θεωρώντας τους αλγορίθμους σύζευξης: φωλιασμένων βρόγχων (nested loop), σάρωση με χρήση ευρετηρίων (index joins), ταξινόμησης και συγχώνευσης (sortmerge). Υπολογίστε τον αριθμό Ε/Ε κάθε πλάνου που εξετάζεται στην απάντησή σας.!6
7 Λύση: Πρέπει να βρούμε ποιος είναι ο καλύτερος αλγόριθμος σύζευξης για τις δύο συζεύξεις στην επερώτηση που έχουμε. Ας εξετάσουμε πρώτα τη σύζευξη της σχέσης (Course Enrolment). Index join To Enrolment έχει μόνο ένα μη συσταδοποιημένο ευρετήριο στο γνώρισμα grade που δεν είναι μέρος του join (Enrolment.courseNum = Course.number) οπότε δεν μπορούμε να εφαρμόσουμε το σύνδεσμο ευρετηρίου ένθετου βρόχου (index-nested loop join). Στην πραγματικότητα θα μπορούσε να υπάρχει ένα Β-tree ευρετήριο στο Course.number επειδή είναι κλειδί της σχέσης Course αλλά αυτό δεν έχει αναφερθεί στην εκφώνηση της άσκησης. Nested-loop Join Η μικρότερη από τις δύο σχέσεις, η σχέση Course απαιτεί 500/20 = 25 blocks στον δίσκο. Αν υποθέσουμε ότι μπορούμε να χρησιμοποιήσουμε 26 buffer pages/ σελίδες στην ενδιάμεση μνήνη για το join, μπορούμε να διαβάσουμε όλη τη σχέση Course στη μνήμη και μετά να «σαρώσουμε» τη σχέση Enrolment μια φορά. Το ερώτημα είναι: πώς θα σαρώσουμε τη σχέση Enrolment; Εάν χρησιμοποιήσουμε το μη συσταδοποιημένο ευρετήριο στο γνώρισμα grade χρειαζόμαστε (2500 I/Os + το κόστος για να διαβαστεί το ίδιο το ευρετήριο). Εάν εκτελέσουμε ένα πλήρες «σκανάρισμα» στη σχέση Enrolment χρειαζόμαστε ceil (25000/40) = 625 I/Os. Άρα θα πραγματοποιήσουμε ένα πλήρες σκάναρισμα στην σχέση Enrolment. Το συνολικό κόστος είναι = 650 I/Os, οπότε χρειαζόμαστε 26 buffer pages αφήνοντάς μας 474 σελίδες για το άλλο σκανάρισμα. Sort-merge Join Εφόσον και οι δύο σχέσεις είναι μικρές, μπορούμε να τις φορτώσουμε στη μνήμη και μετά να τις ταξινομήσουμε. Ο πίνακας Course θα χρειαστεί 25 σελίδες (το υπολογίσαμε παραπάνω) και ο πίνακας Enrolment θα χρειαστεί 63 σελιδες ceil(625/10) = 63 pages. Έτσι αν έχουμε 88 σελίδες στην διάθεσή μας μπορούμε να πραγματοποιήσουμε την ταξινόμηση και την συγχώνευση σε ένα πέρασμα με κόστος 650 I/Os. (όπως υπολογίσαμε και παραπάνω). Τώρα ας θεωρήσουμε τη σύζευξη μεταξύ (Course Enrolment) και Student. Πριν ξεκινήσουμε, ας υπολογίσουμε τo μέγεθος (Course Enrolment) σε περίπτωση που θέλουμε το αποτελέσμα του υπολογισμού να αποθηκευθεί σε μια προσωρινή σχέση για μετέπειτα χρήση (materialized).το μέγεθος της σχέσης είναι 2500 και το μέγεθος της γραμμής είναι 300 bytes (13/page). Άρα η προσωρινή σχέση θα χρειαστεί ceil(2500/13) = 193 σελίδες. Οπότε για την σύζευξη (Course Enrolment) Student έχουμε: Index Join Η σχέση Student έχει μόνο ένα συσταδοποιημένο ευρετήριο στο γνώρισμα class που δεν είναι μέρος του join (Enrolment.id = Student.id). οπότε δεν μπορούμε να εφαρμόσουμε το σύνδεσμο ευρετηρίου ένθετου βρόχου (index-nested loop join).στην πραγματικότητα θα μπορούσε να υπάρχει ένα Β-tree ευρετήριο στο Student.id όπως θα υπήρχε και στο Course.number (αναφέρθηκε προηγουμένως). Nested-loop Join Αν έχουμε αρκετές buffer pages, μπορούμε να αποθηκεύσουμε το αποτέλεσμα της εξωτερικής σχέσης σε μια προσωρινή σχέση και να πραγματοποιήσουμε τη σύζευξη «σκανάροντας» την εσωτερική σχέση μία φορά.όπως υπολογίσαμε και παραπάνω η ενδιάμεση σχέση θα χρειαστεί ceil(2500/13) = 193 σελίδες + 1 επιπλέον σελίδα για διαβάσουμε την σχέση Student μία φορά. Από τον υπολογισμό της πρώτης σύζευξης(join) θα έχουμε αρκετή μνήμη για να εκτελέσουμε το nested-loop join με αυτόν τον τρόπο. Το επόμενο ερώτημα είναι:πώς θα σκανάρουμε/σαρώσουμε τη σχέση Student; Αν χρησιμοποιήσουμε το συσταδοποιημένο ευρετήριο, οι 2500 πλειάδες που ψάχνουμε θα είναι συνεχόμενες, άρα θα καταλαμβάνουν 2500/10 = 250 blocks. Επίσης πρέπει να υπολογίσουμε τον αριθμό των Ι/Οs για να διαβάσουμε το ευρετήριο. Η πλήρης σάρωση της σχέσης Student θα απαιτούσε 10000/10 = 1000 I/Os. Οπότε επιλέγουμε το ευρετήριο. Για να υπολογίσουμε το κόστος του ευρετηρίου πρέπει να υπολογίσουμε πόσες καταχωρήσεις υπάρχουν σε κάθε σελίδα. Σύμφωνα με τα δεδομένα της άσκησης οι δείκτες σε μπλοκ καταλαμβάνουν 5 bytes και υποθέτουμε ότι το κλειδί (class) καταλαμβάνει 1 byte, άρα (n+(n+1))*6 <= 4096,άρα n = 681. Αν όλοι οι κόμβοι του ευρετηρίου έχουν 80% κάλυψη, θα υπάρχουν 544 καταχωρήσεις, το οποίο σημαίνει ότι θα υπάρχουν μόνο δύο φύλλα, έτσι το κόστος του ευρετηρίου θα είναι 2 Ι/Οs. Tο συνολικό κόστος είναι = 252 I/Os και οι απαιτήσεις της μνήμης είναι 194 σελίδες. Sort-merge Join Το πρώτο πράγμα που πρέπει να ελέγξουμε είναι αν μπορούμε να φορτώσουμε και τις δύο σχέσεις στην μνήμη. Έχουμε ήδη υπολογίσει ότι η εξωτερική σχέση χρειάζεται 193 σελίδες και η σχέση Student, μετά από επιλογή/selection, χρειάζεται 250 blocks. Οπότε στο σύνολο χρειαζόμαστε = 443 σελίδες που είναι εντός των ορίων μας. Έτσι μπορόυμε να φορτώσουμε και τις 2 σχέσεις στη μνήμη, να τις ταξινομήσουμε και να τις συγχωνεύσουμε, χωρίς να χρειάζεται να γράψουμε τους συρμούς(runs). Οπότε, το κόστος για να διαβάσουμε τη σχέση Student χρησιμοποιώντας το ευρετήριο είναι μόνο 252 I/Os. Εάν συγκρίνουμε τις απαντήσεις από τα προηγούμενα κομμάτια, φαίνεται ότι ο αλγόριθμος σύζευξης φωλιασμένων βρόγχων (nested loop join) είναι καλύτερος και για τις δύο συζεύξεις γιατί είναι «φθηνότερος», χρειάζεται 26 σελίδες στην ενδιάμεση μνήμη. Επίσης, θα μπορούσαμε να χρησιμοποιήσουμε sort-merge join για μία από τις δύο συζεύξεις με το ίδιο κόστος αλλά θα χρειαζόμασταν μεγαλύτερη ενδιάμεση μνήμη. Θα ήταν χρήσιμος να χρησιμοποιηθεί στην περίπτωση που είχαμε order by ή group by στην επερώτησή μας. Το συνολικό κόστος είναι =902 I/Os.!7
8 Άσκηση 4 (25 μονάδες) Εκτίμηση Στατιστικών Σας δίνονται οι παρακάτω πίνακες με πληροφορία σχετική με αθλητές στίβου και τις επιδόσεις τους σε αθλητικές διοργανώσεις : Athlete(aid, name, country) Event(eid, year, location) Result(aid, eid, time) Ένας αθλητής έχει έναν μοναδικό κωδικό (aid) καθώς και ένα όνομα (name) και την χώρα (country) με την οποία αγωνίζεται. Τα αθλητικά γεγονότα έχουν και αυτά έναν μοναδικό κωδικό (eid) καθώς και πληροφορία για τον χρόνο (year) και την τοποθεσία (location) όπου διοργανώθηκαν (για παράδειγμα 2012 Grete). Οι επιδόσεις των αθλητών σε αγωνίσματα δρόμων καταγράφεται στο γνώρισμα χρόνος (time). Τα γνωρίσματα aid και eid είναι εξωτερικά κλειδιά του πίνακα Result από τους πίνακες Athlete και Event. Θεωρήστε τα παρακάτω στατιστικά στους τρεις πίνακες της βάσης δεδομένων: B(Athlete) = 100 B(Event) = 40 B(Result) = 250 T(Athlete) = 2,000 T(Event) = 400 T(Result) = 50,000 V(Athlete, country) = 100 V(Event, year) = 50 V(Event, location) = 25 Οι πίνακες Athlete και Event είναι συσταδοποιημένοι στα πρωτεύοντα κλειδιά τους aid και eid αντιστοίχως. Ο πίνακας Result δεν είναι συσταδοποιημένος. Ο πίνακας Athlete έχει τρία B+tree ευρετήρια στα γνωρίσματα aid, name, και country. Ο πίνακας Event έχει επίσης τρία B+tree ευρετήρια στα γνωρίσματα eid, year, και location. Ο πίνακας Result έχει δύο B+ tree στα γνωρίσματα eid και aid αλλά όχι στο γνώρισμα time. Υποθέστε ότι είναι διαθέσιμη επαρκής ενδιάμεση μνήμη (M) για να κρατήσει τους πίνακες (ολικώς ή μερικώς) ώστε να χρησιμοποιηθούν αλγόριθμοι που απαιτούν ένα μόνο πέρασμα (one-pass) για την εκτέλεση όλων των ερωτημάτων SQL. Σας δίνεται το ακόλουθο λογικό πλάνο ενός ερωτήματος που εμπλέκει και τις τρεις σχέσεις : GR Crete 2012!8
9 (α) (5 μονάδες) Διατυπώστε ένα ερώτημα SQL το οποίο θα μπορούσε να μεταφραστεί στο λογικό πλάνο που σας δίνεται. Λύση SELECT DISTINCT a.name FROM Athlete a, Event e, Result r WHERE e.eid = r.eid AND a.aid = r.aid AND a.country = GR AND e.location = Crete AND e.year = 2012 (β) (5 μονάδες) Ποιο είναι το εκτιμώμενο κόστος του αρχικού λογικού πλάνου λαμβάνοντας υπόψη τα στατιστικά για τις σχέσεις τα οποία σας έχουν δοθεί. Κάντε τις δικές σας υποθέσεις για τους βέλτιστους φυσικούς αλγόριθμους εκτέλεσης των διάφορων σχεσιακών τελεστών του πλάνου και δώστε αριθμητικές εκτιμήσεις κόστους των ενδιάμεσων αποτελεσμάτων που το πλάνο παράγει. Λύση Στόχος εδώ είναι να υπολογίσουμε το μέγεθος των ενδιάμεσων αποτελεσμάτων, έτσι τα ενδιαφέροντα στατιστικά στοιχεία είναι ο αριθμός των πλειάδων και όχι ο αριθμός των μπλοκς ή τα φυσικά πλάνα πρόσβασης. Εφόσον το eid και το aid είναι ξένα κλειδιά στο Result, κάθε πλειάδα του Result θα κάνει join με ακριβώς μια πλειάδα στο Athlete και ακριβώς μία στο Event. Το κόστος για κάθε join είναι ο αριθμός των πλειάδων στο Τ(Result), έτσι κάθε join θα παράγει πλειάδες. Υποθέτουμε ότι η κατανομή των τιμών στα αποτελέσματα της σύζευξης ταιριάζει με την original κατανομή των ιδιοτήτων στις διάφορες σχέσεις. Ο αριθμός των πλειάδων οι οποίες δίνονται ως είσοδος στο Select είναι T (Result) και ο αναμενόμενος αριθμός πλειάδων που θα παραχθούν ως έξοδος από το Select είναι: T (Result) / (V(Athlete, country) * V (Event, location) * V (Event, year)) = / (100*25*50) < 1 (γ) (5 μονάδες) Προτείνεται ένα πιο αποδοτικό λογικό πλάνο από αυτό που σας δόθηκε αρχικά στην εκφώνηση που υπολογίζει τα ίδια αποτελέσματα. Σχεδιάστε το πλάνο και εξηγήστε γιατί αναμένεται να βελτιώσει το κόστος εκτέλεσης του αρχικού.!9
10 ! Λύση GR Crete 2012 (δ) (5 μονάδες) Δώστε μια εκτίμηση του κόστους του καινούργιου πλάνου. Λύση: Ο αναμενόμενος αριθμός πλειάδων που θα παραχθούν ως έξοδος από το Select στο Event είναι: T(Event) / (V(Event,location)*V(Event,year)) which is 400/50*25 < 1 Έτσι εκτιμούμε ότι το αποτέλεσμα για αυτήν την επιλογή έχει μέγεθος 1. Ο αναμενόμενος αριθμός πλειάδων που θα παραχθούν ως έξοδος από το Select του Athlete είναι: T(Athlete) / V(Athlete, country) = 2,000 / 100 = 20 Το κόστος του join Τ(R S) πάνω σε ένα χαρακτηριστικό a εκτιμάται ότι είναι Τ(R)T(S)/ max(v(r,a), V(S,a)) Για το πρώτο join στο Result και την έξοδο από το Select στο Event έχουμε 50,000*1 / max(1, 400) = 125. Το κόστος για το δεύτερο join είναι T(1o join)t(select from A)/max(V(join,aid),V(select,aid)) = 125*20/max(2000,2000)=2500/2000 = Οπότε η εκτίμηση μεγέθους για το τελικό αποτέλεσμα είναι περίπου ίδιο με το αρχικό μας πλάνο. (ε) (5 μονάδες) Ποιο είναι το βέλτιστο φυσικό πλάνο εκτέλεσης του παρακάτω λογικού πλάνου με την σειρά των συζεύξεων που προβλέπει; Η απάντησή σας θα πρέπει να περιλαμβάνει τους φυσικούς αλγορίθμους εκτέλεσης των αλγορίθμων σύζευξης (nested loop, sortmerge, hash, κλπ.) καθώς και τις μεθόδους πρόσβασης (access methods) στις πλειάδες των πινάκων που απαιτούν (sequential scan, index, κλπ..) Δώστε όλες απαραίτητες πληροφορίες για την εκτέλεση των συζεύξεων του πλάνου: για συζεύξεις με κατακερματισμό ποιός είναι ο πίνακας που χρησιμοποιείται για δημιουργήσει τον πίνακα κατακερματισμού και αυτός για την ιχνηλάτησή του (build-probe relations), για συζεύξεις με φωλιασμένους βρόγχους ποιός είναι ο εσωτερικός και ο εξωτερικός πίνακας (inner or outer relations), καθώς επίσης εάν τα ενδιάμεσα αποτελέσματα των συζεύξεων αποθηκεύονται στον δίσκο (materialized) ή προωθούνται σε!10
11 ! σωλήνωση (pipelined). Για λόγους απλότητας υποθέστε ότι υπάρχει επαρκής ενδιάμεση μνήμη για τους αλγόριθμους σύζευξης που επιλέγεται. Δώστε μια εκτίμηση του κόστους του φυσικού πλάνου που προτείνετε σε Ε/Ε και δικαιολογήστε σύντομα γιατί είναι το βέλτιστο δυνατό. Λύση Το καλύτερο μου μπορούμε να κάνουμε είναι να χρησιμοποιήσουμε hash joins αφού όλοι οι πίνακες χωράνε στην κύρια μνήμη. Κατακερματίζουμε την σχέση Event σε ένα πίνακα με κόστος B(Event). Κατακερματίζουμε την σχέση Athlete σε ένα πίνακα με κόστος B(Athlete). Τρέχουμε τα joins παράλληλα συνδέοντας την έξοδο του 1 ου join στην είσοδο του 2 ου join. Διαβάζουμε τα περιεχόμενα του Result με κόστος B(Result). Άρα το συνολικό κόστος ισούται με B(E) + B(A) + B(R) = = 390 Άσκηση 5 (12 μονάδες) Επαναδιατύπωση Ερωτημάτων (α) (4 μονάδες) Δώστε ένα φωλιασμένο ερώτημα στον πίνακα Account(#account, branch, balance) το οποίο επιστρέφει για κάθε υποκατάστημα (branch) του οποίου το όνομα αρχίζει από «Α» όλους τους καταθετικούς λογαριασμούς με το μέγιστο ποσό (balance) στο υποκατάστημα. (β) (4 μονάδες) Επαναδιατυπώστε το προηγούμενο ερώτημα χωρίς την χρήση φωλιασμένων ερωτημάτων (αποσυσχέτιση). (γ) (4 μονάδες) Με βάση το προηγούμενο παράδειγμα προτείνεται μια γενική διαδικασία για την αποσυσχέτιση ερωτημάτων.! 11
12 Λύση α. Το φωλιασμένο ερώτημα είναι: select S.#account from Account S where S.branch like B% and S.balance = (select max(t.balance) from account T where T.branch = S.branch) β. Το ερώτημα χωρίς την χρήση φωλιασμένων ερωτημάτων (αποσυσχέτιση) είναι: create table t1 as select branch, max(balance) from Account group by branch select #account from Account, t1 where Account.branch like B% and Account.branch = t1.branch-name and Account.balance = t1.balance γ. Γενικά θεωρείστε τις επερωτήσεις της μορφής: select from L1 where P1 and A1 op (select f(a2) from L2 where P2) όπου f είναι συγκεντρωτική συνάρτηση για γνωρίσματα A2, και op είναι κάποιος δυαδικός Boolean τελεστής. Το ερώτημα μπορεί να ξαναγραφτεί ως create table t1(v,ag2) as select V, f(a2) from L2 where P1 2 group by V select from L1, t1 where P1 and P2 2 and A1 op t1.ag2 Όπου I. V περιέχει όλα τα χαρακτηριστικά/γνωρίσματα που χρησιμοποιούνται στις επιλογές και αφορούν μεταβλητές συσχέτισης στο φωλιασμένο ερώτημα, II. κατηγόρημα P1 2 περιέχει κατηγορήματα στο P2, χωρίς επιλογές/selections που αφορούν μεταβλητές συσχέτισης III. P2 2 παρουσιάζει τις επιλογές που αφορούν τις μεταβλητές συσχέτισης. (Αν τα κατηγορήματα στο P2 2 αναφέρονται σε ονόματα σχέσεων στην L2 πρέπει να ξαναγραφτούν και να αναφέρονται στη σχέση t1).!12
ΗΥ460 Συστήµατα Διαχείρισης Βάσεων Δεδοµένων Χειµερινό Εξάµηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης
ΗΥ460 Συστήµατα Διαχείρισης Βάσεων Δεδοµένων Χειµερινό Εξάµηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης 2 η Σειρά Ασκήσεων Ηµεροµηνία Παράδοσης: 14/11/2016 Άσκηση 1 (10 µονάδες) Εξωτερική Ταξινόµηση Θεωρείστε
Διαβάστε περισσότεραΕισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας Τα βασικά βήματα στην επεξεργασία
Διαβάστε περισσότεραΕισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα Βάσεις
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ ΔΕΥΤΕΡΗ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ ΔΕΥΤΕΡΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΚΑΔ. ΕΤΟΣ 2007-2008 14.02.2008 EΠΙΣΤΡΕΦΕΤΑΙ ΔΙΔΑΣΚΩΝ Ιωάννης Βασιλείου, Καθηγητής,
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Άσκηση 2 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών HY460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Δημήτρης Πλεξουσάκης
Διαβάστε περισσότεραΕπεξεργασία Ερωτήσεων
Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων
Διαβάστε περισσότεραΕπεξεργασία Ερωτήσεων
Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική
Διαβάστε περισσότεραΕπεξεργασία Ερωτήσεων
Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Επεξεργασία Ερωτήσεων Αρχεία ευρετηρίου Κατάλογος συστήματος Αρχεία δεδομένων ΒΑΣΗ Ε ΟΜΕΝΩΝ Σύστημα Βάσεων εδομένων (ΣΒ ) Βάσεις Δεδομένων 2007-2008
Διαβάστε περισσότεραΆσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός)
ΗΥ460 Τελική Εξέηαζη 29 Ιανουαπίου 2013 Σελίδα 1 από 8 Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Δημήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Επαναληπτική
Διαβάστε περισσότεραΕισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2018-2019 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας
Διαβάστε περισσότεραΤο εσωτερικό ενός Σ Β
Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL) ηµιουργία/κατασκευή Εισαγωγή εδοµένων
Διαβάστε περισσότεραΕισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων
Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 1 ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Επεξεργασία Ερωτήσεων Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL)
Διαβάστε περισσότεραΕισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων
Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ Ε ΟΜΕΝΩΝ Αρχεία δεδομένων συστήματος Σύστημα Βάσεων εδομένων (ΣΒ ) 2 :
Διαβάστε περισσότεραΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης
Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Ονοµατεπώνυµο: Αριθµός Μητρώου: Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία:
Διαβάστε περισσότεραBΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------
Διαβάστε περισσότεραΕπεξεργασία Ερωτήσεων
Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΣΔΒΔ Σύνολο από προγράμματα γιατηδιαχείρισητηςβδ Αρχεία ευρετηρίου Αρχεία δεδομένων Κατάλογος συστήματος ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Σύστημα Βάσεων Δεδομένων (ΣΒΔ) 2 :
Διαβάστε περισσότεραΕπεξεργασία Ερωτήσεων
Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΣΔΒΔ Σύνολο από προγράµµατα για τη διαχείριση της ΒΔ Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Αρχεία δεδοµένων συστήµατος Σύστηµα Βάσεων Δεδοµένων (ΣΒΔ)
Διαβάστε περισσότεραΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2018 Project
ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2018 Project Δημιουργήστε τους πίνακες (tables.sql) και εισάγετε τα δεδομένα (distributedby.sql 143.153 πλειάδες, movie.sql 193.781 πλειάδες,
Διαβάστε περισσότεραΕπεξεργασία ερωτημάτων
Επεξεργασία ερωτημάτων Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη Σε τι αφορά η επεξεργασία ερωτημάτων? Αναφέρεται στο σύνολο των δραστηριοτήτων που περιλαμβάνονται στην ανάκτηση δεδομένων από μία βάση δεδομένων
Διαβάστε περισσότεραΟνοματεπώνυμο: Αριθμός Μητρώου:
ΗΥ460 Τελική Εξέταση 1 Φεβρουαρίου 2012 Σελίδα 1 από 8 Ονοματεπώνυμο: Αριθμός Μητρώου: Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Δημήτρης Πλεξουσάκης
Διαβάστε περισσότεραΠανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης
Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Ονοµατεπώνυµο: Αριθµός Μητρώου: Τελική Εξέταση (3 ώρες) Ηµεροµηνία: 7
Διαβάστε περισσότεραΤα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη
Ευρετήρια 1 Αρχεία Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη µνήµη. Η µεταφορά δεδοµένων από το δίσκο στη µνήµη και από τη
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΑΚΑ. ΕΤΟΣ 2012-13 Ι ΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής, Τοµέας Τεχνολογίας
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Project Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2014
Διαβάστε περισσότεραΔεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2017-2018 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ
Διαβάστε περισσότεραΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΜΑΘΗΜΑ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΚΑΔ. ΕΤΟΣ 2011-12 ΔΙΔΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής Τιμολέων Σελλής Καθηγητής Άσκηση 1
Διαβάστε περισσότεραΕυρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Ευρετήρια Ευαγγελία Πιτουρά 1 τιμή γνωρίσματος Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται
Διαβάστε περισσότεραΕυρετήρια. Ευρετήρια. Βάσεις Δεδομένων 2009-2010: Ευρετήρια 1
Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου
Διαβάστε περισσότεραBΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2013
1 2 3 ΟΝΟΜΑ ΣΥΝ Αρ. Μητρώου ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2013 Ι. Βασιλείου Τ. Σελλής -----------------------------------------------------------------------------------------------------
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI Β. Μεγαλοοικονόμου Επεξεργασία Ερωτημάτων/Βελτιστοποίηση (παρουσίαση βασισμένη εν μέρη σε σημειώσεις των Silberchatz, Korth και Sudarshan και του C. Faloutsos)
Διαβάστε περισσότεραΔεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δεντρικά Ευρετήρια 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες ως εξής P 1 K 1 P
Διαβάστε περισσότεραΔεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δεντρικά Ευρετήρια Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες
Διαβάστε περισσότεραΟ βελτιστοποιητής ερωτημάτων (query optimizer) Μετασχηματισμός εκφράσεων σχεσιακής άλγεβρας Υπολογισμός μεγεθών πράξεων σχεσιακής άλγεβρας
Επεξεργασία & Βελτιστοποίηση Ερωτημάτων Ο βελτιστοποιητής ερωτημάτων (query optimizer) Μετασχηματισμός εκφράσεων σχεσιακής άλγεβρας Υπολογισμός μεγεθών πράξεων σχεσιακής άλγεβρας επιλογή, σύνδεση, άλλες
Διαβάστε περισσότεραΟι πράξεις της συνένωσης. Μ.Χατζόπουλος 1
Οι πράξεις της συνένωσης Μ.Χατζόπουλος 1 ΠΡΟΜΗΘΕΥΤΗΣ (ΠΡΜ) Κ_Προμ Π_Ονομα Είδος Πόλη 22 Ανδρέου 7 Αθήνα 31 Πέτρου 8 Πάτρα 28 Δέδες 12 Λάρισα 58 Παππάς 7 Αθήνα ΠΡΟΙΟΝ (ΠΡ) Κ_Πρ Πρ_Ονομα Χρώμα Βάρος Π35
Διαβάστε περισσότεραΕυρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1
Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου
Διαβάστε περισσότεραΔεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές
Διαβάστε περισσότεραΜάθημα Βάσεις Δεδομένων ΙΙ - Ασκήσεις Επανάληψης. 01 Εκφώνηση
Μάθημα Βάσεις Δεδομένων ΙΙ - Ασκήσεις Επανάληψης 01 Εκφώνηση Θεωρείστε το παρακάτω B+tree (κάθε κόμβος ευρετηρίου χωρά 4 καταχωρίσεις ευρετηρίου και κάθε κόμβος φύλλο χωρά 4 καταχωρίσεις δεδομένων): (Α)
Διαβάστε περισσότεραΒάσεις Δεδομένων 2. Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων. Ημερ: 27/5/2008 Ακ.Έτος
Βάσεις Δεδομένων 2 Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων Ημερ: 27/5/2008 Ακ.Έτος 2007-08 Υλοποίηση σχεσιακών πράξεων ΤΑΞΙΝΟΜΗΣΗ Εξωτερική ταξινόμηση για μεγάλα αρχεία, αποθηκευμένα
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Άσκηση 1 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών HY460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Διδάσκοντες: Δημήτρης
Διαβάστε περισσότεραΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης, Δημήτρης Πλεξουσάκης, Χαρίδημος Κονδυλάκης
ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης, Δημήτρης Πλεξουσάκης, Χαρίδημος Κονδυλάκης Λύσεις 1 ης σειράς Ασκήσεων Ημερομηνία Παράδοσης: 14/10/2016
Διαβάστε περισσότεραΚεφ.11: Ευρετήρια και Κατακερματισμός
Κεφ.11: Ευρετήρια και Κατακερματισμός Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Κεφ. 11: Ευρετήρια-Βασική θεωρία Μηχανισμοί ευρετηρίου χρησιμοποιούνται για την επιτάχυνση
Διαβάστε περισσότεραΟργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση
Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης
Διαβάστε περισσότεραΑποθήκευση Δεδομένων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Αποθήκευση Δεδομένων Βάσεις Δεδομένων 2017-2018 1 ΣΔΒΔ SQL ΣΔΒΔ ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Τυπικά, Κάθε σχέση (το στιγμιότυπο της) αποθηκεύεται σε ένα αρχείο Βάσεις Δεδομένων 2017-2018 2 Δομή ενός ΣΔΒΔ (πιο αναλυτικά)
Διαβάστε περισσότεραAdvanced Data Indexing
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Μοντέλα - Αλγόριθμοι Ταξινόμηση Μοντέλα Δευτερεύουσας Μνήμης I/O Αποδοτικοί Αλγόριθμοι Οι εσωτερικές τεχνικές caching και prefetching των Η/Υ είναι
Διαβάστε περισσότεραΦροντιστήριο Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Φροντιστήριο 17-1-2011 Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία Θεωρία Άτρακτος/αυλάκι : ομόκεντροι κύκλοι στον δίσκο Κύλινδρος:
Διαβάστε περισσότεραΒελτιστοποίηση ερωτημάτων Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη
Βελτιστοποίηση ερωτημάτων Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Εισαγωγή (1) Εναλλακτικοί τρόποι για
Διαβάστε περισσότερα5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 5. Απλή Ταξινόμηση 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 11/11/2016 Εισαγωγή Η
Διαβάστε περισσότεραΥλοποίηση των Σχεσιακών Τελεστών. 6/16/2009 Μ.Χατζόπουλος 1
Υλοποίηση των Σχεσιακών Τελεστών 6/16/2009 Μ.Χατζόπουλος 1 Ένα σχεσιακό ΣΔBΔ πρέπει να συμπεριλαμβάνει αλγόριθμους για υλοποίηση των διαφορετικών τύπων των σχεσιακών πράξεων (καθώς και άλλων πράξεων) που
Διαβάστε περισσότεραΟργάνωση Αρχείων. Βάσεις Δεδομένων : Οργάνωση Αρχείων 1. Blobs
Αρχεία Τα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Οργάνωση Αρχείων Η μεταφορά δεδομένων από το δίσκο στη μνήμη και από τη μνήμη στο δίσκο γίνεται σε μονάδες blocks Βασικός στόχος η ελαχιστοποίηση
Διαβάστε περισσότεραΕργαστήριο 6 ο 7 ο / Ερωτήματα Ι
Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Απλά ερωτήματα Επιλογής Ερωτήματα με Ενώσεις πινάκων Ερωτήματα με Παραμετρικά Κριτήρια Ερωτήματα με Υπολογιζόμενα πεδία Απλά ερωτήματα Επιλογής Τα Ερωτήματα μας επιτρέπουν
Διαβάστε περισσότεραCopyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-1
Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-1 Κεφάλαιο 14 Δομές Ευρετηρίων για Αρχεία Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Διαβλος, Επιμέλεια Μ.Χατζόπουλος Θα μιλήσουμε
Διαβάστε περισσότεραΠανεπιστήμιο Πειραιώς, Τμήμα Πληροφορικής
Πανεπιστήμιο Πειραιώς, Τμήμα Πληροφορικής Ακαδημαϊκό έτος 2009-10 ΣΥΓΦΡΟΝΑ ΘΔΜΑΤΑ ΒΑΣΔΩΝ ΓΔΓΟΜΔΝΩΝ 1 η ΔΡΓΑΣΙΑ ΔΞΑΜΗΝΟΥ ομάδες των 2-3 ατόμων Εισαγωγή Έστω η βάση δεδομένων μιας επιχείρησης (θα μπορούσε
Διαβάστε περισσότεραΤα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο
Κατακερματισμός 1 Αποθήκευση εδομένων (σύνοψη) Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Παραδοσιακά, μία σχέση (πίνακας/στιγμιότυπο) αποθηκεύεται σε ένα αρχείο Αρχείο δεδομένων
Διαβάστε περισσότεραΣυστήματα Διαχείρισης Βάσεων Δεδομένων (ΗΥ460) Χειμερινό εξάμηνο 2017
Συστήματα Διαχείρισης Βάσεων Δεδομένων (ΗΥ460) Χειμερινό εξάμηνο 2017 1. Εγκατάσταση της Oracle Εγκαταστήστε την Oracle Database 11g Release 2 στο pc σας. Μπορείτε να την κατεβάσετε από το παρακάτω link:
Διαβάστε περισσότεραΒελτιστοποίηση Ερωτημάτων Κεφ. 14
Βελτιστοποίηση Ερωτημάτων Κεφ. 14 Πολλές ευχαριστίες στους Πάνο Βασιλειάδη, Γ. Ιωαννίδη, Τ. Σελλή, Ε. Πιτουρά για την επαναχρησιμοποίηση κειμένων/διαφανειών τους Οι εικόνες για την DB2 είναι από DB2 Universal
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 12 η Αναζήτηση/Ταξινόμηση Πίνακα Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην
Διαβάστε περισσότεραΕυρετήρια. Βάσεις Δεδομένων : Ευρετήρα 1. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια.
Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου που καλείται
Διαβάστε περισσότερα2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1
2 ο Σύνολο Ασκήσεων Οι βαθμοί θα ανακοινωθούν αύριο μαζί με τους βαθμούς της προγραμματιστικής άσκησης Τα αστεράκια δείχνουν τον εκτιμώμενο βαθμό δυσκολίας (*) εύκολο (**) μέτριο (***) δύσκολο Βάσεις Δεδομένων
Διαβάστε περισσότερα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
Διαβάστε περισσότεραΒάσεις Δεδομένων. Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων, κατακερματισμός και δομές ευρετηρίων για αρχεία. Φροντιστήριο 7 o
Βάσεις Δεδομένων Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων, κατακερματισμός και δομές ευρετηρίων για αρχεία Φροντιστήριο 7 o 2-2-2008 Θεωρία Άτρακτος/αυλάκι : ομόκεντροι κύκλοι στον δίσκο Κύλινδρος:
Διαβάστε περισσότεραΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Επίπεδα Αφαίρεσης Σ Β. Αποθήκευση Εγγραφών - Ευρετήρια. ρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, Επίπεδο Όψεων.
ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ Χειµερινό Εξάµηνο 2002 Αποθήκευση Εγγραφών - Ευρετήρια ρ Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Επίπεδα Αφαίρεσης Σ Β Επίπεδο Όψεων Όψη Όψη
Διαβάστε περισσότεραΕξωτερική Ταξινόμηση. Μ.Χατζόπουλος 1
Εξωτερική Ταξινόμηση Μ.Χατζόπουλος 1 Γιατί είναι απαραίτητη; Κλασσικό Πρόβλημα της Πληροφορικής Πολλές φορές θέλουμε να παρουσιάσουμε δεδομένα σε ταξινομημένη μορφή Είναι σημαντική για την απαλοιφή διπλοτύπων
Διαβάστε περισσότεραΗ SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα)
Η SQL ως γλώσσα ερωτημάτων Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα) Η γλώσσα SQL Η SQL αποτελείται από: DDL (Data Definition Language)
Διαβάστε περισσότεραΒελτιστοποίηση επερωτημάτων
Βάσεις Δεδομένων ΙΙ Βελτιστοποίηση επερωτημάτων Πανεπιστήμιο Πατρών Τμήμα Μηχανικών Η/Υ & Πληροφορικής Βάσεις Δεδομένων ΙΙ Α. Κομνηνός Βελτιστοποίηση Ερωτημάτων Διαδικασία επιλογής του πιο αποτελεσματικού
Διαβάστε περισσότεραΒάσεις Δεδομένων ΙΙ Ενότητα 5
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 5: Δομές Ευρετηρίων - ISAM Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά
Διαβάστε περισσότεραΕαρινό Εξάμηνο
Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών Εαρινό Εξάμηνο 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
Διαβάστε περισσότεραΕυρετήρια. Ευρετήρια. Βάσεις εδοµένων :ευρετήρια 1
Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου
Διαβάστε περισσότεραΠροηγμένη Ευρετηρίαση Δεδομένων (ΠΜΣ) Ενδεικτικές ερωτήσεις-θέματα για την εξέταση της θεωρίας
Προηγμένη Ευρετηρίαση Δεδομένων (ΠΜΣ) Ενδεικτικές ερωτήσεις-θέματα για την εξέταση της θεωρίας 1. Πως δομούνται οι ιεραρχικές μνήμες; Αναφέρετε τα διάφορα επίπεδά τους από τον επεξεργαστή μέχρι τη δευτερεύουσα
Διαβάστε περισσότεραΣχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων
Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων Μαρία Χαλκίδη Εισαγωγή Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Σχεσιακό Μοντέλο SQLΜέρος Α Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan και του C. Faloutsos
Διαβάστε περισσότεραΆσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).
Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).
Διαβάστε περισσότεραBΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ (Σεπτεμβρίου)
ΟΝΟΜΑ Αρ. Μητρώου 1 2 3 ΣΥΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ 2011-2012 (Σεπτεμβρίου) ΣΗΜΕΙΩΣΗ: Οι απαντήσεις
Διαβάστε περισσότεραΛύση (από: Τσιαλιαμάνης Αναγνωστόπουλος Πέτρος) (α) Το trie του λεξιλογίου είναι
Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών HY463 - Συστήματα Ανάκτησης Πληροφοριών 2006-2007 Εαρινό Εξάμηνο 3 η Σειρά ασκήσεων (Ευρετηρίαση, Αναζήτηση σε Κείμενα και Άλλα Θέματα) (βαθμοί 12: όποιος
Διαβάστε περισσότεραΔυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2018-2019 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)
Διαβάστε περισσότεραΤα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο
Οργάνωση Αρχείων 1 Αρχεία Τα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Η μεταφορά δεδομένων από το δίσκο στη μνήμη και από τη μνήμη στο δίσκο γίνεται σε μονάδες blocks Βασικός στόχος η ελαχιστοποίηση
Διαβάστε περισσότεραΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ
ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ Η συνθήκη WHERE βάζει περιορισμούς στις εγγραφές που επιστρέφονται. Ο όρος ORDER BY ταξινομεί τις εγγραφές που επιστρέφονται. Παράδειγμα: SELECT * FROM table_name ORDER
Διαβάστε περισσότεραΑ Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;
5.1 Επίδοση αλγορίθμων Μέχρι τώρα έχουμε γνωρίσει διάφορους αλγόριθμους (αναζήτησης, ταξινόμησης, κ.α.). Στο σημείο αυτό θα παρουσιάσουμε ένα τρόπο εκτίμησης της επίδοσης (performance) η της αποδοτικότητας
Διαβάστε περισσότεραΒάσεις Δεδομένων Ι - 06. Ευρετήρια/Indexes. (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών
Βάσεις Δεδομένων Ι - 06 Ευρετήρια/Indexes (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών ΤΕΙ Λάρισας Τι είναι τα ευρετήρια; Ευρετήριο/Index:
Διαβάστε περισσότεραΤμήμα Πληροφορικής ΑΠΘ
Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ 2013-2014 2 Σκοπός του 2 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: Η μελέτη ερωτημάτων σε μία μόνο σχέση. Εξετάζουμε τους τελεστές επιλογής
Διαβάστε περισσότεραΒάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr
Βάσεις δεδομένων (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Ευρετήρια Σκανδάλες PL/SQL Δείκτες/Δρομείς 2 Αποθήκευση δεδομένων Πρωτεύουσα αποθήκευση Κύρια μνήμη (main memory) ή κρυφή μνήμη
Διαβάστε περισσότεραΠληροφορική 2. Δομές δεδομένων και αρχείων
Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες
Διαβάστε περισσότεραΑλγόριθμοι Ταξινόμησης Μέρος 4
Αλγόριθμοι Ταξινόμησης Μέρος 4 Μανόλης Κουμπαράκης Δομές Δεδομένων και Τεχνικές 1 Μέθοδοι Ταξινόμησης Βασισμένοι σε Συγκρίσεις Κλειδιών Οι αλγόριθμοι ταξινόμησης που είδαμε μέχρι τώρα αποφασίζουν πώς να
Διαβάστε περισσότεραPROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε.
Παραδοτέα 1. Το αρχείο.mdb της βάσης δεδομένων σας σε ACCESS 2. Ένα CD που θα αναγράφει το ονοματεπώνυμο του σπουδαστή και το ΑΕΜ και θα περιέχει το αρχείο.mdb της βάσης δεδομένων καθώς και το εγχειρίδιο
Διαβάστε περισσότεραΟργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση
Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης
Διαβάστε περισσότεραΕυρετήρια. Το ευρετήριο αρχείου είναι ένα διατεταγµένο αρχείο µε σταθερού µήκους εγγραφές
Ευρετήρια Ένα ευρετήριο (index) είναι µια βοηθητική δοµή αρχείου που κάνει πιο αποδοτική την αναζήτηση µιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισµα του αρχείου που καλείται
Διαβάστε περισσότεραΚεφάλαιο 14. Δομές Ευρετηρίων για Αρχεία. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση,
Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-1 Κεφάλαιο 14 Δομές Ευρετηρίων για Αρχεία Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Διαβλος, Επιμέλεια Μ.Χατζόπουλος 1 Θα μιλήσουμε
Διαβάστε περισσότεραΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 6: SQL (Συζεύξεις, Εμφώλευση, Ομαδοποίηση) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι
Ενότητα 6: SQL (Συζεύξεις, Εμφώλευση, Ομαδοποίηση) Ευαγγελίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που
Διαβάστε περισσότεραΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους
ΘΕΜΑΤΑ A Οι παρακάτω πίνακες αποτελούνται από τα εξής πεδία : ΕΡΓΑΖΟΜΕΝΟΣ : ΑΦΜ, ΕΠΙΘΕΤΟ, ΟΝΟΜΑ, ΤΗΛ, ΟΔΟΣ, ΠΟΛΗ,ΜΙΣΘΟΣ, ΚΤ ΤΜΗΜΑ : ΚΤ, ΑΦΜ, ΤΙΤΛΟΣ_ΤΜΗΜΑΤΟΣ, ΤΗΛ ΕΡΓΑ : ΚΕΡ, ΠΕΡΙΓΡΑΦΗ, ΤΟΠΟΘΕΣΙΑ, ΠΡΟΫΠΟΛΟΓΙΣΜΟΣ
Διαβάστε περισσότεραΑλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότεραΟργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 6: Δομές ευρετηρίων για αρχεία
Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 6: Δομές ευρετηρίων για αρχεία Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας Γνώσεων
Διαβάστε περισσότεραΗ SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML.
Κεφάλαιο 5 Η γλώσσα SQL 5.1 Εισαγωγή Η γλώσσα SQL (Structured Query Language) είναι η πιο διαδεδομένη διαλογική γλώσσα ερωταπαντήσεων που χρησιμοποιείται για την επικοινωνία του χρήστη με σχεσιακές ΒΔ.
Διαβάστε περισσότεραΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος
Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 6 εκεµβρίου 2008 ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2008-09 Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 3 ο Μέρος Ηµεροµηνία Παράδοσης:
Διαβάστε περισσότεραΕυρετήρια. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια. Ευρετήρια. Ευρετήρια
Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου που καλείται
Διαβάστε περισσότεραΕυρετήρια. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια. Ευρετήρια. Ευρετήρια
Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου που καλείται
Διαβάστε περισσότερα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
Διαβάστε περισσότεραΜετατροπή Σχήματος Ο/Σ σε Σχεσιακό
Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό 1 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Προσοχή είτε αυτά που ακολουθούν ως παράδειγμα Μην τα ακολουθείτε τυφλά ως «μαγική συνταγή» 2 : Μετατροπή Μοντέλου ΟΣ σε Σχεσιακό
Διαβάστε περισσότεραΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Μάθημα: Λειτουργικά Συστήματα Συστήματα Αρχείων Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) Λειτουργικά Συστήματα 1 Χρήση Κρυφής Μνήμης (Cache)
Διαβάστε περισσότεραΒάσεις Δεδομένων (Databases)
Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) θεωρητικές Γλώσσες Ερωτήσεων (Formal Query Languages): Σχεσιακή Άλγεβρα Τελεστές Θεωρίας Συνόλων
Διαβάστε περισσότεραΦροντιστήριο 4. Άσκηση 1. Λύση. Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών HY463 - Συστήµατα Ανάκτησης Πληροφοριών Εαρινό Εξάµηνο
Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών HY463 - Συστήµατα Ανάκτησης Πληροφοριών 2007-2008 Εαρινό Εξάµηνο Άσκηση 1 Φροντιστήριο 4 Θεωρείστε ένα έγγραφο με περιεχόμενο «αυτό είναι ένα κείμενο και
Διαβάστε περισσότεραΤι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότερα