2 η Σειρά Ασκήσεων Ημερομηνία Παράδοσης: 14/11/2016

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

Download "2 η Σειρά Ασκήσεων Ημερομηνία Παράδοσης: 14/11/2016"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ονοματεπώνυμο: Αριθμός Μητρώου:

Ονοματεπώνυμο: Αριθμός Μητρώου: ΗΥ460 Τελική Εξέταση 1 Φεβρουαρίου 2012 Σελίδα 1 από 8 Ονοματεπώνυμο: Αριθμός Μητρώου: Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Δημήτρης Πλεξουσάκης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2013 1 2 3 ΟΝΟΜΑ ΣΥΝ Αρ. Μητρώου ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2013 Ι. Βασιλείου Τ. Σελλής -----------------------------------------------------------------------------------------------------

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μάθημα Βάσεις Δεδομένων ΙΙ - Ασκήσεις Επανάληψης. 01 Εκφώνηση

Μάθημα Βάσεις Δεδομένων ΙΙ - Ασκήσεις Επανάληψης. 01 Εκφώνηση Μάθημα Βάσεις Δεδομένων ΙΙ - Ασκήσεις Επανάληψης 01 Εκφώνηση Θεωρείστε το παρακάτω B+tree (κάθε κόμβος ευρετηρίου χωρά 4 καταχωρίσεις ευρετηρίου και κάθε κόμβος φύλλο χωρά 4 καταχωρίσεις δεδομένων): (Α)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Advanced Data Indexing

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

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

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

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

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

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

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

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

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Απλά ερωτήματα Επιλογής Ερωτήματα με Ενώσεις πινάκων Ερωτήματα με Παραμετρικά Κριτήρια Ερωτήματα με Υπολογιζόμενα πεδία Απλά ερωτήματα Επιλογής Τα Ερωτήματα μας επιτρέπουν

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

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

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

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

Πανεπιστήμιο Πειραιώς, Τμήμα Πληροφορικής

Πανεπιστήμιο Πειραιώς, Τμήμα Πληροφορικής Πανεπιστήμιο Πειραιώς, Τμήμα Πληροφορικής Ακαδημαϊκό έτος 2009-10 ΣΥΓΦΡΟΝΑ ΘΔΜΑΤΑ ΒΑΣΔΩΝ ΓΔΓΟΜΔΝΩΝ 1 η ΔΡΓΑΣΙΑ ΔΞΑΜΗΝΟΥ ομάδες των 2-3 ατόμων Εισαγωγή Έστω η βάση δεδομένων μιας επιχείρησης (θα μπορούσε

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

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

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

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

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

Συστήματα Διαχείρισης Βάσεων Δεδομένων (ΗΥ460) Χειμερινό εξάμηνο 2017 Συστήματα Διαχείρισης Βάσεων Δεδομένων (ΗΥ460) Χειμερινό εξάμηνο 2017 1. Εγκατάσταση της Oracle Εγκαταστήστε την Oracle Database 11g Release 2 στο pc σας. Μπορείτε να την κατεβάσετε από το παρακάτω link:

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

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

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

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 12 η Αναζήτηση/Ταξινόμηση Πίνακα Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Η SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα)

Η SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα) Η SQL ως γλώσσα ερωτημάτων Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα) Η γλώσσα SQL Η SQL αποτελείται από: DDL (Data Definition Language)

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

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

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

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

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

Βάσεις Δεδομένων ΙΙ Ενότητα 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 Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου

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

Προηγμένη Ευρετηρίαση Δεδομένων (ΠΜΣ) Ενδεικτικές ερωτήσεις-θέματα για την εξέταση της θεωρίας

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

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

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

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

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

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

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

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

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα). Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

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

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ (Σεπτεμβρίου)

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ (Σεπτεμβρίου) ΟΝΟΜΑ Αρ. Μητρώου 1 2 3 ΣΥΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ 2011-2012 (Σεπτεμβρίου) ΣΗΜΕΙΩΣΗ: Οι απαντήσεις

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

Λύση (από: Τσιαλιαμάνης Αναγνωστόπουλος Πέτρος) (α) Το trie του λεξιλογίου είναι

Λύση (από: Τσιαλιαμάνης Αναγνωστόπουλος Πέτρος) (α) Το trie του λεξιλογίου είναι Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών HY463 - Συστήματα Ανάκτησης Πληροφοριών 2006-2007 Εαρινό Εξάμηνο 3 η Σειρά ασκήσεων (Ευρετηρίαση, Αναζήτηση σε Κείμενα και Άλλα Θέματα) (βαθμοί 12: όποιος

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

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

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

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

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

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

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

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

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

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

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 5.1 Επίδοση αλγορίθμων Μέχρι τώρα έχουμε γνωρίσει διάφορους αλγόριθμους (αναζήτησης, ταξινόμησης, κ.α.). Στο σημείο αυτό θα παρουσιάσουμε ένα τρόπο εκτίμησης της επίδοσης (performance) η της αποδοτικότητας

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

Βάσεις Δεδομένων Ι - 06. Ευρετήρια/Indexes. (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών

Βάσεις Δεδομένων Ι - 06. Ευρετήρια/Indexes. (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών Βάσεις Δεδομένων Ι - 06 Ευρετήρια/Indexes (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών ΤΕΙ Λάρισας Τι είναι τα ευρετήρια; Ευρετήριο/Index:

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

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

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

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

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

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

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

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

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

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

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

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

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

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε.

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Παραδοτέα 1. Το αρχείο.mdb της βάσης δεδομένων σας σε ACCESS 2. Ένα CD που θα αναγράφει το ονοματεπώνυμο του σπουδαστή και το ΑΕΜ και θα περιέχει το αρχείο.mdb της βάσης δεδομένων καθώς και το εγχειρίδιο

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

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

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

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

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

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

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 6: SQL (Συζεύξεις, Εμφώλευση, Ομαδοποίηση) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 6: SQL (Συζεύξεις, Εμφώλευση, Ομαδοποίηση) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 6: SQL (Συζεύξεις, Εμφώλευση, Ομαδοποίηση) Ευαγγελίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που

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

ΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους

ΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους ΘΕΜΑΤΑ A Οι παρακάτω πίνακες αποτελούνται από τα εξής πεδία : ΕΡΓΑΖΟΜΕΝΟΣ : ΑΦΜ, ΕΠΙΘΕΤΟ, ΟΝΟΜΑ, ΤΗΛ, ΟΔΟΣ, ΠΟΛΗ,ΜΙΣΘΟΣ, ΚΤ ΤΜΗΜΑ : ΚΤ, ΑΦΜ, ΤΙΤΛΟΣ_ΤΜΗΜΑΤΟΣ, ΤΗΛ ΕΡΓΑ : ΚΕΡ, ΠΕΡΙΓΡΑΦΗ, ΤΟΠΟΘΕΣΙΑ, ΠΡΟΫΠΟΛΟΓΙΣΜΟΣ

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

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

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

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

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

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

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

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML.

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML. Κεφάλαιο 5 Η γλώσσα SQL 5.1 Εισαγωγή Η γλώσσα SQL (Structured Query Language) είναι η πιο διαδεδομένη διαλογική γλώσσα ερωταπαντήσεων που χρησιμοποιείται για την επικοινωνία του χρήστη με σχεσιακές ΒΔ.

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

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 6 εκεµβρίου 2008 ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2008-09 Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 3 ο Μέρος Ηµεροµηνία Παράδοσης:

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

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

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

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

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

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

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

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

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

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό 1 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Προσοχή είτε αυτά που ακολουθούν ως παράδειγμα Μην τα ακολουθείτε τυφλά ως «μαγική συνταγή» 2 : Μετατροπή Μοντέλου ΟΣ σε Σχεσιακό

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

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

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

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

Βάσεις Δεδομένων (Databases)

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) θεωρητικές Γλώσσες Ερωτήσεων (Formal Query Languages): Σχεσιακή Άλγεβρα Τελεστές Θεωρίας Συνόλων

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

Φροντιστήριο 4. Άσκηση 1. Λύση. Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών HY463 - Συστήµατα Ανάκτησης Πληροφοριών Εαρινό Εξάµηνο

Φροντιστήριο 4. Άσκηση 1. Λύση. Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών HY463 - Συστήµατα Ανάκτησης Πληροφοριών Εαρινό Εξάµηνο Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών HY463 - Συστήµατα Ανάκτησης Πληροφοριών 2007-2008 Εαρινό Εξάµηνο Άσκηση 1 Φροντιστήριο 4 Θεωρείστε ένα έγγραφο με περιεχόμενο «αυτό είναι ένα κείμενο και

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

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

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