Επεξεργασία ερωτήσεων
|
|
- Σπυριδούλα Μαγγίνας
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Επεξεργασία ερωτήσεων Πολλές ευχαριστίες στους Πάνο Βασιλειάδη, Γ. Ιωαννίδη, Τ. Σελλή, Ε. Πιτουρά για την επαναχρησιµοποίηση κειµένων/διαφανειών τους
2 Θεµατολόγιο Γενικές αρχές της αποτίµησης ερωτήσεων Επεξεργασία ερωτήσεων Ερωτήσεις επιλογής Ερωτήσεις σύνδεσης Άλλες ερωτήσεις 2
3 Θεµατολόγιο Γενικές αρχές της αποτίµησης ερωτήσεων Επεξεργασία ερωτήσεων Ερωτήσεις επιλογής Ερωτήσεις σύνδεσης Άλλες ερωτήσεις 3
4 Επεξεργασία ερωτήσεων Οι clients θέτουν µια ερώτηση SQL στο server Χαρακτηριστικά: δηλωτική γλώσσα + το µόνο που πρέπει να ξέρει ο χρήστης είναι ονόµατα πινάκων και γνωρισµάτων To DBMSµέσωτης server processκάνειταεξής: Parsing Έλεγχο συντακτικής ορθότητας Σύνθεση ενός αλγεβρικού πλάνου εκτέλεσης (µέσω ενός δέντρου τελεστών) Εκτέλεση του πλάνου και επιστροφή του αποτελέσµατος 4
5 Επεξεργασία ερωτήσεων Εσωτερική αναπαράσταση SQL Query Parser Επιστροφή αποτελέσµατος Αλγεβρικό [φυσικό] πλάνο (procedural) Query Optimizer Query Processor 5
6 Επεξεργασία ερωτήσεων Εσωτερική αναπαράσταση SQL Query Parser Επιστροφή αποτελέσµατος Αλγεβρικό [φυσικό] πλάνο (procedural) Query Optimizer Query Processor 6
7 Παράδειγµα Ερώτησης Student(SNo, SName, SAge, SYear) Attend(ASNo, ALNo, AGrade) Lecture(LNo, LTitle, LPNo) Professor(PNo, PName) All students attending a lecture by a Professor Larson select distinct s.sname from Student s, Attend a, Lecture l, Professor p where s.sno = a.asno and a.alno = l.lno and l.lpno = p.pno and p.pname = `Larson' 7
8 Query Graph Model 8
9 Επεξεργασία ερωτήσεων Εσωτερική αναπαράσταση SQL Query Parser Επιστροφή αποτελέσµατος Αλγεβρικό [φυσικό] πλάνο (procedural) Query Optimizer Query Processor 9
10 Σε τι µας χρειάζεται ο βελτιστοποιητής? Υπάρχουν πολλοί δυνατοί τρόποι για να εκτελέσουµε µια ερώτηση Μια λάθος επιλογή µπορεί να έχει σηµαντικό αποτέλεσµα στην επίδοση µιας ερώτησης Σηµαντικές παράµετροι: Πώς θα προσπελάσω τα δεδοµένα (table scan, full index scan, ) Πώς θα εκτελέσω τις συνδέσεις Λογικά: R S T ή S T R ή...? Φυσικά: nested loops, merge join,...? 10
11 Παράδειγµα - Σχήµα και περιορισµοί emp(name, age, sal, dno) dept(dno, dname, floor, budget, mgr, ano) Κάθε υπάλληλος (emp)εργάζεται σε ένα τµήµα (dept) 11
12 Παράδειγµα ισοδύναµων, εναλλακτικών πλάνων select name, floor from emp, dept where emp.dno = dept.dno and sal > 100K 12
13 Επεξεργασία ερωτήσεων Εσωτερική αναπαράσταση SQL Query Parser Επιστροφή αποτελέσµατος Αλγεβρικό [φυσικό] πλάνο (procedural) Query Optimizer Query Processor 13
14 Επεξεργασία ερωτήσεων οθέντος του πλάνου, κάθε λογικόςτελεστής (π.χ., σ, π, ) έχει περισσότερους του ενός τρόπους να εκτελεστεί φυσικά (δηλ., στην πράξη). Στη συνέχεια θα εξετάσουµε τέτοιους διαφορετικούς φυσικούς τρόπους εκτέλεσης για τους πιο σηµαντικούς τελεστές της σχεσιακής άλγεβρας. 14
15 Θεµατολόγιο Γενικές αρχές της αποτίµησης ερωτήσεων Επεξεργασία ερωτήσεων Ερωτήσεις επιλογής Ερωτήσεις σύνδεσης Άλλες ερωτήσεις 15
16 Notation B R : αριθµός σελίδων (blocks)µιας σχέσης R n : αριθµός πλειάδων µιας σχέσης p R : αριθµός πλειάδων ανά block µιας σχέσης R 16
17 Επιλεκτικότητα µιας συνθήκης Επιλεκτικότητα (selectivity)είναι το ποσοστό των εγγραφών της σχέσης που πληρούν την συνθήκη, ήτοι: Sel(φ) = # εγγραφών που πληρούν τη συνθήκη # εγγραφών της σχέσης Προσοχή: στη βιβλιογραφία ο όρος higher selectivityέχει χρησιµοποιηθεί για δύο αντίθετα πράγµατα: Υψηλότερο ποσοστό αποδεκτών εγγραφών (ερµηνεία µε βάση τη φόρµουλα) Υψηλότερο ποσοστό απορριπτόµενων εγγραφών (ερµηνεία µε βάση τη λογική όσο πιο επιλεκτικός είσαι, τόσο λιγότερες εγγραφές γίνονται αποδεκτές) 17
18 Επιλογή Υπάρχουν διάφοροι τρόποι να εκτελέσουµε στην πράξη µια λειτουργία επιλογής (σ), ο οποίοι εξαρτώνται από τους εξής παράγοντες: Είδος ερώτησης Ερώτηση ισότητας σ A=k (R)ή εύρουςσ A<=k (R) Απλή συνθήκη, σύζευξη ή διάζευξη απλών συνθηκών Αποθήκευση των δεδοµένων Η σχέση στο δίσκο είναιαποθηκευµένη µε τρόπο ordered ή unordered Ύπαρξη ευρετηρίου ή όχι Β+ tree, hash index Σηµασιολογικά χαρακτηριστικά Αν το εµπλεκόµενο πεδίο είναι πρωτεύον κλειδί ή όχι 18
19 Απλές ερωτήσεις ισότητας χωρίς ταξινοµηµένα δεδοµένα στο δίσκο Η απλούστερη περίπτωσηερωτήσεων ισότητας (αγγλιστί: equalityή point queries). Απαιτείται η σάρωση όλων των blocks της σχέσης Κόστος: : B R σ A=k (R) Αλλάζει κάτι αν το πεδίο Α είναι πρωτεύον κλειδί? 19
20 Απλές ερωτήσεις ισότητας µε ταξινοµηµένα δεδοµένα στο δίσκο υαδική αναζήτηση! Aν το πεδίο Αείναι πρωτεύον κλειδί, η απάντηση περιλαµβάνει ακριβώς µία εγγραφή Κόστος: log(b R ) σ A=k (R) R Αν όχι, µετά την πρώτη, πρέπει να ανακτήσουµε και τις υπόλοιπες εγγραφές, οι οποίες είναι σειριακά αποθηκευµένες µετά την πρώτη Κόστος: log(b R ) + sel(φ)* B R
21 Απλές ερωτήσεις ισότητας µέσω πρωτεύοντος ευρετηρίου Β+ σ A=k (R) Ψάχνουµε όλο το δέντρο Iµέχρι τα φύλλα. Μετά φέρνουµε όσες σελίδες δεικτοδοτούνται από το κατάλληλο φύλλο. Το ύψος του δέντρου είναι συνήθως 3 4. Aν το πεδίο Αείναι πρωτεύον κλειδί Κόστος: height(i) + 1 Αν όχι, Κόστος: height(i) + cost of retrieving R-tuples To κόστος της ανάκτησης των πλειάδων της R που πληρούν την συνθήκη εξαρτάται από το αν είναι ταξινοµηµένεςή όχι από (sel(φ)*b R ως (sel(φ)*n 21
22 Απλές ερωτήσεις ισότητας µέσω πρωτεύοντος hash ευρετηρίου σ A=k (R) Αλλάζει το κόστος στο ευρετήριο. Συνήθως θέλουµε 1 2 Ι/Ο για να φτάσουµε στον κάδο µε τους δείκτες στις σελίδες της σχέσης R. 22
23 Ερωτήσεις εύρους (range queries) Ενδιαφέρον παρουσιάζει η ορθή πρόβλεψη/εκτίµηση του µεγέθους του αποτελέσµατος. Default: result = n / 2 Αν ξέρουµε [min, max] του εύρους τιµών του Α: result = 0, k < min n, k >=max (k-min)/(max-min), αλλιώς Πλέον, διαθέτουµε ιστογράµµατα που µας επιτρέπουν αξιοπρεπέστερη πρόβλεψη σ A<=k (R) 23
24 Ερωτήσεις εύρους σ A<=k (R) Αν δεν υπάρχει ευρετήριο, τι αλλάζει σε σχέση µε τις point queries? Αν υπάρχει Β+ + δέντρο?? Τι αλλάζει αν η συνθήκη είναι Α>=k? Αν υπάρχει hash index? 24
25 Θεµατολόγιο Γενικές αρχές της αποτίµησης ερωτήσεων Επεξεργασία ερωτήσεων Ερωτήσεις επιλογής Ερωτήσεις σύνδεσης Άλλες ερωτήσεις Nested Loops Join Sort-Merge Join Hash Join 25
26 Σχήµα αναφοράς Sailors (sid: integer, sname: string, rating: integer, age: real) Reserves (sid: integer, bid: integer, day: dates, rname: string) Reserves: Κάθε εγγραφή έχει µέγεθος 40 bytes, 100 εγγραφές ανά σελίδα, 1000 σελίδες. Sailors: Κάθε εγγραφή έχει µέγεθος 50 bytes, 80εγγραφές ανά σελίδα, 500σελίδες. 26
27 Συνδέσεις Ισότητας πάνω σε Ένα πεδίο SELECT * FROM Reserves R1, Sailors S1 WHERE R1.sid=S1.sid Η πράξη της σύνδεσης R Sείναι ιδιαίτερα κοινή και από τις πλέον χρονοβόρες => πρέπει να εκτελεσθεί µε προσοχή! Το R S είναι πολύ µεγάλο => ΕΝ µπορούµε να εκτελέσουµε τη σύνδεση κάνοντας πρώτα R S και µετά µια επιλογή (σ). 27
28 Συνδέσεις Ισότητας πάνω σε Ένα πεδίο Έστω: B R σελίδες στην R, p R εγγραφές ανά σελίδα, B S σελίδες στην S, p S εγγραφές ανά σελίδα. Στα παραδείγµατα που ακολουθούν, R είναι η Reserves και S είναι η Sailors. Μετρική Κόστους: # I/Os (ήτοι, πόσα Ι/Ο κάνουµε για να µεταφέρουµε σελίδες από τον δίσκο στην κύρια µνήµη). Θα αγνοήσουµε το κόστος του output. 28
29 Σύνδεση Εµφωλευµένων Βρόγχων (Simple Nested Loops Join) foreach tuple r in R do foreach tuple s in S do if ri == sj then add <r, s> to result Η πλέον απλοϊκή σύνδεση εµφωλευµένων βρόγχων (µε εγγραφές): Για κάθε εγγραφή στην εξωτερική σχέση R, εξετάζουµε (ελληνικά: scan) ολόκληρη την εσωτερική σχέση S. Κόστος: B R + p R * B R * B S = *1000*500 I/Os. 29
30 Σύνδεση Εµφωλευµένων Βρόγχων (Simple Nested Loops Join) foreach pagex in R do foreach pagey in S do foreach tuple r in x and s in y if r i == s j then add <r, s> to result Σύνδεση εµφωλευµένων βρόγχων µε σελίδες (Page-oriented Nested Loops join): Για κάθε σελίδα της R, φέρε κάθε σελίδα της S, και επέστρεψε τις εγγραφές <r, s>, όπου η εγγραφή r είναι στην σελίδα της R, η εγγραφή s στην S και οι τιµές τους στα πεδία της σύνδεσης ταιριάζουν. Κόστος: B R + B R * B S = *500 Αν η µικρότερη σχέση είναι εξωτερική τότε Κόστος: B S + B R * B S = *500 30
31 Σύνδεση Εµφωλευµένων Βρόγχων µέσω Ευρετηρίου (Index Nested Loops Join) foreach tuple r in R do foreach tuple s in S where r i == s j do add <r, s> to result Αν υπάρχει ευρετήριο στην στήλη στην οποία γίνεται η σύνδεση για κάποια από τις δύο σχέσεις (έστω η S), µπορούµε να κάνουµε την σχέση αυτή εσωτερική και να εκµεταλλευθούµε το ευρετήριο. Κόστος: B R + ( (B R * p R ) * cost of finding matching S tuples) 31
32 Σύνδεση Εµφωλευµένων Βρόγχων µέσω Ευρετηρίου (Index Nested Loops Join) foreach tuple r in R do foreach tuple s in S where r i == s j do add <r, s> to result Κόστος: B R + ( (B R * p R ) * cost of finding matching S tuples) Τυπικές τιµές: για κάθε εγγραφή της R, το κόστος της προσπέλασης του ευρετηρίου της S index είναι 1.2 for hash index, 2-4 for B+ tree. Το κόστος της εύρεσης των εγγραφών της S εξαρτάται από το clusteringκαι είναι γύρω στο 1 Ι/Ο. Clustered index: 1 I/O (typical), Unclustered: up to 1 I/O per matching S tuple. 32
33 Κόστος: B R + ( (B R * pr) * cost of finding matching S tuples) Hash-index στο sid της Sailors (που είναι εσωτερική): ιάβασε κάθε σελίδα της Reserves: Κόστος = 1000 I/Os, #εγγραφών = 100*1000 εγγραφές. Για κάθε εγγραφή της Reserves: 1.2 I/Os για να βρεις την αντίστοιχη εγγραφή στον indexτης Sailors, 1 I/O για να βρεις την (ακριβώς µία!) εγγραφή της Sailors που κάνει match. Σύνολο: ( ) * 100,000 = 220,000 I/Os. Συνολικά: 1, ,000 = 221,000 Ι/Ο s. 33
34 Κόστος: B R + ( (B R * pr) * cost of finding matching S tuples) Hash-index στο sid της Reserves (που είναι εσωτερική): ιάβασε κάθε σελίδα της Sailors : Κόστος = 500 I/Os, #εγγραφών = 80*500 = 40,000 εγγραφές. Για κάθε εγγραφή της Sailors : 1.2 I/Os για να βρεις την αντίστοιχη εγγραφή στον index της Reserves. Πρέπει να βρούµε τώρα τις εγγραφές της Reservesπου κάνουν match. Έστω οµοιόµορφη κατανοµή µε 2.5 κρατήσεις ανά ναύτη (100,000 / 40,000). Το κόστος για να ανακτήσουµε τις κρατήσεις κάθε ναύτη είναι: 1 Ι/Ο αν ο index είναι clustered 2.5 Ι/Ο αν δεν είναι Σύνολο: (1.2 + Χ) * 40,000, Χ είναι είτε 1 είτε 2.5 Συνολικά: όπως πριν 34
35 Block Nested Loops Join Κράτα µία σελίδα σαν input buffer για την εσωτερική S, µία σελίδα σαν bufferγια το output, και όλους τους άλλους buffers δώστους στην εξωτερική R (όπου λέµε ότι κρατάµε ένα block της R). R & S... Hash table for block of R (k < B-1 pages)... Join Result... Input buffer for S Output buffer 35
36 Block Nested Loops Join L0: ιάβασε ένα block της R (R-block) Για κάθε σελίδα της S (S-page) Αν µια εγγραφή r στο R-block και µια εγγραφή s στην S-pageκάνουν match, output <r, s> Αν η R δεν εξαντλήθηκε, Goto L0 //διάβασε το επόµενο R-block, scan S, κ.ο.κ. R & S... Hash table for block of R (k < B-1 pages)... Join Result... Input buffer for S Output buffer 36
37 Παραδείγµατα Block Nested Loops Cost: Scan of outer + #outer blocks * scan of inner #outer blocks = # of pages of outer / blocksize Με την Reserves (R) ως εξωτερική, και 100 σελίδες στη µνήµη ως block buffers της R: Cost of scanning R = 1000 I/Os,µε αποτέλεσµα 10 outer blocks. Για κάθε outer block της R, scan Sailors (S): 10*500 I/Os. Σύνολο: ,000 = 6,000 Ι/Ο 37
38 Παραδείγµατα Block Nested Loops Cost: Scan of outer + #outer blocks * scan of inner #outer blocks = # of pages of outer / blocksize Με 100-page block της Sailors ως εξωτερικής: Cost of scanning S = 500 I/Os, µε αποτέλεσµα 5 outer blocks. Για κάθε outer block της S, scan Reserves: 5*1000 I/Os. Σύνολο: ,000 = 5,500 38
39 Σύνδεση µε Sort-Merge Join SELECT S.sname, R.rname FROM Sailors S, Reserves R WHERE R.day= 1/1/05 AND R.sid=S.sid Ταξινόµησε τα R, S µε βάση το πεδίο sid Για κάθε r R [& day= 1/1/05 ] Για κάθε s S µε ίδιο sid µε το r Επέστρεψε S.sname, R. rname 39
40 Ταξινόµηση Για να ταξινοµήσουµε µια σχέση R σε ένα πεδίο Α, µπορούµε να χτίσουµε ένα Β+ ευρετήριο πάνω στο πεδίο Α και να προσπελάζουµε τη σχέση από το ευρετήριο Αν µια σχέση χωρά στην κύρια µνήµη, µπορούµε να την ταξινοµήσουµε µε τεχνικές όπως η quicksort. Στη γενική περίπτωση, όµως, που µια σχέση δεν χωρά στην κύρια µνήµη, η τεχνική που χρησιµοποιούµε ονοµάζεται εξωτερική ταξινόµηση (external sorting) 40
41 Εξωτερική ταξινόµηση Έστω ότι έχουµε Μ διαθέσιµους buffers στην κύρια µνήµη Κατασκευάζουµε ταξινοµηµένες υποακολουθίες της σχέσης (sorted runs). Ο πιο απλός τρόπος είναι: i = 1; while (υπάρχουν µη επισκεφθείσες σελίδες της R){ Γέµισε τους M buffers µε M pages από το σκληρό δίσκο Ταξινόµησε τα περιεχόµενα των Μ αυτών σελίδων Γράψε το αποτέλεσµα της ταξινόµησης σε ένα αρχείο Ri στο σκληρό δίσκο. i++ Συγχώνευσε τις ταξινοµηµένες υποακολουθίες. if (i<m){ Αφιέρωσε από ένα buffer για κάθε run Ώσπου να επισκεφθείς και την τελευταία σελίδα από όλα τα runs{ ιάβασε την εγγραφή µε την επόµενητιµή σε σχέση µε την ταξινόµηση (π.χ., την πιο µικρή) από αυτές που είναι στην κύρια µνήµη και γράψτην στο τελικό ολικά ταξινοµηµένο αρχείο. Αν είναι η τελευταία εγγραφή του buffer, φέρε την επόµενη σελίδα από αντίστοιχο run (αν υπάρχει) } } 41
42 Εξωτερική ταξινόµηση από Siberschatz, Korth & Sudarsan 42
43 Εξωτερική ταξινόµηση Αν έχω πιο πολλά runs από Μ, επαναληπτικά συγχώνευσε Μ-1 runsσε ένα ενδιάµεσο run ώσπου να µείνουν λιγότερα από Μ runs 43
44 Εξωτερική ταξινόµηση Ανάλυση κόστους, για µια σχέση µε B R σελίδες, έχοντας Μ buffers: Αρχική κατασκευή runs: 2 B R Συνολικός αριθµός συγχωνεύσεων: log: M-1 [B R /M] Για κάθε σελίδα στη συγχώνευση θα έχουµε ένα διάβασµα και ένα γράψιµο άρα για κάθε συγχώνευση θα έχουµε κόστος 2 B R Τελικά: 2 B R + 2 B R * log M-1 [B R /M] 44
45 Sort-Merge Join (R S) Ταξινόµησε (Sort)και την R και την S στη στήλη της σύνδεσης, και µετά προσπέλασέ τις, ώστε να τις συνδέσεις (merge)πάνω στην στήλη της σύνδεσης (on join col.)ως εξής: ιάβαζε την R µέχρι η τρέχουσα εγγραφή της R >= τρέχουσας εγγραφής της S. Μετά, διάβασε την S µέχρι η τρέχουσα εγγραφή της S >= τρέχουσας εγγραφής της R tuple. Σταµάτα όταν η τρέχουσα εγγραφής της R = τρέχουσα εγγραφή της S. Τώρα έχουµε µαζέψει εγγραφές της R µε την ίδια τιµή στο πεδίο Ri (current R group) και εγγραφές της S µε την ίδια τιµή στο πεδίο Sj (current S group). Προφανώς αυτές οι εγγραφές κάνουν match; output <r, s> για όλους τους συνδυασµούς αυτών των εγγραφών. Συνέχισε το παραπάνω µέχρι να τελειώσει µία από τις R και S. i=j 45
46 Sort-Merge Join (R S) i=j ιαβάζουµε την R µία φορά. Κάθε S-group το διαβάζουµε µία φορά για κάθε εγγραφή του αντίστοιχου R tuple. Είναι πιθανό το S group µετά την πρώτη ανάγνωσή του να βρίσκεται ήδη στη µνήµη. Κόστος: sort R + sort S + merge R&S Κόστος: cost(sort R) + cost (sort S) + (B R + B S ) Το κόστος του merge τυπικά το θεωρούµε B R + B S (δηλαδή διαβάζουµε κάθε σελίδα µία φορά), αν και στην χειρότερη περίπτωση µπορεί να φτάσει ως B R * B S (όχι πιθανό, όµως!) 46
47 Παράδειγµα του Sort-Merge Join sid sname rating age 22 dustin yuppy lubber guppy rusty sid bid day rname /4/96 guppy /3/96 yuppy /10/96 dustin /12/96 lubber /11/96 lubber /12/96 dustin Με 35, 100 ή 300 buffers στη µνήµη, και οι Reserves και οι Sailors µπορούν να ταξινοµηθούν σε 2 περάσµατα, οπότε το συνολικό κόστος: 7500Ι/Ο. (BNL cost: 2500 to I/Os) 47
48 Hash-Join Σπάσε και τις δύο σχέσεις µέσω της hash function h: οι εγγραφές της R στο partition iθα αντιστοιχούν µόνο µε της εγγραφές του Original Relation... INPUT OUTPUT partition iτης S. Disk B main memory buffers Disk 1 2 hash function h B-1 Partitions 1 2 B-1 ιάβασε ένα partition της R,κάνε τουhash µε µια συνάρτηση h2 (<> h!). Ψάξε το αντίστοιχο partition τηςs, και βρες τις εγγραφές ου κάνουν match. Partitions of R & S Disk hash fn h2 Hash table for partition Ri (k < B-1 pages) h2 Input buffer for Si Output buffer B main memory buffers Join Result Disk 48
49 Παρατηρήσεις στο Hash-Join Έστω B ο αριθµός των buffers στη µνήµη Θέλουµε #partitions k <= B-1 (γιατί?) Θέλουµε B-2 > µέγεθος του µέγιστου partition που θα κρατηθεί στην µνήµη (γιατί?) Θεωρώντας οµοιόµορφη κατανοµή στο µέγεθος των partitions, και µεγιστοποιώντας το k, έχουµε: k= B-1, και B R /(B-1) < B-2, => πρέπει B > B R 49
50 Παρατηρήσεις στο Hash-Join Αν φτιάξουµε ένα in-memory hash table για να επιταχύνουµε το matching των εγγραφών, χρειαζόµαστε λίγο περισσότερη µνήµη. Αν η hash function δεν διαµοιράζει τις τιµές οµοιόµορφα, ένα ή παραπάνω partitions της R ενδέχεται να µη χωρά στη µνήµη. Μπορούµε να εφαρµόσουµε την µέθοδο του hash-join αναδροµικά (recursively)για το join του συγκεκριµένου R-partition µε το αντίστοιχο S- partition. 50
51 Κόστος του Hash-Join Στη φάση του partitioning, read+writeκαι τις δύο σχέσεις: 2(B R + B S ). Στη φάση του matching, read και τις δύο σχέσεις: B R + B S I/Os. R S Στο παράδειγµά µας, αυτό βγάζει 4500 I/Os. 51
52 Sort-Merge Join vs. Hash Join: Υπάρχει κάποιο όριο στο ελάχιστο µέγεθος της διαθέσιµης µνήµης (βρέστε το για κάθε µία τεχνική) όπου το κόστος είναι 3(B R + B S ) I/Osκαι για τις δύο τεχνικές. Το hash joinείναι καλύτερο όταν τα µεγέθη των σχέσεων έχουν µεγάλη απόκλιση. Επίσης, hash join είναι ιδιαίτερα παραλληλοποιήσιµο. Το sort-mergeείναι λιγότερο ευαίσθητο στην ανοµοιοµορφία των δεδοµένων. Επίσης, το αποτέλεσµά του βγαίνει ταξινοµηµένο (εξαιρετική ιδιότητα αν έχουµε σύνδεση παραπάνω από δύο σχέσεων γιατί?). 52
53 Άλλες περιπτώσεις σύνδεσης Ισότητα πολλών πεδίων (π.χ., R.sid=S.sid AND R.rname=S.sname): Για το Index NL, φτιάξε index στο <sid, sname> (αν η S είναι εσωτερική), ή χρησιµοποίησε υπάρχοντες indexes στα sid και sname. Για τα Sort-Merge και Hash Join, sort/partition στο συνδυασµό των στηλών της σύνδεσης. 53
54 Άλλες περιπτώσεις σύνδεσης Συνθήκες Ανισότητας: Για το Index NL, χρειάζεται (clustered!) B+ tree index. Όταν ψάχνουµε στην εσωτερική σχέση, κάνουµε αναζητήσεις εύρους µε τον αριθµό των matches να είναι λογικά πολύ µεγαλύτερος απ ότι στην ισότητα. Hash Join, Sort Merge Join δεν µπορούν να εφαρµοσθούν. Ο Block NL είναι πιθανότατα η καλύτερη µέθοδος σε αυτή την περίπτωση. Παρατήρηση: η µέθοδος εµφωλευµένων βρόγχωνείναι η γενικότερη µέθοδος που µπορεί να εφαρµοσθεί σε όλες τις περιπτώσεις σύνδεσης 54
55 Θεµατολόγιο Γενικές αρχές της αποτίµησης ερωτήσεων Επεξεργασία ερωτήσεων Ερωτήσεις επιλογής Ερωτήσεις σύνδεσης Άλλες ερωτήσεις 55
56 Συνάθροιση Η συνάθροιση είναι µια λειτουργία που εκτελείται σε δύο βήµατα: Την κατανοµή των εγγραφών της σχέσης επί της οποίας εφαρµόζεται η συνάθροιση σε οµάδες, µε βάση τα πεδία οµαδοποίησης (του GROUP BY clause, δηλ.). Την εφαρµογή µιας συναθροιστικής συνάρτησης (συγκεκριµένα, αυτής που βρίσκεται στο SELECT clause) επί των οµάδων αυτών Αν δεν υπάρχει GROUP BY clause,τότε εκτελείται µόνο το δεύτερο τµήµα 56
57 Συνάθροιση SID Άλλα πεδία SID Οµάδα 1 Οµάδα 2 3 Οµάδα 3 SELECT SID, COUNT(*) FROM RESERVES GROUP BY SID SID COUNT(*) Όλη η δυσκολία στην συνάθροιση είναι η κατασκευή και η δηµιουργία των οµάδων Συνήθως χρησιµοποιούµε ταξινόµηση ή hashing για το σκοπό αυτό 57
58 Συνάθροιση Αν δεν υπάρχει GROUP BY clause,τότε όλη η σχέση είναι ένα τµήµα, οπότε απλώς διαβάζουµε όλη τη σχέση Αν υπάρχει ευρετήριο, µπορεί να καταφέρουµε να απαντήσουµε την ερώτηση µόνο από το ευρετήριο. Αν υπάρχει GROUP BY clause,τότε µπορούµε να κάνουµε ένα εκ των κάτωθι: Ταξινόµηση στα πεδία του GROUP BY clause (οπότε η οµαδοποίηση των εγγραφών προκύπτει φυσιολογικά) και υπολογισµός του συναθροισµένου ποσού για κάθε οµάδα Χρήση hash functions στα πεδία του GROUP BY clause,ώστε να κατασκευαστούν οι οµάδες Χρήση ευρετηρίου στα πεδία της συνάθροισης (είτε B+, είτε hash) για να επιταχύνουµε την δηµιουργία των οµάδων 58
59 Λειτουργίες συνόλων Η τοµήκαι το καρτεσιανό γινόµενοείναι ειδικές περιπτώσεις σύνδεσης Η απλή ένωση (UNION) εκτελείται ως δύο ερωτήσεις Η UNION DISTINCTκαι η αφαίρεση (EXCEPT) είναι βαριάντες της σύνδεσης και µπορεί να εκτελεστεί είτε µε sort-merge join είτε µε hashjoin.η µόνη διαφορά είναι στο τι στέλνουµε στο output (τροφή για σκέψη: πώς γίνεται αναλυτικάη διαδικασία?) 59
60 Ανακεφαλαίωση Είδαµε ότι µια ερώτηση ανάγεται στον υπολογισµό βασικών τελεστώνόπως η επιλογή, η σύνδεση, η συνάθροιση κλπ. Ανάλογα µε τη φύση των δεδοµένων, µπορούµε κάθε φορά να επιλέξουµε και τον ταχύτεροτρόπο εκτέλεσης ενός τελεστή Μια αρετή του σχεσιακού µοντέλου και των σχεσιακών DBMS s είναι ότι οι τελεστές µπορούν να συντίθενται. Αφού οι τελεστές συντεθούν σε ένα σχεσιακό πλάνο, το ερώτηµα παραµένει: ποιο το βέλτιστο πλάνο? Η απάντηση δίνεται από τον βελτιστοποιητή ερωτήσεων 60
Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων
Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 1 ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Επεξεργασία Ερωτήσεων Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL)
Το εσωτερικό ενός Σ Β
Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL) ηµιουργία/κατασκευή Εισαγωγή εδοµένων
Επεξεργασία Ερωτήσεων
Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Επεξεργασία Ερωτήσεων Αρχεία ευρετηρίου Κατάλογος συστήματος Αρχεία δεδομένων ΒΑΣΗ Ε ΟΜΕΝΩΝ Σύστημα Βάσεων εδομένων (ΣΒ ) Βάσεις Δεδομένων 2007-2008
Επεξεργασία Ερωτήσεων
Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων
Επεξεργασία Ερωτήσεων
Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική
Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα Βάσεις
Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας Τα βασικά βήματα στην επεξεργασία
Βελτιστοποίηση Ερωτημάτων Κεφ. 14
Βελτιστοποίηση Ερωτημάτων Κεφ. 14 Πολλές ευχαριστίες στους Πάνο Βασιλειάδη, Γ. Ιωαννίδη, Τ. Σελλή, Ε. Πιτουρά για την επαναχρησιμοποίηση κειμένων/διαφανειών τους Οι εικόνες για την DB2 είναι από DB2 Universal
Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων
Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ Ε ΟΜΕΝΩΝ Αρχεία δεδομένων συστήματος Σύστημα Βάσεων εδομένων (ΣΒ ) 2 :
Επεξεργασία Ερωτήσεων
Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΣΔΒΔ Σύνολο από προγράµµατα για τη διαχείριση της ΒΔ Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Αρχεία δεδοµένων συστήµατος Σύστηµα Βάσεων Δεδοµένων (ΣΒΔ)
Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2018-2019 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Άσκηση 2 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών HY460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Δημήτρης Πλεξουσάκης
Οι πράξεις της συνένωσης. Μ.Χατζόπουλος 1
Οι πράξεις της συνένωσης Μ.Χατζόπουλος 1 ΠΡΟΜΗΘΕΥΤΗΣ (ΠΡΜ) Κ_Προμ Π_Ονομα Είδος Πόλη 22 Ανδρέου 7 Αθήνα 31 Πέτρου 8 Πάτρα 28 Δέδες 12 Λάρισα 58 Παππάς 7 Αθήνα ΠΡΟΙΟΝ (ΠΡ) Κ_Πρ Πρ_Ονομα Χρώμα Βάρος Π35
Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης
Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Ονοµατεπώνυµο: Αριθµός Μητρώου: Τελική Εξέταση (3 ώρες) Ηµεροµηνία: 7
ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης
Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Ονοµατεπώνυµο: Αριθµός Μητρώου: Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία:
Επεξεργασία Ερωτήσεων
Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΣΔΒΔ Σύνολο από προγράμματα γιατηδιαχείρισητηςβδ Αρχεία ευρετηρίου Αρχεία δεδομένων Κατάλογος συστήματος ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Σύστημα Βάσεων Δεδομένων (ΣΒΔ) 2 :
Ο βελτιστοποιητής ερωτημάτων (query optimizer) Μετασχηματισμός εκφράσεων σχεσιακής άλγεβρας Υπολογισμός μεγεθών πράξεων σχεσιακής άλγεβρας
Επεξεργασία & Βελτιστοποίηση Ερωτημάτων Ο βελτιστοποιητής ερωτημάτων (query optimizer) Μετασχηματισμός εκφράσεων σχεσιακής άλγεβρας Υπολογισμός μεγεθών πράξεων σχεσιακής άλγεβρας επιλογή, σύνδεση, άλλες
ΗΥ460 Συστήµατα Διαχείρισης Βάσεων Δεδοµένων Χειµερινό Εξάµηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης
ΗΥ460 Συστήµατα Διαχείρισης Βάσεων Δεδοµένων Χειµερινό Εξάµηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης 2 η Σειρά Ασκήσεων Ηµεροµηνία Παράδοσης: 14/11/2016 Άσκηση 1 (10 µονάδες) Εξωτερική Ταξινόµηση Θεωρείστε
Επεξεργασία ερωτημάτων
Επεξεργασία ερωτημάτων Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη Σε τι αφορά η επεξεργασία ερωτημάτων? Αναφέρεται στο σύνολο των δραστηριοτήτων που περιλαμβάνονται στην ανάκτηση δεδομένων από μία βάση δεδομένων
Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη
Ευρετήρια 1 Αρχεία Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη µνήµη. Η µεταφορά δεδοµένων από το δίσκο στη µνήµη και από τη
Query-by-Example (QBE)
Φροντιστήριο 8 o Χειµερινό Εξάµηνο 2009-10 Τµήµα Μηχανικών Η/Υ και Πληροφορικής Πολυτεχνική Σχολή, Πανεπιστήµιο Πατρών Πέµπτη, 3 εκεµβρίου 2009 Τι είναι η QBE; Γλώσσα επερωτήσεων σε σχεσιακές ϐάσεις δεδοµένων
Εαρινό Εξάμηνο
ΙΙ Παράλληλες ΙΙ Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών Εαρινό Εξάμηνο 2011-2012 Table of contents ΙΙ 1 Παράλληλες Table of contents ΙΙ Παράλληλες 1 2 Table of contents
Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δεντρικά Ευρετήρια Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες
Κεφάλαιο 9. Επεξεργασία και Βελτιστοποίηση Ερωτήσεων σε Σχεσιακές Βάσεις εδοµένων. Ι.Β -- Εκτέλεση Ερωτήσεων και Βελτιστοποίηση Σελίδα 4.
Κεφάλαιο 9 Επεξεργασία και Βελτιστοποίηση Ερωτήσεων σε Σχεσιακές Βάσεις εδοµένων Ι.Β -- Εκτέλεση Ερωτήσεων και Βελτιστοποίηση Σελίδα 4.40 Query Processing and Optimization Architecture of the Query Processor
Κεφάλαιο 13. Επεξεργασία και Εκτέλεση Ερωτήσεων σε Σχεσιακές Βάσεις εδοµένων. Ι.Β -- Εκτέλεση Ερωτήσεων Σελίδα 4.1
Κεφάλαιο 13 Επεξεργασία και Εκτέλεση Ερωτήσεων σε Σχεσιακές Βάσεις εδοµένων Ι.Β -- Εκτέλεση Ερωτήσεων Σελίδα 4.1 Επεξεργασία και Βελτιστοποίηση Επερωτήσεων Αρχιτεκτονική του ΕΠΕΞΕΡΓΑΣΤΗ ΕΠΕΡΩΤΗΣΕΩΝ σε
Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2017-2018 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ
Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δεντρικά Ευρετήρια 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες ως εξής P 1 K 1 P
Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές
SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke
SQL: Αιτήματα Κεφάλαιο 5 Database Management Systems, R. Ramakrishnan and J. Gehrke Στιγμιότυπα Στιγμιότυπα των σχέσεων Sailors Reserves και Boats. Αν στο κλειδί της σχέσης Reserved δε συμμετείχε το γνώρισμα
Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση
Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης
Σχεδίαση Βάσεων Δεδομένων. Ενότητα 7- Βελτιστοποίηση Ερωτημάτων Μανώλης Μαραγκουδάκης
Σχεδίαση Βάσεων Δεδομένων Ενότητα 7- Βελτιστοποίηση Ερωτημάτων Μανώλης Μαραγκουδάκης 2 Server processes : καιτιγίνεται εκεί? 3 Επεξεργασία ερωτήσεων Οι clients θέτουν μια ερώτηση SQL στο server Χαρακτηριστικά:
Δεντρικά Ευρετήρια. Δέντρα Αναζήτησης
Δεντρικά Ευρετήρια 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόµβος του περιέχει το πολύ p - 1 τιµές αναζήτησης και ρ δείκτες ως εξής P 1 K 1 P
Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο
Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΑΚΑ. ΕΤΟΣ 2012-13 Ι ΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής, Τοµέας Τεχνολογίας
ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ
ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Πίνακας Πεδίο Τύπος Κύριο κλειδί Αναφορική ακεραιότητα οντοτήτων Ξένο κλειδί Αναφορική ακεραιότητα δεδομένων Δρ. Κεραμόπουλος Ευκλείδης 2 ΚΥΡΙΟ ΚΛΕΙΔΙ ΦΟΙΤΗΤΗΣ ΑΜ CHAR(5) ΟΝΟΜΑ VARCHAR(20)
Επεξεργασία και βελτιστοποίηση ερωτήσεων
Επεξεργασία και βελτιστοποίηση ερωτήσεων Πολλές ευχαριστίες στους Πάνο Βασιλειάδη, Γ. Ιωαννίδη, Τ. Σελλή, Ε. Πιτουρά για την επαναχρησιµοποίηση κειµένων/διαφανειών τους Οι εικόνες για την DB2 είναι από
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ ΔΕΥΤΕΡΗ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ ΔΕΥΤΕΡΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΚΑΔ. ΕΤΟΣ 2007-2008 14.02.2008 EΠΙΣΤΡΕΦΕΤΑΙ ΔΙΔΑΣΚΩΝ Ιωάννης Βασιλείου, Καθηγητής,
Εισαγωγή στη Σχεσιακή Άλγεβρα
Εισαγωγή στη Σχεσιακή Άλγεβρα Η Σχεσιακή Άλγεβρα παρέχει τους τελεστές (operators): Μοναδιαίοι Σχεσιακοί Τελεστές (Unary Relational Ops) Επιλογή (Select, (sigma)) Προβολή (Project, (pi)) Μετονομασία (Rename,
Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός)
ΗΥ460 Τελική Εξέηαζη 29 Ιανουαπίου 2013 Σελίδα 1 από 8 Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Δημήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Επαναληπτική
Βάσεις εδοµένων Ευαγγελία Πιτουρά 2
Ευρετήρια Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 1 Ευρετήρια Ένα ευρετήριο (index) είναι µια βοηθητική δοµή αρχείου που κάνει πιο αποδοτική την αναζήτηση µιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται
Ευρετήρια. Το ευρετήριο αρχείου είναι ένα διατεταγµένο αρχείο µε σταθερού µήκους εγγραφές
Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 1 Ευρετήρια Ένα ευρετήριο (index) είναι µια βοηθητική δοµή αρχείου που κάνει πιο αποδοτική την αναζήτηση µιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται
Ευρετήρια. Το ευρετήριο αρχείου είναι ένα διατεταγµένο αρχείο µε σταθερού µήκους εγγραφές
Ευρετήρια Ένα ευρετήριο (index) είναι µια βοηθητική δοµή αρχείου που κάνει πιο αποδοτική την αναζήτηση µιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισµα του αρχείου που καλείται
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI Β. Μεγαλοοικονόμου Επεξεργασία Ερωτημάτων/Βελτιστοποίηση (παρουσίαση βασισμένη εν μέρη σε σημειώσεις των Silberchatz, Korth και Sudarshan και του C. Faloutsos)
Σχεσιακή Άλγεβρα. Κεφάλαιο 4. Database Management Systems, R. Ramakrishnan and J. Gehrke
Σχεσιακή Άλγεβρα Κεφάλαιο 4 Database Management Systems, R. Ramakrishnan and J. Gehrke 1 Γλώσσες Σχεσιακών Αιτηµάτων v Γλώσσες Αιτηµάτων: Ε ιτρέ ουν τη ιαχείριση και την Ανάκτηση εδοµένων α ό µια Β. v
Οργάνωση Αρχείων. Βάσεις Δεδομένων : Οργάνωση Αρχείων 1. Blobs
Αρχεία Τα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Οργάνωση Αρχείων Η μεταφορά δεδομένων από το δίσκο στη μνήμη και από τη μνήμη στο δίσκο γίνεται σε μονάδες blocks Βασικός στόχος η ελαχιστοποίηση
Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο
Κατακερματισμός 1 Αποθήκευση εδομένων (σύνοψη) Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Παραδοσιακά, μία σχέση (πίνακας/στιγμιότυπο) αποθηκεύεται σε ένα αρχείο Αρχείο δεδομένων
BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2013
1 2 3 ΟΝΟΜΑ ΣΥΝ Αρ. Μητρώου ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2013 Ι. Βασιλείου Τ. Σελλής -----------------------------------------------------------------------------------------------------
Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Ευρετήρια Ευαγγελία Πιτουρά 1 τιμή γνωρίσματος Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται
Επεξεργασία Ερωτήσεων: Επανάληψη και Ασκήσεις
Ερώτηση SQL Ερώτηση : Επανάληψη και Ασκήσεις Συντακτική Ανάλυση & Μετάφραση Έκφραση της Σχεσιακής Άλγεβρας Σχέδιο Εκτέλεσης Μηχανή Υπολογισµού Στατιστικά Στοιχεία εδοµένα Αποτέλεσµα Κατανεµηµένες Βάσεις
ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2018 Project
ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2018 Project Δημιουργήστε τους πίνακες (tables.sql) και εισάγετε τα δεδομένα (distributedby.sql 143.153 πλειάδες, movie.sql 193.781 πλειάδες,
Εξωτερική Ταξινόμηση. Μ.Χατζόπουλος 1
Εξωτερική Ταξινόμηση Μ.Χατζόπουλος 1 Γιατί είναι απαραίτητη; Κλασσικό Πρόβλημα της Πληροφορικής Πολλές φορές θέλουμε να παρουσιάσουμε δεδομένα σε ταξινομημένη μορφή Είναι σημαντική για την απαλοιφή διπλοτύπων
ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΜΑΘΗΜΑ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΚΑΔ. ΕΤΟΣ 2011-12 ΔΙΔΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής Τιμολέων Σελλής Καθηγητής Άσκηση 1
Βάσεις Δεδομένων (Databases)
Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) θεωρητικές Γλώσσες Ερωτήσεων (Formal Query Languages): Σχεσιακή Άλγεβρα Τελεστές Θεωρίας Συνόλων
Ονοματεπώνυμο: Αριθμός Μητρώου:
ΗΥ460 Τελική Εξέταση 1 Φεβρουαρίου 2012 Σελίδα 1 από 8 Ονοματεπώνυμο: Αριθμός Μητρώου: Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Δημήτρης Πλεξουσάκης
Κεφάλαιο 7. ISAM και B- έντρα Φυσικός Σχεδιασµός για Βάσεις εδοµένων. ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.53
Κεφάλαιο 7 ISAM και B- έντρα Φυσικός Σχεδιασµός για Βάσεις εδοµένων ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.53 ιαχείριση Μνήµης.. SET-ORIENTED DBMS Εφαρµογή Προγράµµατα οσοληψιών Database Access
Τα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο
Οργάνωση Αρχείων 1 Αρχεία Τα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Η μεταφορά δεδομένων από το δίσκο στη μνήμη και από τη μνήμη στο δίσκο γίνεται σε μονάδες blocks Βασικός στόχος η ελαχιστοποίηση
Οργάνωση Αρχείων. Βάσεις Δεδομένων : Οργάνωση Αρχείων 1. Blobs
Αρχεία Τα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Οργάνωση Αρχείων Η μεταφορά δεδομένων από το δίσκο στη μνήμη και από τη μνήμη στο δίσκο γίνεται σε μονάδες blocks Βασικός στόχος η ελαχιστοποίηση
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model SQL Μαθ. #11 Ε-R Model for a COMPANY database The COMPANY relational database schema A relational database instance of the COMPANY schema SQL Μια γλώσσα σχεσιακής βάσης
ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης
ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΕΠΙΚΟΙΝΩΝΙΑΣ & ΣΠΟΥΔΩΝ ΔΙΑΔΙΚΤΥΟΥ ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Ακαδημαϊκό Έτος 2011 2012, Εαρινό Εξάμηνο Καθ.: Νίκος Τσαπατσούλης ΥΠΟΔΕΙΓΜΑ
Αποθήκευση Δεδομένων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Αποθήκευση Δεδομένων Βάσεις Δεδομένων 2017-2018 1 ΣΔΒΔ SQL ΣΔΒΔ ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Τυπικά, Κάθε σχέση (το στιγμιότυπο της) αποθηκεύεται σε ένα αρχείο Βάσεις Δεδομένων 2017-2018 2 Δομή ενός ΣΔΒΔ (πιο αναλυτικά)
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΤΕΤΑΡΤΟ Insert, Update, Delete, Ένωση πινάκων Γιώργος Μαρκοµανώλης Περιεχόµενα Group By... 1 Having...1 Οrder By... 2 Εντολή Insert...
Θέματα Υλοποίησης Σχεσιακών ΣΔΒΔ
Θέματα Υλοποίησης Σχεσιακών ΣΔΒΔ Γιάννης Θεοδωρίδης InfoLab, Τμήμα Πληροφορικής, Πανεπιστήμιο Πειραιά http://infolab.cs.unipi.gr version: Nov.2009 Περιεχόμενα Η τυπική αρχιτεκτονική ενός Σχεσιακού ΣΔΒΔ
Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια.
Ευρετήρια Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Σχεσιακό Μοντέλο SQLΜέρος Α Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan και του C. Faloutsos
Ευρετήρια και Κατακερματισμός
Ευρετήρια και Κατακερματισμός B μέρος Ευρετήρια και Κατακερματισμός Σελίδα 1 ΣΥΝΟΨΗ ΕΝΟΤΗΤΑΣ Συναρτήσεις κατακερματισμού Κατακερματισμός στις βάσεις δεδομένων Στατικός vs. Δυναμικός Κατακερματισμός Bitmaps
Βάσεις Δεδομένων 2. Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων. Ημερ: 27/5/2008 Ακ.Έτος
Βάσεις Δεδομένων 2 Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων Ημερ: 27/5/2008 Ακ.Έτος 2007-08 Υλοποίηση σχεσιακών πράξεων ΤΑΞΙΝΟΜΗΣΗ Εξωτερική ταξινόμηση για μεγάλα αρχεία, αποθηκευμένα
BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------
Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρα 1. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια.
Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου που καλείται
Advanced Data Indexing
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Μοντέλα - Αλγόριθμοι Ταξινόμηση Μοντέλα Δευτερεύουσας Μνήμης I/O Αποδοτικοί Αλγόριθμοι Οι εσωτερικές τεχνικές caching και prefetching των Η/Υ είναι
Ευρετήρια. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια. Ευρετήρια. Ευρετήρια
Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου που καλείται
Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων 2009-2010: Ευρετήρια 1
Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου
Ευρετήρια. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια. Ευρετήρια. Ευρετήρια
Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου που καλείται
Κεφ.11: Ευρετήρια και Κατακερματισμός
Κεφ.11: Ευρετήρια και Κατακερματισμός Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Κεφ. 11: Ευρετήρια-Βασική θεωρία Μηχανισμοί ευρετηρίου χρησιμοποιούνται για την επιτάχυνση
Πανεπιστήμιο Πειραιώς, Τμήμα Πληροφορικής
Πανεπιστήμιο Πειραιώς, Τμήμα Πληροφορικής Ακαδημαϊκό έτος 2009-10 ΣΥΓΦΡΟΝΑ ΘΔΜΑΤΑ ΒΑΣΔΩΝ ΓΔΓΟΜΔΝΩΝ 1 η ΔΡΓΑΣΙΑ ΔΞΑΜΗΝΟΥ ομάδες των 2-3 ατόμων Εισαγωγή Έστω η βάση δεδομένων μιας επιχείρησης (θα μπορούσε
Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Βάσεις Δεδομένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Βασικές πράξεις της Σχεσιακής Αλγεβρας Σχεσιακό Μοντέλο Δεδομένων Ορισμός Βάσης
Εαρινό Εξάμηνο
Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών Εαρινό Εξάμηνο 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
2 η Σειρά Ασκήσεων Ημερομηνία Παράδοσης: 14/11/2016
ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης 2 η Σειρά Ασκήσεων Ημερομηνία Παράδοσης: 14/11/2016 Άσκηση 1 (10 μονάδες) Εξωτερική Ταξινόμηση Θεωρείστε
Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 09: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) Ι Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Σχεσιακή Πληρότητα Σχεσιακή Άλγεβρα
ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη
ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη 1 SQL(DML) - Query Example 1 Query:1 Βρείτε τα ονόματα των έργων που δεν αφορούν το τμήμα research
Η Γλώσσα SQL. Μέρος α. Η Γλώσσα SQL Σελίδα 1
Η Γλώσσα SQL Μέρος α Η Γλώσσα SQL Σελίδα 1 SQL - ΕΙΣΑΓΩΓΗ SQL (Structured Query Language) είναι η τυποποιηµένη standard γλώσσα στις Σχεσιακές Βάσεις. Η πρώτη χρήση ήταν στο πρότυπο σύστηµα της IBM, που
Συστήματα Διαχείρισης Βάσεων Δεδομένων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Φροντιστήριο 5: Tutorial on External Sorting Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών TUTORIAL ON EXTERNAL SORTING
Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1
Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Project Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2014
Ευρετήρια. Ευρετήρια. Βάσεις εδοµένων :ευρετήρια 1
Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου
εντρικά Ευρετήρια έντρα Αναζήτησης
εντρικά Ευρετήρια 1 έντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτεςωςεξής P 1 K 1 P j K
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
SQL: Αιτήματα. ( Συνέχεια...) Κεφάλαιο 5. Ενηµέρωση: 23/12/2008. Database Management Systems, R. Ramakrishnan and J. Gehrke
SQL: Αιτήματα ( Συνέχεια...) Κεφάλαιο 5 Ενηµέρωση: 23/12/2008 Database Management Systems, R. Ramakrishnan and J. Gehrke Τελεστές Συνάθροισης Σημαντική π ροέκταση της σχεσιακής άλγεβρας. COUNT (*) COUNT
Data Cube. Μ.Χατζόπουλος 1
Data Cube Μ.Χατζόπουλος Μ.Χατζόπουλος 1 Ανάλυση εδοµένων Εξαγωγή συναθροιστικών δεδοµένων από µια βάση δεδοµένων Οπτικοποίηση των αποτελεσµάτων Μπορούνοιπαραδοσιακέςεπίπεδεςβάσειςδεδοµένων; Οι σχεσιακές
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2012 SQL Structured Query Language Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Πράξεις της σχεσιακής άλγεβρας ΠΡΑΞΗ ΣΚΟΠΟΣ
Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI
Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Σχεσιακή Άλγεβρα Τελεστές Συνένωσης
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΦΘΙΝΟΠΩΡΟ 2006 Λύση ΑΣΚΗΣΗΣ #2 Τ. Σελλής
Εξωτερική Ταξινόμηση. Μ.Χατζόπουλος 1
Εξωτερική Ταξινόμηση Μ.Χατζόπουλος 1 Γιατί είναι απαραίτητη; Κλασσικό Πρόβλημα της Πληροφορικής Πολλές φορές θέλουμε να παρουσιάσουμε δεδομένα σε ταξινομημένη μορφή Είναι σημαντική για την απαλοιφή διπλοτύπων
Βάσεις Δεδομένων. Βασίλειος Βεσκούκης Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL
Εθνικό Μετσόβιο ολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Βάσεις Δεδομένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL Η γλώσσα SQL
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
Υλοποίηση των Σχεσιακών Τελεστών. 6/16/2009 Μ.Χατζόπουλος 1
Υλοποίηση των Σχεσιακών Τελεστών 6/16/2009 Μ.Χατζόπουλος 1 Ένα σχεσιακό ΣΔBΔ πρέπει να συμπεριλαμβάνει αλγόριθμους για υλοποίηση των διαφορετικών τύπων των σχεσιακών πράξεων (καθώς και άλλων πράξεων) που
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων
ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Πτυχιακή Εξεταστική Ιούλιος 2014 Διδάσκων : Ευάγγελος Μαρκάκης 09.07.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες
Linear Hashing. Linear vs other Hashing
Linear Hashing Τµήµα Πληροφορικής & Τηλ/νών, ΕΚΠΑ Υλοποίηση Συστηµάτων Βάσεων εδοµένων http://www.di.uoa.gr/~k18 Linear vs other Hashing Σεαντίθεσηµετοστατικόκατακερµατισµό, τα buckets αυξάνονται καθώς
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 6: SQL (Συζεύξεις, Εμφώλευση, Ομαδοποίηση) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι
Ενότητα 6: SQL (Συζεύξεις, Εμφώλευση, Ομαδοποίηση) Ευαγγελίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που
Βάσεις Δεδομένων ΙΙ Ενότητα 5
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 5: Δομές Ευρετηρίων - ISAM Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά
Βελτιστοποίηση ερωτημάτων Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη
Βελτιστοποίηση ερωτημάτων Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Εισαγωγή (1) Εναλλακτικοί τρόποι για