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

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

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

Transcript

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

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

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

4 Για τι θα μιλήσουμε (1) 0. Εισαγωγή στην επεξεργασία ερωτήσεων 1. Μετάφραση SQL Ερωτήσεων σε Σχεσιακή Άλγεβρα 2. Αλγόριθμοι Εξωτερικής Ταξινόμησης 3. Αλγόριθμοι για τις πράξεις ΕΠΙΛΟΓΗ και ΣΥΝΕΝΩΣΗ 4. Αλγόριθμοι για ΠΡΟΒΟΛΗ και συνόλων 5. Υλοποίηση Συναθροιστικών πράξεων και εξωτερικών συνενώσεων 6. Συνδυασμός Πράξεων με χρήση σωλήνωσης 7. Χρήση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων 8. Χρήση επιλεξιμότηταςκαι εκτιμήσεων κόστουςστη βελτιστοποίηση ερωτήσεων 9. Ανασκόπηση της βελτιστοποίησης ερωτήσεων στην Oracle 10. Σημασιολογική βελτιστοποίηση ερωτήσεων Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-4

5 0. Εισαγωγή στη βελτιστοποίηση ερωτήσεων (1) Βελτιστοποίηση ερωτήσεων: Η διαδικασία επιλογής κατάλληλης στρατηγικής εκτέλεσης μιας ερώτησης. Δύο εσωτερικές αναπαραστάσεις μιας ερώτησης: : Δένδρο ερώτησης Γράφος ερώτησης Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-5

6 Εισαγωγή στη βελτιστοποίηση ερωτήσεων (2) Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-6

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

8 Συντακτική ανάλυση και μετάφραση Μετάφραση της ερώτησης σε εσωτερική μορφή. Στη συνέχεια μετάφραση σε σχεσιακή άλγεβρα. Έλεγχος της σύνταξης Υπολογισμός Η μηχανή εκτέλεσης επιλέγει ένα σχέδιο εκτέλεσης, το εκτελεί και επιστρέφει τις απαντήσεις. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-8

9 Βασικά βήματα στην Επεξεργασία Ερωτήσεων: Βελτιστοποίηση Μια σχεσιακή έκφραση μπορεί να έχει πολλές ισοδύναμες εκφράσεις Π.χ., σ Μισθος<75000 ( Μισθος (ΕΡΓΑΖΟΜΕΝΟΣ)) είναι ισοδύναμη με την Μισθος (σ Μισθος<75000 (ΕΡΓΑΖΟΜΕΝΟΣ)) Κάθε πράξη της σχεσιακής άλγεβρας μπορεί να αποτιμηθεί με χρήση διαφορετικών αλγορίθμων Αντίστοιχα, μια έκφραση της σχεσιακής άλγεβρας μπορεί να αποτιμηθεί κατά πολλούς τρόπους. Μια έκφραση με επισημειώσεις που προσδιορίζουν λεπτομέρεις της στρατηγικής εκτέλεσης ονομάζεται ένα πλάνο εκτέλεσης. Π.χ., μπορεί να χρησιμοποιηθεί ένα ευρετήριο στο Μισθος to fγια εύρεση των εργαζομένων με Μισθος < 75000, ή μπορεί να εκτελεσθεί μια πλήρης σάρωση για να απορριφθούν εργαζόμενοι με Μισθος Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-9

10 1. Μετάφραση SQL Ερωτήσεων σε Σχεσιακή Άλγεβρα (1) Μπλοκ ερώτησης: Η βασική μονάδα που μπορεί να μεταφρασθεί σε αλγεβρικούς τελεστές και να βελτιστοποιηθεί. Ένα μπλοκ ερώτησης περιέχει μια SELECT-FROM- WHERE έκφραση, καθώς και προτάσεις GROUP BY και HAVING αν αποτελούν τμήμα του μπλοκ. Οι εμφωλευμένες ερωτήσεις μέσα σε μια ερώτηση θεωρούνται ξεχωριστά μπλοκ ερωτήσεων. Οι συναθροιστικοί τελεστές στην SQL πρέπει να περιλαμβάνονται στην επεκτεταμένη άλγεβρα. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-10

11 Βασικά Βήματα στη Βελτιστοποίηση Βελτιστοποίηση Ερωτήσεων: Μεταξύ όλων των πλάνων εκτέλεσης επέλεξε αυτό με το μικρότερο κόστος. Το κόστος εκτιμάται με ρήση στατιστικών πληροφοριών από τον κατάλογο της βάσης δεδομένων π.χτο πλήθος των πλειάδων μιας σχέσης, το μέγεθος των πλειάδων κλπ.. Θα μελετήσουμε Πώς να εκτιμούμε το κόστος των ερωτήσεων Αλγόριθμους για αποτίμηση των πράξεων της σχεσιακής άλγεβρας Πως συνδυάζονται οι αλγόριθμοι για να εκτιμηθεί μια πλήρης έκφραση Πως μπορεί να βρεθεί ένα πλάνο εκτέλεσης με το μικρότερο εκτιμούμενο κόστος. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-11

12 Μέτρα εκτίμησης του κόστους ερωτήσεων Γενικά το κόστος μετριέται σαν ο συνολικός χρόνος που απαιτείται για να απαντηθεί μια ερώτηση Για το χρόνο αυτό συμβάλλουν πολλοί παράγοντες προσπελάσεις στο δίσκο, CPU, ή και επικοινωνιακό κόστος Τυπικά το κόστος που υπερισχύει είναι οι προσπελάσεις στο δίσκο, και είναι σχετικά εύκολο να εκτιμηθούν.μετριούνται λαμβάνοντας υπόψη Πλήθος seeks * μέσο κόστος εντοπισμού Πλήθος μπλοκ που διαβάζονται *μέσο κόστος ανάγνωσης μπλοκ Πλήθος μπλοκ που γράφονται * μέσο κόστος γραφής μπλοκ Το κόστος γραφής είναι μεγαλύτερο από το κόστος ανάγνωσης Τα δεδομένα διαβάζονται ξανά για να εξασφαλισθεί η επιτυχία της γραφής Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-12

13 Μέτρα εκτίμησης του κόστους ερωτήσεων (συν.) Για απλούστευση χρησιμοποιούμε το πλήθος των μπλοκ που μεταφέρονται από το δίσκο και το πλήθος των εντοπισμών (seeks) σαν μέτρα του κόστους btt χρόνος μεταφοράς ενός μπλοκ s χρόνος εντοπισμού Κόστος μεταφοράς b μπλοκ και S εντοπισμών b * btt + S * s Για απλούστευση αγνοούμε το CPU κόστος Τα πραγματικά συστήματα λαμβάνουν υπόψη και το CPU κόστος Στους τύπους δεν θα συμπεριλάβουμε κόστος γραψίματος της εξόδου Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-13

14 Μέτρα εκτίμησης του κόστους ερωτήσεων (συν.) Διάφοροι αλγόριθμοι μειώνουν τις μεταφορές στο δίσκο χρησιμοποιώντας επιπλέον buffer χώρο Το πραγματικό μέγεθος του διαθέσιμου buffer εξαρτάται από άλλες ταυτόχρονες ερωτήσεις και διαδικασίες του λειτουργικού, που είναι γνωστές κατά την εκτέλεση Συχνά χρησιμοποιούμε την χειρότερη περίπτωση, υποθέτοντας ότι είναι διαθέσιμο το ελάχιστο μέγεθος μνήμης που απαιτείται για την πράξη Τα δεδομένα που χρειαζόμαστε μπορεί να είναι ήδη διαθέσιμα στο buffer και να μην απαιτείται προσπέλαση στο δίσκο Αλλά αυτό είναι δύσκολο να το λάβουμε υπόψη στην εκτίμηση του κόστους Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-14

15 2. Αλγόριθμοι για Εξωτερική Ταξινόμηση (1) Εξωτερική Ταξινόμηση: Αφορά αλγόριθμους ταξινόμησηςκατάλληλους για μεγάλα αρχεία εγγραφώνπου αποθηκεύονται στο δίσκο και δεν χωρούν ολόκληρα στη μνήμη, όπως τα περισσότερα αρχεία δίσκων. Στρατηγική ταξινόμησης με συνένωση: Ξεκινάει με ταξινόμηση μικρών υποαρχείων (σειρές-runs) του κυρίως αρχείου και στη συνέχεια συνενώνει τις ταξινομημένες σειρές, δημιουργώντας μεγαλύτερα υποαρχεία που με την σειρά τους συνενώνονται. Φάση ταξινόμησης : n R = (b/n B ) Φάση συνένωσης: d M = Min (n B -1, n R ); n P = (log dm (n R )) n R : πλήθος αρχικών σειρών b: πλήθος μπλοκ του αρχείου n B : διαθέσιμος χώρος μπαφερ d M : βαθμός συνένωσης n P : πλήθος περασμάτων. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-15

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

17 3. Αλγόριθμοι για τις πράξεις SELECT και JOIN (1) Υλοποίηση της πράξης SELECT Παραδείγματα: (OP1): σ ΑΡ_ΤΑΥΤ=' ' (ΕΡΓΑΖΟΜΕΝΟΣ) (OP2): σ ΚΩΔ_ΤΜΗΜ>5 (ΤΜΗΜΑ) (OP3): σ ΑΡΙΘ_Τ=5 (ΕΡΓΑΖΟΜΕΝΟΣ) (OP4): σ ΑΡΙΘ_Τ =5 AND ΜΙΣΘΟΣ>30000 AND ΦΥΛΟ=F(ΕΡΓΑΖΟΜΕΝΟΣ) (OP5): σ ESSN= AND PNO=10 (ΑΠΑΣΧΟΛΗΣΗ) Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-17

18 Αλγόριθμοι για τις πράξεις SELECT και JOIN (2) Υλοποίηση της πράξης SELECT (συν.): Μέθοδοι αναζήτησης για απλή επιλογή : Α1 Γραμμική Αναζήτηση (brute force): Ανάκτηση κάθε εγγραφής του αρχείου, και εξετάζεται αν οι τιμές των γνωρισμάτων ικανοποιούν την συνθήκη επιλογής. Α2 Δυαδική αναζήτηση: Αν η συνθήκη επιλογής περιλαμβάνει μια σύγκριση ισότητας σε ένα γνώρισμα κλειδί στο οποίο είναι ταξινομημένο το αρχείο, μπορεί να χρησιμοποιηθεί δυαδική αναζήτηση (που είναι πιο αποτελεσματική από την γραμμική αναζήτηση). (δες OP1). Α3 Χρήση ενός πρωτεύοντος ευρετηρίου ή κλειδιού κατακερματισμού για ανάκτηση μιας εγγραφής : Αν η συνθήκη επιλογής περιλαμβάνει μια συνθήκη ισότητας σε ένα γνώρισμα κλειδί με ένα πρωτεύον ευρετήριο (ή κλειδί κατακερματισμού), χρησιμοποιείται, για ανάκτηση της εγγραφής, το πρωτεύον ευρετήριο (ή το κλειδί κατακερματισμού). Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-18

19 Αλγόριθμοι για τις πράξεις SELECT και JOIN (3) Υλοποίηση της πράξης SELECT (συν.): Μέθοδοι Αναζήτησης για Απλή Επιλογή: Α4 Χρήση ενός πρωτεύοντος ευρετηρίου για ανάκτηση πολλαπλών εγγραφών: Αν η συνθήκη επιλογής είναι >,, <, ή στο πεδίο κλειδί με πρωτεύον ευρετήριο, χρησιμοποιείται το ευρετήριο για εύρεση της της εγγραφής που ικανοποιεί την αντίστοιχη συνθήκη ισότητας, στη συνέχεια ανακτώνται οι εγγραφές που ακολουθούν στο (ταξινομημένο) αρχείο. Α5 Χρήση ευρετηρίων συστάδων για ανάκτηση πολλαπλών εγγραφών: Αν η συνθήκη επιλογής περιλαμβάνει μια συνθήκη ισότητας σε ένα γνώρισμα που δεν είναι κλειδί που έχει ευρετήριο συστάδων, χρησιμοποιούμε το ευρετήριο συστάδων για ανάκτηση όλων των εγγραφών που ικανοποιούν την συνθήκη επιλογής. Α6 Χρήση δευτερεύοντος ευρετηρίου (B+-tree): Σε μια σύγκριση ισότητας, μπορεί να χρησιμοποιηθεί αυτή η μέθοδος αναζήτησης για ανάκτηση μιας εγγραφής αν το πεδίο ευρετηρίασης έχει μοναδική τιμή (είναι κλειδί) ή για ανάκτηση πολλαπλών εγγραφών αν το πεδίο ευρετηρίασης δεν είναι κλειδί. Επιπλέον, μπορεί να χρησιμοποιηθεί για ανάκτηση εγγραφών σε συνθήκες που περιλαμβάνουν >,>=, <, or <=. (ΓΙΑ ΕΡΩΤΗΣΕΙΣ ΔΙΑΣΤΗΜΑΤΟΣ) Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-19

20 Αλγόριθμοι για τις πράξεις SELECT και JOIN (4) Υλοποίηση της πράξης SELECT (συν.): Μέθοδοι Αναζήτησης για Πολύπλοκες Επιλογές: Α7 Συζευκτική επιλογή: Αν κάποιο από τα γνωρίσματα μιας απλής συνθήκης στη συζευκτική συνθήκη έχει δυνατότητα προσπέλασης που επιτρέπει τη χρήση μιας από τις μεθόδους Α2 έωςα6, χρησιμοποιούμε αυτή τη συνθήκη για ανάκτηση των εγγραφών και στη συνέχεια ελέγχουμε ποιες από τις εγγραφές που ανακτώνται ικανοποιούν τις υπόλοιπες απλές συνθήκες της συζευκτικής συνθήκης. Α8 Συζευκτική επιλογή με χρήση σύνθετου ευρετηρίου Αν δύο ή περισσότερα γνωρίσματα συμμετέχουν σε συνθήκες ισότητας στην συζευκτική συνθήκη και υπάρχει σύνθετο ευρετήριο (ή δομή κατακερματισμού) στο συνδυασμό των πεδίων, μπορούμε να χρησιμοποιήσουμε άμεσα το ευρετήριο. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-20

21 Αλγόριθμοι για τις πράξεις SELECT και JOIN (5) Υλοποίηση της πράξης SELECT (συν.): Μέθοδοι Αναζήτησης για Πολύπλοκες Επιλογές: Α9 Συζευκτική επιλογή με τομή δεικτών εγγραφών : Αυτή η μέθοδος είναι δυνατή αν υπάρχουν δευτερεύοντα ευρετήρια σε όλα (ή κάποια) από τα πεδία που συμμετέχουν στις συνθήκες σύγκρισης ισότητας στην συζευκτική συνθήκη και αν τα ευρετήρια περιλαμβάνουν δείκτες εγγραφών (αντί για δείκτες μπλοκ). Κάθε ευρετήριο μπορεί να χρησιμοποιηθεί για ανάκτηση των δεικτών που ικανοποιούν την ατομική συνθήκη. Η τομή αυτών των συνόλων δεικτών εγγραφών δίνει τους δείκτες στις εγγραφές που ικανοποιούν την συζευκτική συνθήκη, και χρησιμοποιούνται για ανάκτηση των εγγραφών. Αν μόνο μερικές από τις συνθήκες έχουν δευτερεύοντα ευρετήρια, κάθε εγγραφή που ανακτάται ελέγχεται περαιτέρω αν ικανοποιεί τις υπόλοιπες συνθήκες. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-21

22 Αλγόριθμος Α1 γραμμική αναζήτηση Σάρωση όλων των μπλοκ του αρχείου και έλεγχος αν ικανοποιούν την συνθήκη επιλογής. Εκτίμηση κόστους= b r μεταφορές μπλοκ + 1 seek b r το πλήθος των μπλοκ που περιέχουν τις εγγραφές της σχέσης R Αν η επιλογή γίνεται σε γνώρισμα κλειδί, σταματάμε μόλις βρεθεί η εγγραφή κόστος = (b r /2) μεταφορές μπλοκ + 1 seek Η γραμμική αναζήτηση μπορεί να επιτευχθεί ανεξάρτητα από συνθήκη επιλογής ή διάταξη των εγγραφών στο αρχείο ή ύπαρξη ευρετηρίων Σημείωση: η δυαδική αναζήτηση γενικά δεν έχει σημασία αφού τα δεδομένα δεν αποθηκεύονται διαδοχικά εκτός αν υπάρχει διαθέσιμο ευρετήριο, Και η δυαδική αναζήτηση απαιτεί περισσότερα seeks από αναζήτηση ευρετηρίου Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-22

23 Ύπαρξη Ευρετηρίου Σάρωση Ευρετηρίου αλγόριθμοι που χρησιμοποιούν ευρετήριο Η συνθήκη επιλογής πρέπει να είναι στο κλειδί αναζήτησης του ευρετηρίου. A3 (πρωτεύον ευρετήριο, ισότητα στο κλειδί). Ανάκτηση μιας εγγραφής που ικανοποιεί της αντίστοιχη συνθήκη ισότητας Κόστος = (h i + 1) * (btt + s) A3 (πρωτεύον ευρετήριο, συνθήκη ανισότητας)ανάκτηση πολλαπλώνεγγραφών. Οι εγγραφές θα είναι σε διαδοχικά μπλοκ Έστω b = πλήθος μπλοκ που περιέχουν τις εγγρφές που ικανοποιούν την συνθήκη Κόστος = h i * (btt + s) + s + btt * b Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-23

24 Δευτερεύον Ευρετήριο A6 (δευτερεύον ευρετήριο, ισότητα όχι στο πρωτεύον κλειδί)). Ανάκτηση μιας εγγραφής αν το κλειδί αναζήτησης είναι υποψήφιο κλειδί Κόστος = (h i + 1) * (btt + s) Ανάκτηση πολλών εγγραφών αν το κλειδί αναζήτησης δεν είναι υποψήφιο κλειδί Κάθε εγγραφή από τις n που ικανοποιούν την συνθήκη μπορεί να είναι σε διαφορετικό μπλοκ Κόστος = (h i + n) * (btt + s) Μπορεί να είναι πολύ ακριβή! Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-24

25 Επιλογές που περιλαμβάνουν συγκρίσεις Υλοποίηση επιλογών σ A V (R) or σ A V (R) με χρήση γραμμικής σάρωσης, ή χρήσης ευρετηρίων κατά τους ακόλουθους τρόπους: A4 (πρωτεύον ευρετήριο, σύγκριση). (Η σχέση είναι ταξινομημένη στο A) Για σ A V (R) χρησιμοποιείται το ευρετήριο για να βρεθεί η πρώτη πλειάδα v και από εκεί η σάρωση γίνεται γραμμικά Για σ A V (r) γραμμική σάρωση μέχρι να βρεθεί η πρώτη πλειάδα > v, εν χρειάζεται χρήση ευρετηρίου A6 (δευτερεύον ευρετήριο, σύγκριση). Για σ A V (R) χρήση του ευρετηρίου για να βρεθεί η πρώτη καταχώρηση v και από εκεί γραμμική σάρωση για να βρεθούν οι δείκτες προς τις εγγραφές. Για σ A V (R) σάρωση των φύλων του ευρετηρίου μέχρι να βρεθεί δείκτης με καταχώρηση > v Σε κάθε περίπτωση, η ανάκτηση των εγγραφών που δείχνουν οι δείκτες Απαιτεί μια προσπέλαση για κάθε εγγραφή Η γραμμική σάρωση μπορεί να κοστίζει λιγότερο Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-25

26 Σύνθετες Επιλογές Σύζευξη: σ θ1 θ2... θn (r) A7 (συζευκτική επιλογή με χρήση ενός ευρετηρίου). Επιλογή μιας (αυτής με το μικρότερο κόστος) θ i και εφαρμογή των προηγουμένων αλγορίθμων. Έλεγχος των εγγραφών αν ικανοποιούν και τις άλλες συνθήκες. A8 (συζευκτική επιλογή με χρήση σύνθετου ευρετηρίου). Χρήση του κατάλληλου σύνθετου ευρετηρίου αν υπάρχει. A9 (συζευκτική επιλογή με τομή των δεικτών). Απαιτεί ευρετήρια με δείκτες σε εγγραφές. Χρήση του αντίστοιχου ευρετηρίου για κάθε συνθήκη, και εύρεση της τομής όλων των συνόλων δεικτών. Στη συνέχεια μεταφέρονται οι εγγραφές από το αρχείο Αν για κάποιες συνθήκες δεν υπάρχουν ευρετήρια γίνεται έλεγχος στη μνήμη. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-26

27 Σύνθετες επιλογές Διάζευξη:σ θ1 θ2... θn (R). Διαζευκτική επιλογή με ένωση. Εφαρμόζεται αν όλες cοι συνθήκες έχουν δείκτες. Διαφορετικά γραμμική σάρωση. Χρήση των αντίστοιχων ευρετηρίων για κάθε συνθήκη και στη συνέχεια ένωση όλων των δεικτών. Στη συνέχεια μεταφορά των εγγραφών από το αρχείο Άρνηση: σ θ (R) Γραμμική σάρωση του αρχείου Αν πολύ λίγες εγγραφές ικανοποιούν την θ, και υπάρχει ευρετήριο στη θ Βρες τις εγγραφές που ικανοποιούν την συνθήκη και μετάφερέ τες από το αρχείο Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-27

28 Αλγόριθμοι για τις πράξεις SELECT και JOIN (6) Υλοποίηση της πράξης SELECT (συν.): Όταν μιααπλή συνθήκη ικανοποιεί την επιλογή, μπορούμε να ελέγξομε μόνο αν υπάρχει δρόμος προσπέλασης για το γνώρισμα της συνθήκης. Αν υπάρχει δρόμος προσπέλασης, χρησιμοποιείται η μέθοδος που αντιστοιχεί σε αυτό το δρόμο προσπέλασης. Διαφορετικά, χρησιμοποιείται η προσέγγιση της γραμμικής αναζήτησης της μεθόδου Α1. (ΔεςΠΡ1, ΠΡ2 καιπρ3) Γιασυζευκτικές συνθήκες επιλογής, όταν στις συνθήκες συμμετέχουν περισσότερα από ένα γνωρίσματα που έχουν δρόμο προσπέλασης, πρέπει να γίνει βελτιστοποίηση ερωτήσεων για να επιλεγεί ο δρόμος που ανακτά τις λιγότερες εγγραφές με τον πιο αποτελεσματικό τρόπο. Διαζευκτικές συνθήκες επιλογής Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-28

29 Αλγόριθμοι για τις πράξεις SELECT και JOIN (7) Υλοποίηση της πράξης JOIN: Συνένωση (EQUIJOIN, NATURAL JOIN) συνένωση δύο δρόμων: συνένωση δύο αρχείων π.χ. R A=B S πολλαπλή συνένωση: : συνένωση με περισσότερα από δύο αρχεία. e.g. R A=B S C=D T Παραδείγματα (ΠΡ6): ΕΡΓΑΖΟΜΕΝΟΣ ΑΡΙΘ_Τ=ΚΩΔ_ΤΜΗΜ ΤΜΗΜΑ (ΠΡ7): ΤΜΗΜΑ ΔΙΕΥΘΗΝΤΗΣ=ΑΡ_ΤΑΥΤ ΕΡΓΑΖΟΜΕΝΟΣ Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-29

30 Αλγόριθμοι Συνένωσης Υπάρχουν διάφοροι αλγόριθμοι υλοποίησης των συνενώσεων Εμφωλευμένοι Βρόγχοι (Nested-loop join) Συνένωση μπλοκ (Block nested-loop join) Εμφωλευμένοι βρόγχοι με ευρετήριο (Indexed nested-loop join) Συγχώνευση (Merge-join) Κατακερματισμός (Hash-join) Η επιλογή εξαρτάται από την εκτίμηση του κόστους Παράδειγμα: σχέση R εγγραφές σχέση S εγγραφές σχέση R1 100 μπλοκ σχέση S1 400 μπλοκ Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-30

31 Αλγόριθμοι για τις πράξεις SELECT και JOIN (8) Υλοποίηση της πράξης JOIN (συν.): Μέθοδοι υλοποίησης των συνενώσεων: Σ1 Εμφωλευμένοι βρόχοι (εξαντλητική μέθοδος): Για κάθε εγγραφή t στο R (εξωτερικός βρόχος), ανάκτηση κάθε εγγραφής s από το S (εσωτερικός βρόχος) και έλεγχος αν οι δύο εγγραφές ικανοποιούν την συνθήκη συνένωσης t[a] = s[b]. Σ2 Συνένωση απλού βρόχου (χρήση μιας δομής προσπέλασης για ανάκτηση των εγγραφών που ικανοποιούν τη συνθήκη): Αν υπάρχει ένα ευρετήριο (ή κλειδί κατακερματισμού) για ένα από τα δύο γνωρίσματα συνένωσης έστω, B του S ανάκτηση κάθε εγγραφής t του R, μια κάθε φορά, και χρήση της δομής προσπέλασης για άμεση ανάκτηση όλων των εγγραφών s της S που ικανοποιούν τη συνθήκη s[b] = t[a]. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-31

32 Εμφωλευμένοι βρόγχοι Για υπολογισμό μιας θήτα συνένωσης R θ S for each tuple t r in R do begin for each tuple t s in S do begin test pair (t r,t s ) to see if they satisfy the join condition θ if they do, add t r t s to the result. end end Η R ονομάζεται ηεξωτερική σχέσηκαι η S ηεσωτερική σχέση της συνένωσης. Δεν απαιτεί ευρετήρια και μπορεί να εφαρμοσθεί σε κάθε είδος συνένωσης. ΑΚΡΙΒΗ αφού απαιτεί την εξέταση κάθε ζεύγους πλειάδων. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-32

33 Εμφωλευμένοι βρόγχοι-κόστος Στη χειρότερη περίπτωση, όταν η διαθέσιμη μνήμη χωράει ένα μπλοκ από κάθε σχέση το κόστος είναι n r b s + b r μεταφορές μπλοκ,και n r + b r seeks Αν η μικρότερη σχέση χωράει στη μνήμη, την χρησιμοποιούμε σαν εσωτερική σχέση. Μειώνει το κόστος σε b r + b s μεταφορές μπλοκ και 2 seeks Στη χειρότερη περίπτωση με την R1 σαν εξωτερική σχέση : = 2,000,100 μεταφορές μπλοκ, = 5100 seeks με την S1 σαν εξωτερική σχέση = 1,000,400 μεταφορές μπλοκ και 10,400 seeks Αν η μικρότερη σχέση (R1) χωράει στη μνήμη, το κόστος υπολογίζεται σε 500 μεταφορές μπλοκ. Είναι προτιμότερη η εμφώλευση μπλοκ. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-33

34 Συνένωση με εμφώλευση μπλοκ Παραλλαγή των εμφωλευμένων βρόγχων όπου η συνένωση γίνεται μεταξύ μπλοκ. for each block B r of R do begin for each block B s of S do begin for each tuple t r in B r do begin for each tuple t s in B s do begin Check if (t r,t s ) satisfy the join condition if they do, add t r t s to the result. end end end end Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-34

35 Συνένωση με εμφώλευση μπλοκ (κόστος) Χειρότερη περίπτωση: b r b s + b r μεταφορές μπλοκ + 2 * b r seeks Κάθε μπλοκ στην εσωτερική σχέση S διαβάζεταιμια φορά για κάθε μπλοκ της εξωτερικής σχέσης Καλύτερη περίπτωση: b r + b s μεταφορές μπλοκ+ 2 seeks. Βελτιώσεις : Χρήση M 2 μπλοκ δίσκου για την εξωτερική σχέση, όπου M = μέγεθος της μνήμης σε μπλοκ.. Τα υπόλοιπα 2 μπλοκ για εισαγωγή της εσωτερικής σχέσης Κόστος = b r / (M-2) b s + b r μεταφορές μπλοκ + 2 b r / (M-2) seeks Αν το γνώρισμα συνένωσης ισότητας είναι κλειδί στην εσωτερική σχέση, σταματάμε την εσωτερική επανάληψη στο πρώτο ταίριασμα Σάρωση της εσωτερικής επανάληψης μπρος και πίσω εναλλακτικά, για να χρησιμοποιηθούν τα υπόλοιπα μπλοκ στο μπάφερ (με LRU αντικατάσταση) Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-35

36 Συνένωση απλού βρόγχου με ευρετήριο Οι σαρώσεις αντικαθίστανται με αναζητήσεις ευρετηρίου η συνένωση να είναι ισότητας ή φυσική συνένωση και υπάρχει ευρετήριο στο γνώρισμα συνένωσης της εσωτερικής σχέσης Μπορεί και να δημιουργηθεί ευρετήριο για υπολογισμό της συνένωσης. Για κάθε πλειάδα t r της εξωτερικής σχέσης R, χρησιμοποίησε το ευρετήριο για να βρεις τις πλειάδες της S που ικανοποιούν τη συνθήκη συνένωσης με την πλειάδα t r. Χειρότερη περίπτωση: υπάρχει χώρος μόνο για μια σελίδα της R, και, για κάθε πλειάδα της R, ψάχνουμε το ευρετήριο της S. Κόστος: b r (t T + t S ) + n r c Όπου c iείναι το κόστος σάρωσης του ευρετηρίου και μεταφοράς όλων των πλειάδων της S που ταιριάζουν σε μια πλειάδα της R cεκτιμαται σαν το κόστος μιας απλής επιλογής στην S με χρήση της συνθήκης συνένωσης. Αν υπάρχουν ευρετήρια στα γνωρίσματα συνένωσης και για τις δύο σχέσεις, χρησιμοποίησε σαν εξωτερική σχέση αυτήν με τις λιγότερες πλειάδες. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-36

37 Συνένωση απλού βρόγχου με ευρετήριο (κόστος) Υπολογισμός R1 S1, με την R1 σαν εξωτερική σχέση. Έστω ότι η S1 έχει ένα B + -δένδρο πρωτεύον ευρετήριο στο γνώρισμα συνένωσης που έχει 20 καταχωρήσεις σε κάθε κόμβο του ευρετηρίου. Αφού η S1 έχει 10,000 πλειάδες, το ύψος του δένδρου είναι 4, και χρειάζεται μια επιπλέον προσπέλαση για εύρεση των πραγματικών δεδομένων Η R1 έχει 5000 πλειάδες Κόστος συνένωσης με εμφωλευμένα μπλοκ 400* = 40,100 μεταφορές μπλοκ + 2 * 100 = 200 seeks με χειρότερη περίπτωση όσο αφορά την διαθέσιμη μνήμη Mμπορεί να βελτιωθεί σημαντικά με περισσότερη μνήμη Κόστος εμφωλευμένης συνένωσης με ευρετήριο * 5 = 25,100 μεταφορές μπλοκ και seeks. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-37

38 Αλγόριθμοι για τις πράξεις SELECT και JOIN (9) Υλοποίηση της πράξης JOIN (συν.): Μέθοδοι υλοποίησης των συνενώσεων : Σ3 Συνένωση Ταξινόμησης Συγχώνευσης: Αν οι εγγραφές των R και S είναι φυσικά ταξινομημένες (διατεταγμένες) στην τιμή των γνωρισμάτων συνένωσης A και B, αντίστοιχα,, μπορούμε να υλοποιήσουμε την συνένωση με το πιο αποτελεσματικό τρόπο. Σαρώνονται και τα δύο αρχεία με σειρά των γνωρισμάτων συνένωσης, επιλέγεται ο συνδυασμός των εγγραφών με τις ίδιες τιμέςγια τα A και B. Με την μέθοδο αυτή, οι εγγραφές κάθε αρχείου σαρώνονται μόνο μια φορά η κάθε μια για αντιστοιχία στο άλλο αρχείο εκτός αν τα A και B δεν είναι γνωρίσματα κλειδιά, οπότε η μέθοδος χρειάζεται μικρή τροποποίηση. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-38

39 Συνένωση με συγχώνευση (συν.) 1. Ταξινόμηση των δύο σχέσεων στο γνώρισμα συνένωσης (να δεν είναι ήδη ταξινομημένες σε αυτά). 2. Συγχώνευση των ταξινομημένων σχέσεων για δημιουργία της συνένωσης 1. Το βήμα της συνένωσης μοιάζει με τη φάση συγχώνευσης στον αλγόριθμου ταξινόμησης με συγχώνευση. 2. Η βασική διαφορά είναι η διαχείριση των διπλότυπων τιμών στο γνώρισμα συνένωσης κάθε ζεύγος με την ίδια τιμή στο γνώρισμα συνένωσης πρέπει να αντιστοιχηθεί Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-39

40 Συνένωση με συγχώνευση (συν.) Μπορεί να χρησιμοποιηθεί μόνο για συνενώσεις ισότητας και φυσικές Κάθε μπλοκ διαβάζεται μόνο μια φορά (υποθέτοντας ότι οι πλειάδες μιας τιμής γνωρίσματος συνένωσης χωράνε στη μνήμη) Επομένως το κόστος της συνένωσης με συγχώνευση είναι : b r + b s μεταφορές μλοκ + b r / b b + b s / b b seeks + το κόστος ταξινόμησης αν δεν είναι ταξινομημένες. Υβριδικός αλγόριθμος συνένωσης με συγχώνευση : αν μια σχέση είναι ταξινομημένη, και η άλλη έχει ένα B + -tree δευτερεύον ευρετήριο στο γνώρισμα συνένωσης Συγχώνευση της ταξινομημένης σχέσης με τις καταχωρήσεις στα φύλα του B + -δένδρου. Ταξινόμηση του αποτελέσματος στις διευθύνσεις των πλειάδων της μη ταξινομημένης σχέσης Σάρωση της μη ταξινομημένης σχέσης στις φυσικές διευθύνσεις και συγχώνευση με το προηγούμενο αποτέλεσμα για να αντικατασταθούν οι διευθύνσεις με πραγματικές πλειάδες Η σειριακή σάρωση είναι πιο αποτελεσματική Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-40

41 Αλγόριθμοι για τις πράξεις SELECT και JOIN (10) Υλοποίηση της πράξης JOIN (συν.): Μέθοδοι υλοποίησης των συνενώσεων: Σ4 Συνένωση Κατακερματισμού: Οι εγγραφές των αρχείων R και S απεικονίζονται και οι δύο στο ίδιο αρχείο κατακερματισμού, χρησιμοποιώντας τηνίδια συνάρτηση κατακερματισμούστα γνωρίσματα συνένωσης A της R και B της S σαν κλειδιά κατακερματισμού. Μια απλή σάρωση στο αρχείο με τις λιγότερες εγγραφές (έστω το, R) απεικονίζει τις εγγραφές του σε κάδους του αρχείου κατακερματισμού. Μια απλή σάρωση στο άλλο αρχείο (S) απεικονίζει κάθε μια από τις εγγραφές του στον κατάλληλο κάδο, όπου συνδυάζεται με όλες τις εγγραφές από το Rμε την ίδια τιμή πεδίου συνένωσης. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-41

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

43 Αλγόριθμος συνένωσης με κατακερματισμό (συν.) 1. Διαμέριση της σχέσης S με χρήση της συνάρτησης κατακερματισμού h. Όταν διαμερίζεται μια σχέση, κρατείται ένα μπλοκ μνήμης σαν το μπαφερ εξόδου για κάθε διαμέριση. 2. Παρόμοια διαμέριση της R. 3. Για κάθε i: (a) Φόρτωση της s i στη μνήμη και ανάπτυξη ενός ευρετηρίου κατακερματισμού στη μνήμη με χρήση του γνωρίσματος συνένωσης. Αυτό το ευρετήριο κατακερματισμού χρησιμοποιεί διαφορετική συνάρτηση κατακερματισμού από την προηγούμενη h. (b) Ανάγνωση των πλειάδων της r i από το δίσκο μια-μια. Για κάθε πλειάδα t r εντόπισε την κάθε αντίστοιχη πλειάδα t s στην s i χρησιμοποιώντας το ευρετήριο κατακερματισμού της μνήμης. Στην έξοδο η ένωση των γνωρισμάτων. Η σχέση S ονομάζεται build inputκαι η R probe input. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-43

44 Αλγόριθμος συνένωσης με κατακερματισμό (συν.) Η τιμή n και η συνάρτηση κατακερματισμού hέτσι που κάθε s i να μπορεί να χωρέσει στη μνήμη. Τυπική τιμή του n is chosen aεπιλέγεται το b s /M * f όπου f λέγεται fudge factor, με τιμή περίπου 1.2 Οι διαμερίσεις της probe σχέσης r i nδεν χρειάζεται να χωράνε στη μνήμη Απαιτείται αναδρομική διαμέριση reαν το πλήθος των διαμερίσεων n iείναι μεγαλύτερο από το πλήθος των σελίδων της μνήμης M. αντί για διαμέριση n ομάδων, χρήση M 1 διαμερίσεων για την S Περαιτέρω διαμέριση των M 1 διαμερίσεων με χρήση διαφορετικής συνάρτησης κατακερματισμού Χρήση της ίδιας μεθόδου κατακερματισμού για την R Σπάνια χρειάζεται: π.χ., μέγεθος μπλοκ 4KB, δεν χρειάζεται αναδρομική διαμέριση για σχέσεις < 1GB με μνήμη 2MB, ή σχέσεις < 36 GB με μνήμη 12 MB Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-44

45 Αλγόριθμος συνένωσης με κατακερματισμό (κόστος) Αν δεν χρειασθεί αναδρομική διαμέριση: κόστος 3(b r + b s ) +4 n h μεταφορές μπλοκ + 2( b r / b b + b s / b b ) seeks (b b τα διατιθέμενα μπλοκ μνήμης) Αν χρειασθεί αναδρομική διαμέριση: Πλήθος περασμάτων για διαμέριση της build σχέσης sείναι log M 1(b s) 1 (Μ-1 παράγοντας μείωσης της διαμέρισης) είναι καλύτερα να επιλεγεί η μικρότερη σχέση. Εκτίμηση ολικού χρόνου: 2(b r + b s ) log M 1 (b s ) 1 + b r + b s μεταφορές μπλοκ + 2( b r / b b + b s / b b ) log M 1 (b s ) 1 seeks Αν όλη η build σχέση χωράει στη μνήμη δεν απαιτείται δεν απαιτείται διαμέριση Κόστος b r + b s. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-45

46 Αλγόριθμος συνένωσης με κατακερματισμό (παράδειγμα) R1 S1 Έστω μνήμη μεγέθους 20 μπλοκ b R1 = 100 και b S1 = 400. Για ανάπτυξη της εισόδου χρησιμοποιούμε την R1. Την διαμερίζουμε σε 5 διαμερίσεις, κάθε μια 20 μπλοκ. Αυτό μπορεί να γίνει με ένα πέρασμα. Ομοίως, διαμερίζουμε την S1 σε 5 διαμερίσεις μεγέθους 80. Αυτό γίνεται σε ένα πέρασμα. Επομένως το συνολικό κόστος: 3( ) = 1500 μεταφορές μπλοκ + 2( 100/ /3 ) = 336 seeks Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-46

47 Αλγόριθμοι για τις πράξεις SELECT και JOIN (13) Υλοποίηση της πράξης JOIN (συν.): Παράγοντες που επηρεάζουν την απόδοση της συνένωσης Διαθέσιμη ενδιάμεση μνήμη Επιλεκτικότητα της συνένωσης Επιλογή εσωτερικής-εξωτερικής σχέσης Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-47

48 Αλγόριθμοι για τις πράξεις SELECT και JOIN (14) Υλοποίηση της πράξης JOIN (συν.): Άλλοι τύποι αλγόριθμων συνένωσης Συνένωση κατακερματισμού με διαμέριση Φάση διαμέρισης : Κάθε αρχείο (R και S) διαμερίζεται πρώτα σε M διαμερίσεις με χρήση μιας συνάρτησης κατακερματισμού στα γνωρίσματα συνένωσης : R1, R2, R3,... Rm και S1, S2, S3,... Sm Το ελάχιστο πλήθος σελίδες που απαιτούνται στη μνήμη για τη φάση της διαμέρισης: M+1. Δημιουργείται στο δίσκο ένα υποαρχείο ανά διαμέριση για αποθήκευση των πλειάδων αυτής της διαμέρισης. Φάση συνένωσης: Αποτελείται από M επαναλήψεις, μια για κάθε αρχείο διαμέρισης. Η επανάληψη i περιλαμβάνει την συνένωση των διαμερίσεων Ri και Si. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-48

49 Αλγόριθμοι για τις πράξεις SELECT και JOIN (15) Υλοποίηση της πράξης JOIN (συν.): Διαδικασία Συνένωσης κατακερματισμού με διαμέριση: Έστω ότι η Ri είναι μικρότερη από την Si. 1. Μεταφορά εγγραφών από την Ri σε σελίδες στη μνήμη. 2. Ανάγνωση όλων των μπλοκ από την Si, ένα τη φοράκαι κάθε εγγραφή από την Si χρησιμοποιείταιγια αναζήτηση εγγραφών που ταιριάζουν από την διαμέριση Si. 3. Γράφεται στο αρχείο του αποτελέσματος η εγγραφή από το Ri μετά την συνένωση με την εγγραφή από το Si. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-49

50 Αλγόριθμοι για τις πράξεις SELECT και JOIN (16) Υλοποίηση της πράξης JOIN (συν.): Ανάλυση κόστους της συνένωσης κατακερματισμού με διαμέριση: 1. Ανάγνωση και γράψιμο κάθε εγγραφής από τα R και S κατά την φάση της διαμέρισης: (b R + b S ), (b R + b S ) 2. Ανάγνωση κάθε εγγραφής κατά τη φάση της συνένωσης : (b R + b S ) 3. Γράψιμο του αποτελέσματος της συνένωσης: b RES Ολικό κόστος: 3* (b R + b S ) + b RES Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-50

51 Αλγόριθμοι για τις πράξεις SELECT και JOIN (17) Υλοποίηση της πράξης JOIN (συν.): Υβριδικός αλγόριθμος συνένωσης κατακερματισμού: Όπως και ο συνένωσης κατακερματισμού με διαμέριση: Η φάση συνένωσης μιας διαμέρισης γίνεται στη φάση της διαμέρισης. Φάση Διαμέρισης: Διάθεση των μπλοκ στη μικρότερη σχέση ένα μπλοκ για κάθε μια από τις M-1 διαμερίσεις, τα υπόλοιπα μπλοκ στη διαμέριση 1. Επανάληψη για την μεγαλύτερη σχέση S.) Φάση Συνένωσης: Απαιτούνται M-1 επαναλήψειςγια τις διαμερίσεις R2, R3, R4,...Rm και S2, S3, S4,...Sm. Οι R1 και S1 συνενούνται κατά την διαμέριση της S1, και τα αποτελέσματα της συνένωσης των R1 και S1 είναι ήδη γραμμένα στο δίσκο κατά το τέλος της φάσης διαμέρισης. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-51

52 Αλγόριθμοι Πράξεων Προβολής και Συνόλων (1) Αλγόριθμοι για την πράξη της προβολής: Αν η λίστα των γνωρισμάτων της προβολής περιλαμβάνει ένα κλειδί της σχέσης, το αποτέλεσμα περιλαμβάνει όλες τις πλειάδες της R περιορισμένες στα γνωρίσματα της λίστας Αν η λίστα γνωρισμάτων δεν περιλαμβάνει ένα κλειδί τότε μετά τον περιορισμό στα γνωρίσματα της λίστας θα χρειασθεί απαλοιφή των διπλότυπων Η απαλοιφή μπορεί να επιτευχθεί ή με ταξινόμηση ή με κατακερματισμό Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-52

53 Αλγόριθμοι Πράξεων Προβολής και Συνόλων (2) Αλγόριθμοι για πράξεις συνόλων Πράξεις συνόλων: ΕΝΩΣΗ, ΤΟΜΗ, ΔΙΑΦΟΡΑ και ΚΑΡΤΕΣΙΑΝΟ ΓΙΝΟΜΕΝΟ ΤοΚΑΡΤΕΣΙΑΝΟ ΓΙΝΟΜΕΝΟτων σχέσεων R και S περιλαμβάνει όλους τους πιθανούς συνδυασμούς εγγραφών από τις R και S. Τα γνωρίσματα του αποτελέσματος περιλαμβάνουν όλα τα γνωρίσματα των R και S. Ανάλυση Κόστους ενός Καρτεσιανού Γινομένου Αν η R έχει n εγγραφέςκαι j γνωρίσματα και η S έχει m εγγραφές και k γνωρίσματα, η σχέση του αποτελέσματος θα έχει n*m εγγραφές και j+k attributes. Η πράξη του Καρτεσιανού Γινομένου είναι πολύ ακριβή και αν είναι δυνατόν πρέπει να αποφεύγεται. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-53

54 Αλγόριθμοι Πράξεων Προβολής και Συνόλων (3) Αλγόριθμοι για πράξεις συνόλων (συν.) ΕΝΩΣΗ (Εικ. 15.3c) Ταξινόμηση των δύο σχέσεων στα ίδια γνώρισματα. Σάρωση και συγχώνευση των δύο ταξινομημένων αρχείων ταυτόχρονα, μόνο το ένα μένει στο συγχωνευμένο αποτέλεσμα. ΤΟΜΗ (Εικ. 15.3d) Ταξινόμηση των δύο σχέσεων στα ίδια γνώρισματα. Σάρωση και συγχώνευση των δύο ταξινομημένων αρχείων ταυτόχρονα, κρατάμε στο αποτέλεσμα της συγχώνευσης μόνο τις πλειάδες που εμφανίζονται και στις δύο σχέσεις. ΔΙΑΦΟΡΑ ΣΥΝΟΛΩΝ R-S (See Figure 15.3e) Στο αποτέλεσμα της συγχώνευσης παραμένουν μονο οι πλειάδες της σχέσης R που δεν είναι στη σχέση S. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-54

55 5. Υλοποίηση Συναθροιστικών Πράξεων και Εξωτερικών συνενώσεων (1) Υλοποίηση συναθροιστικών πράξεων: Συναθροιστικοί Τελεστές: MIN, MAX, SUM, COUNT and AVG Επιλογές Υλοποίησης: Σάρωση Πίνακα Ευρετήριο Παράδειγμα SELECT MAX (ΜΙΣΘΟΣ) FROM ΕΡΓΑΖΟΜΕΝΟΣ; Αν υπάρχειευρετήριο (σε αύξουσα σειρά) στο ΜΙΣΘΟΣγια τη σχέση ΕΡΓΑΖΟΜΕΝΟΣ, τότε θα μπορούσε βελτιστοποιητής να αποφασίσει την σάρωση για την μεγαλύτερη τιμή, που συνεπάγεται ότι θα ακολουθούσε τον πιο δεξιό δείκτη σε κάθε κόμβο του ευρετηρίου από τη ρίζα προς τα φύλλα. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-55

56 Υλοποίηση Συναθροιστικών Πράξεων και Εξωτερικών συνενώσεων (2) Υλοποίηση συναθροιστικών πράξεων (συν.): SUM, COUNT και AVG Για πυκνό ευρετήριο (κάθε εγγραφήέχει μια καταχώρηση ευρετηρίου): Εφαρμόζονται οι σχετικοί υπολογισμοί στις τιμές στο ευρετήριο. Για ένα μη πυκνό ευρετήριο: Πρέπει να προσμετρηθεί το πραγματικό πλήθος των εγγραφών που αντιστοιχούν σε κάθε καταχώρηση ευρετηρίου Με την GROUP BY: ο τελεστήςσυνάθροισης πρέπει να εφαρμοσθεί ξεχωριστά σε κάθε ομάδα πλειάδων. Χρησιμοποιείται ταξινόμηση ή κατακερματισμός στην ομάδα των γνωρισμάτων για να διαμερισθούν στις κατάλληλες ομάδες Υπολογίζεται η συναθροιστική συνάρτηση στις πλειάδες κάθε ομάδας. Τι συμβαίνει αν έχουμε Ευρετήριο συστάδα στα γνωρίσματα ομαδοποίησης? Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-56

57 Υλοποίηση Συναθροιστικών Πράξεων και Εξωτερικών συνενώσεων (3) Υλοποίηση εξωτερικής συνένωσης: Τελεστές εξωτερικής συνένωσης: LEFT OUTER JOIN RIGHT OUTER JOIN FULL OUTER JOIN. Η πλήρης εξωτερική συνένωση παράγει ένα αποτέλεσμα που είναι ισοδύναμο με την ένωση με την ένωση των αποτελεσμάτων αριστερής και δεξιάς εξωτερικής συνένωσης.. Παράδειγμα: SELECT ΟΝΟΜΑ, Τ_ΟΝΟΜΑ FROM (ΕΡΓΑΖΟΜΕΝΟΣ LEFT OUTER JOIN ΤΜΗΜΑ ONΑΡΙΘ_Τ=ΚΩΔ_ΤΜΗΜ); Σημείωση: Το αποτέλεσμα αυτής της ερώτησης είναι ένας πίνακας με ονόματα εργαζομένων και τα αντίστοιχα τμήματά τους. Μοιάζει με ένα κανονικό αποτέλεσμα συνένωσης, με τη διαφορά ότι αν ένας εργαζόμενος δεν έχει αντίστοιχο τμήμα, το όνομά του θα εμφανισθεί στον πίνακα του αποτελέσματος, αν και το όνομα του τμήματος θα είναι null. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-57

58 Υλοποίηση Συναθροιστικών Πράξεων και Εξωτερικών συνενώσεων (4) Υλοποίηση εξωτερικής συνένωσης (συν.): Τροποποίηση των Αλγορίθμων συνένωσης: Για την υλοποίηση της εξωτερικής συνένωσης μπορεί να τροποποιηθούν οι αλγόριθμοι συνένωσης εμφωλευμένων βρόγχων και ταξινόμησης-συγχώνευσης π.χ., Για αριστερή εξωτερική συνένωση, χρησιμοποιείται η αριστερή σχέση σαν εξωτερική σχέση και κατασκευάζεται το αποτέλεσμα από κάθε πλειάδα στην αριστερή σχέση. Αν υπάρχει αντιστοιχία, η συνενωμένη πλειάδα αποθηκεύεται στο αποτέλεσμα. Ωστόσο, αν μια εξωτερική πλειάδα δεν έχει αντίστοιχη, τότε πάλι περιλαμβάνεται στο αποτέλεσμα αλλά γεμίζει με null τιμή(ες). Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-58

59 Υλοποίηση Συναθροιστικών Πράξεων και Εξωτερικών συνενώσεων (5) Υλοποίηση εξωτερικής συνένωσης (συν.): Εκτέλεση ενός συνδυασμού από τελεστές της σχεσιακής άλγεβρας. Υλοποίηση του προηγούμενου παραδείγματος εξωτερικής συνένωσης {Υπολογίζεται η συνένωση των πινάκων ΕΡΓΑΖΟΜΕΝΟΣ και ΤΜΗΜΑ} TEMP1π ΟΝΟΜΑ,Τα_ΟΝΟΜΑ (ΕΡΓΑΖΟΜΕΝΟΣ ΑΡΙΘ_Τ=ΚΩΔ_ΤΜΗΜ ΤΜΗΜΑ) {Εύρεση των εργαζομένων που δεν εμφανίζονται στη συνένωση} } TEMP2 π ΟΝΟΜΑ (ΕΡΓΑΖΟΜΕΝΟΣ) - π ΟΝΟΜΑ (Temp1) {Συμπληρώνεται κάθε πλειάδα στην TEMP2 με μια null τιμή στο πεδίο Τα_ΟΝΟΜΑ} TEMP2 TEMP2 x 'null' {Ένωση των προσωρινών πινάκων για να παραχθεί η αριστερή εξωτερική συνένωση} RESULT TEMP1 υ TEMP2 Το κόστος υπολογισμού της εξωτερικής συνένωσης με τον παραπάνω τρόπο περιλαμβάνει το κόστος των αντίστοιχων βημάτων (δηλ., συνένωση, προβολές και ένωση). Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-59

60 6. Συνδυασμός πράξεων με χρήση σωλήνωσης (1) Κίνητρο Μια ερώτηση απεικονίζεται σε μια σειρά από πράξεις. Κάθε εκτέλεση μιας πράξης παράγει ένα προσωρινό αποτέλεσμα. Η δημιουργία και αποθήκευση προσωρινών αρχείων στο δίσκο είναι ακριβή και χρονοβόρα. Εναλλακτικά: Όσο είναι δυνατόν αποφεύγονται τα προσωρινά αποτελέσματα. Γίνεται σωλήνωση των δεδομένων σε πολλούς τελεστές το αποτέλεσμα ενός προηγούμενου τελεστή περνάει στον επόμενο χωρίς αναμονή για ολοκλήρωση του προηγούμενου τελεστή. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-60

61 Συνδυασμός πράξεων με χρήση σωλήνωσης (2) Παράδειγμα: Για συνένωση δύο σχέσεων, συνδυάζονται οι δύο επιλογές της εισόδου και η μια προβολή της εξόδου με την συνένωση. Δυναμική δημιουργία του κώδικα που να επιτρέπει σωληνωτή εκτέλεση πολλαπλών πράξεων. Τα αποτελέσματα πράξεων επιλογής προωθούνται "σωληνωτά" στον αλγόριθμο συνένωσης. Γνωστή και σαν επεξεργασία ροής. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-61

62 7. Χρήση ευριστικών μεθόδων για τη βελτιστοποίηση ερωτήσεων (1) Διαδικασία για ευριστική βελτιστοποίηση 1. Ο συντακτικός αναλυτής μιας γλώσσας υψηλού επιπέδου δημιουργεί μια αρχική εσωτερική αναπαράσταση 2. Εφαρμόζονται ευριστικοί κανόνες για βελτιστοποίηση της εσωτερικής αναπαράστασης. 3. Δημιουργείται ένα σχέδιο εκτέλεσης της ερώτησης με το οποίο εκτελούνται ομάδες πράξεων με βάση τους διαθέσιμους δρόμους προσπέλασης στα αρχεία της ερώτησης. Ο βασικός ευριστικός κανόνας είναι να εφαρμοσθούν πρώτα οι πράξεις που ελαττώνουν το μέγεθος των ενδιάμεσων αποτελεσμάτων. Π.χ., Εφαρμόζονται οι πράξεις της επιλογής και της προβολής πριν τις συνενώσεις ή τις άλλες δυαδικές πράξεις. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-62

63 Χρήση ευριστικών μεθόδων για τη βελτιστοποίηση ερωτήσεων (2) Δένδρο ερώτησης: Μια δενδρική δομή δεδομένων που αντιστοιχεί σε έκφραση της σχεσιακής άλγεβρας. Παριστάνει τις σχέσεις εισόδου της ερώτησης σανκόμβους φύλλα τουδένδρου, και τις πράξεις της σχεσιακής άλγεβρας σαν εσωτερικούς κόμβους. Μια εκτέλεση του δένδρου ερώτησης αποτελείται από την εκτέλεση μιας πράξης εσωτερικού κόμβου όταν είναι διαθέσιμες οι μεταβλητές του και στη συνέχεια αντικαθίσταται ο εσωτερικός κόμβος από το αποτέλεσμα εκτέλεσης της πράξης. Γράφος ερώτησης: Μια δομή δεδομένων γράφου που αντιστοιχεί σε μια έκφραση του σχεσιακού λογισμού. Δεν δείχνει μια σειρά με την οποία εκτελούνται οι πράξεις. Υπάρχει μόνο ένας γράφος που αντιστοιχεί σε κάθε ερώτηση. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-63

64 Χρήση ευριστικών μεθόδων για τη βελτιστοποίηση ερωτήσεων (3) Παράδειγμα: Για κάθε έργο στο Stafford, να ανακτηθεί ο κωδικός του έργου, ο κωδικός του τμήματος που το ελέγχει και το όνομα, η διεύθυνση και η ημερομηνία γέννησης του διευθυντή του τμήματος. Σχεσιακή άλγεβρα: π ΚΩΔ_ΕΡΓΟΥ, ΚΩΔ_ΤΜΗΜ, ΕΠΙΘΕΤΟ, ΔΙΕΥΘΥΝΣΗ, ΗΜ_ΓΕΝ (((σ ΤΟΠ_ΕΡΓΟΥ= STAFFORD (ΕΡΓΟ)) Κ_ΤΜΗΜΑ=ΚΩΔ_ΤΜΗΜ (ΤΜΗΜΑ)) MGRSSN=SSN (ΕΡΓΑΖΟΜΕΝΟΣ)) SQL ερώτηση: Ε2: SELECT P.ΚΩΔ_ΕΡΓΟΥ,P.Κ_ΤΜΗΜΑ,E.ΕΠΙΘΕΤΟ, E.ΔΙΕΥΘΥΝΣΗ, E.ΗΜ_ΓΕΝ FROM ΕΡΓΟ AS P,ΤΜΗΜΑ AS Τ, ΕΡΓΑΖΟΜΕΝΟΣ AS E WHERE P.Κ_ΤΜΗΜΑ=Τ.ΚΩΔ_ΤΜΗΜ AND Τ.ΔΙΕΥΘΥΝΤΗΣ=E.ΑΡ_ΤΑΥΤ AND P.ΤΟΠ_ΕΡΓΟΥ= STAFFORD ; Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-64

65 Χρήση ευριστικών μεθόδων για τη βελτιστοποίηση ερωτήσεων (4) Π Π.ΚΩΔ_ΕΡΓΟΥ, Π.Κ_ΤΜΗΜΑ, Ε.ΕΠΙΘΕΤΟ, Ε.ΔΙΕΥΘΥΝΣΗ, Ε.ΗΜ_ΓΕΝ Τ.ΔΙΕΥΘΥΝΤΗΣ=Ε.ΑΡ_ΤΑΥΤ P.Κ_ΤΜΗΜΑ=Τ.ΚΩΔ_ΤΜΗΜ E ΕΡΓΑΖΟΜΕΝΟΣ P.ΤΟΠ_ΕΡΓΟΥ= Stafford T ΤΜΗΜΑ EP ΕΡΓΟ Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-65

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

67 Χρήση ευριστικών μεθόδων για τη βελτιστοποίηση ερωτήσεων (6) Ευριστική βελτιστοποίηση δένδρων ερωτήσεων : Η ίδια ερώτηση θα μπορούσε να αντιστοιχεί σε πολλές διαφορετικές εκφράσεις της σχεσιακής άλγεβρας και επομένως σε πολλά διαφορετικά δένδρα ερωτήσεων. Ο στόχος της ευριστικής βελτιστοποίησης είναι η εύρεση ενός τελικού δένδρου ερώτησης που μπορεί να εκτελεσθεί αποτελεσματικά. Παράδειγμα: Ε: SELECT ΕΠΙΘΕΤΟ FROM WHERE ΕΡΓΑΖΟΜΕΝΟΣ, ΑΠΑΣΧΟΛΗΣΗ, ΕΡΓΟ Ε_ΟΝΟΜΑ = AQUARIUS AND ΚΩΔ_ΕΡΓΟΥ=Κ_ΕΡΓΟ AND Ε_ΑΡΤΑΥΤ=ΑΡ_ΤΑΥΤ AND ΗΜ_ΓΕΝ > ; Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-67

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

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

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

71 Χρήση ευριστικών μεθόδων για τη βελτιστοποίηση ερωτήσεων (9) Γενικοί κανόνες μετασχηματισμού για πράξεις της σχεσιακής άλγεβρας : 1. Διάδοση της σ: Μια συζευκτική συνθήκη επιλογής μπορεί να διασπασθεί σε μια ακολουθία πράξεων επιλογής (σ): σ c1 AND c2 AND... AND cn (R) = σ c1 (σ c2 (...(σ cn (R))...) ) 2. Αντιμεταθετικότητα της σ: Η πράξη σ είναι αντιμεταθετική: σ c1 (σ c2 (R)) = σ c2 (σ c1 (R)) 3. Διάδοση της π: Σε μια ακολουθία από πράξεις π, μπορούν να αγνοηθούν όλες εκτός από την τελευταία: π List1 (π List2 (...(π Listn (R))...) ) = π List1 (R) 4. Αντιμετάθεση της σμε την π: αν η συνθήκη επιλογής c περιλαμβάνει μόνο τα γνωρίσματα προβολής A1,..., An, οι δύο πράξεις μπορούν να αντιμετατεθούν: π A1, A2,..., An (σ c (R)) = σ c (π A1, A2,..., An (R)) Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-71

72 Χρήση ευριστικών μεθόδων για τη βελτιστοποίηση ερωτήσεων (10) Γενικοί κανόνες μετασχηματισμού για πράξεις της σχεσιακής άλγεβρας (συν.): 5. Αντιμεταθετικότητα της ( και της x ): The πράξη είναι αντιμεταθετική όπως η πράξη x: R C S = S C R; R x S = S x R 6. Αντιμεταθετικότητα της σ με την (ή την x ): Αν όλα τα γνωρίσματα στη συνθήκη επιλογής c περιλαμβάνουν μόνο γνωρίσματα από μια σχέση της συνένωσης έστω της, R οι δύο πράξεις μπορούν να αντιμετατεθούν ως ακολούθως : σ c ( R S ) = (σ c (R)) S Εναλλακτικά, αν η συνθήκη επιλογής c μπορεί να γραφεί σαν (c1 and c2), όπου η συνθήκη c1 περιλαμβάνει μόνο γνωρίσματα της R και η συνθήκη c2 περιλαμβάνει μόνο γνωρίσματα της S, οι πράξεις αντιμετατίθενται ως ακολούθως : σ c ( R S ) = (σ c1 (R)) (σ c2 (S)) Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-72

73 Χρήση ευριστικών μεθόδων για τη βελτιστοποίηση ερωτήσεων (11) Γενικοί κανόνες μετασχηματισμού για πράξεις της σχεσιακής άλγεβρας (συν.): 7. Αντιμεταθετικότητα της πμε την (ή την x): Υποθέστε ότι η λίστα προβολής είναι L = {A1,..., An, B1,..., Bm}, όπου τα A1,..., An είναι γνωρίσματα της R και B1,..., Bm είναι γνωρίσματα της S. Αν η συνθήκη συνένωσης c περιλαμβάνει μόνο γνωρίσματα στην L, οι δύο πράξεις μπορούν να αντιμετατεθούν ως ακολούθως: π L ( R C S ) = (π A1,..., An (R)) C (π B1,..., Bm (S)) Αν η συνθήκη συνένωσης c περιλαμβάνει επιπλέον γνωρίσματα που δεν ανήκουν στην L, αυτά πρέπει να προστεθούν στη λίστα προβολής, και χρειάζεται μια τελική ππράξη. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-73

74 Χρήση ευριστικών μεθόδων για τη βελτιστοποίηση ερωτήσεων (12) Γενικοί κανόνες μετασχηματισμού για πράξεις της σχεσιακής άλγεβρας (συν.): 8. Αντιμεταθετικότητα πράξεων συνόλων: Οι πράξεις των συνόλων και είναι αντιμεταθετικές αλλά η δεν είναι. 9. Προσεταιριστικότητα των, x,, και : Κάθε μια από τις πράξεις αυτές είναι προσεταιριστική, δηλαδή, αν θ παριστάνει οποιαδήποτε από αυτές τις τέσσερις πράξεις (την ίδια σε όλη την έκφραση), έχουμε ( R θ S ) θ T = R θ ( S θ T ) 10. Επιμερισμός της σ με πράξεις συνόλων: Η πράξη σ είναι επιμεριστική με τις,, και. Αν θοποιαδήποτε από αυτές τις τρεις πράξεις, έχουμε σ c ( R θ S ) = (σ c (R)) θ (σ c (S)) Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-74

75 Χρήση ευριστικών μεθόδων για τη βελτιστοποίηση ερωτήσεων (13) Γενικοί κανόνες μετασχηματισμού για πράξεις της σχεσιακής άλγεβρας (συν.): Η πράξη πείναι επιμεριστική ως προς την. π L ( R υ S ) = (π L (R)) υ (π L (S)) Μετατροπή μιας ακολουθίας (σ, x) σε : Αν η συνθήκη c μιας σ που ακολουθείται από μια x αντιστοιχεί σε μια συνθήκη συνένωσης, μετατρέπεται η ακολουθία (σ, x) σε μια ως ακολούθως: ((σ C (R x S)) = (R C S) Άλλοι μετασχηματισμοί Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-75

76 Κόστος Η διαφορά του κόστους μεταξύ διφόρων σχεδίων εκτέλεσης μπορεί να είναι τεράστια Π.χ. δευτερόλεπτα έναντι ημερών σε κάποιες περιπτώσεις Βήματα για την βελτιστοποίηση του κόστους 1. Δημιουργία ισοδύναμων εκφράσεων με χρήση κανόνων ισοδυναμίας 2. Επισημείωση των εκφράσεων που προκύπτουν για την δημιουργία εναλλακτικών σχεδίων 3. Επιλογή του φθηνότερου πλάνου με βάση το εκτιμούμενο κόστος Εκτίμηση του κόστους με βάση: Στατιστικές πληροφορίες για σχέσεις. Παραδείγματα: πλήθος πλειάδων, πλήθος διακριτών τιμών ενός γνωρίσματος Στατιστικές εκτιμήσεις για τα ενδιάμεσα αποτελέσματα Υπολογισμός του κόστους πολύπλοκων εκφράσεων Εκφράσεις υπολογισμού του κόστους αλγορίθμων που βασίζονται σε στατιστικές Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-76

77 Χρήση ευριστικών μεθόδων για τη βελτιστοποίηση ερωτήσεων (14) Περιγραφή ενός ευριστικού αλγεβρικού αλγόριθμου βελτιστοποίησης: 1. Χρησιμοποίηση του κανόνα 1, διάσπαση πράξεων επιλογής με συζευκτικές συνθήκες σε μια ακολουθία πράξεων επιλογής. 2. Χρησιμοποίηση των κανόνων 2, 4, 6, και 10 που αφορούν την αντιμεταθετικότητα της επιλογής με άλλες πράξεις, μετατόπιση κάθε πράξης επιλογής όσο γίνεται προς τα κάτω (και επιτρέπεται από τα γνωρίσματα της συνθήκης επιλογής) στο δένδρο ερώτησης. 3. Χρησιμοποίηση του κανόνα 9 που αφορά την προσεταιριστικότητα των δυαδικών πράξεων, διευθετούνται οι κόμβοι φύλλα του δένδρου ώστε να εκτελούνται πρώτα οι πράξεις στις σχέσεις στους κόμβους φύλλα του δένδρου ερωτήσεων με τις πιο περιοριστικές επιλογές. 4. Χρήση του κανόνα 12, συνδυασμός μιας πράξης Καρτεσιανού γινομένου με την πράξη επιλογής που ακολουθεί στο δένδρο με μια πράξη συνένωσης. 5. Χρησιμοποίηση των κανόνων 3, 4, 7, και 11 που αφορούν διάδοση της προβολής με άλλες πράξεις, διάσπαση και μετατόπιση της λίστας γνωρισμάτων προβολής όσο είναι δυνατόν προς τα κάτω στο δένδρο με την δημιουργία νέων πράξεων προβολής όπου είναι απαραίτητο. 6. Εντοπισμός υποδένδρων που παριστάνουν ομάδες πράξεων που μπορούν να εκτελεσθούν από ένα μόνο αλγόριθμο. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-77

78 Χρήση ευριστικών μεθόδων για τη βελτιστοποίηση ερωτήσεων (15) Σύνοψη των ευριστικών μεθόδων για Αλγεβρική Βελτιστοποίηση : 1. Η βασική ευριστική προσέγγιση είναι να εκτελεσθούν πρώτα οι πράξεις που ελαττώνουν το μέγεθος των ενδιάμεσων αποτελεσμάτων. 2. Εκτέλεση των πράξεων επιλογής όσο πιο νωρίς είναι δυνατόν για να μειωθεί το πλήθος των πλειάδων και εκτέλεση των πράξεων προβολής όσο δυνατόν πιο νωρίς για να μειωθεί το πλήθος των γνωρισμάτων. (Αυτό επιτυγχάνεται με μετατόπιση όσο γίνεται προς τα κάτω στο δένδρο ερωτήσεων των πράξεων επιλογής και προβολής.) 3. Οι πράξεις επιλογής και συνένωσης που είναι πιο περιοριστικές θα πρέπει να εκτελούνται πριν από άλλες παρόμοιες πράξεις. (Αυτό επιτυγχάνεται με αναδιάταξη των κόμβων φύλλων του δένδρου και κατάλληλη αναπροσαρμογή του υπόλοιπου δένδρου.) Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-78

79 Χρήση ευριστικών μεθόδων για τη βελτιστοποίηση ερωτήσεων (16) Σχέδια εκτέλεσης ερωτήσεων Ένα σχέδιο εκτέλεσης για μια ερώτηση της σχεσιακής άλγεβρας αποτελείται από ένα συνδυασμό του δένδρου ερώτησης και από πληροφορίες για τις μεθόδους προσπέλασης που θα χρησιμοποιηθούν για κάθε σχέση καθώς και τις μεθόδους που θα χρησιμοποιηθούν για τον υπολογισμό των σχεσιακών τελεστών που είναι αποθηκευμένοι στο δένδρο. Υλοποιημένη αποτίμηση: το αποτέλεσμα μιας πράξης αποθηκεύεται σε μια προσωρινή σχέση. Σωληνωτή αποτίμηση: καθώς δημιουργείται το αποτέλεσμα ενός τελεστή, προωθείται στον επόμενο τελεστή στη ακολουθία. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-79

80 Να ανακτηθούν τα επίθετα αυτών που έχουν απασχοληθεί σε έργο με όνομα gadgets και έχουν γεννηθεί από την 1/1/58 και μετά. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-80

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1 Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1 Κεφάλαιο 20 Φυσικός Σχεδιασμός Βάσεων Δεδομένων και Ρύθμιση Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική

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

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

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

Κεφάλαιο 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 Θα μιλήσουμε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL

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

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

Περιεχόμενα. Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL. Συνένωση Σχέσεων στην SQL2 (3) Συνένωση Σχέσεων στην SQL2. (Join Relations Feature in SQL)

Περιεχόμενα. Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL. Συνένωση Σχέσεων στην SQL2 (3) Συνένωση Σχέσεων στην SQL2. (Join Relations Feature in SQL) Περιεχόμενα Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL Παύλος Εφραιμίδης Προχωρημένα Ερωτήματα SQL Συνένωση Συναθροιστικές Συναρτήσεις Ομαδοποίηση Βάσεις Δεδομένων SQL - Μέρος Τρίτο 1 Βάσεις Δεδομένων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχεσιακή Άλγεβρα. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1

Σχεσιακή Άλγεβρα. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1 Σχεσιακή Άλγεβρα Παύλος Εφραιμίδης Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1 Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Στο μάθημα θα πούμε για Σχεσιακή Άλγεβρα Βάσεις Δεδομένων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις δεδομένων. (6 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (6 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (6 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr (Συνέχεια) ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ 3/4/2014 2 Περιεχόμενα Συνέχεια στη Σχεσιακή άλγεβρα Συνένωση Θήτα Ισότητας Φυσική Διαίρεση Σύνθετες λειτουργίες

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχεσιακή Άλγεβρα. Συνολοθεωρητικές Πράξεις. Εκφράσεις. Ειδικές Πράξεις. Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων. Σχεσιακός Λογισμός

Σχεσιακή Άλγεβρα. Συνολοθεωρητικές Πράξεις. Εκφράσεις. Ειδικές Πράξεις. Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων. Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα Παύλος Εφραιμίδης Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός ΣτομάθημαθαπούμεγιαΣχεσιακή Άλγεβρα Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1 Βάσεις Δεδομένων

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

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

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

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

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

Κατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 09: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) Ι Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Σχεσιακή Πληρότητα Σχεσιακή Άλγεβρα

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

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

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

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

Κεφάλαιο 8. SQL-99: Ορισμός Σχήματος, Περιορισμοί, και Επερωτήσεις και Όψεις

Κεφάλαιο 8. SQL-99: Ορισμός Σχήματος, Περιορισμοί, και Επερωτήσεις και Όψεις Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-1 Κεφάλαιο 8 SQL-99: Ορισμός Σχήματος, Περιορισμοί, και Επερωτήσεις και Όψεις Copyright 2007 Ramez Elmasri and

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

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

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

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

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

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

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

Βάσεις δεδομένων. (5 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (5 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (5 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Συνέχεια στη Σχεσιακή άλγεβρα Μετονομασία Καρτεσιανό γινόμενο Συνένωση Θήτα Ισότητας Φυσική 26/3/2015 Βάσεις Δεδομένων 2 (Συνέχεια)

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

#5. Σχεσιακό Μοντέλο

#5. Σχεσιακό Μοντέλο 22Γ901 Βάσεις Δεδομένων και Γνώσεων 9ο Εξάμηνο Κύκλου Σπουδών ΗΥ και Μεταπτυχιακός Κύκλος Σπουδών Διδάσκων: Ν. Αβούρης Β μέρος Διαφανειών μαθήματος (2005-2006) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων

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

Βάσεις Δεδομένων. Εργαστήριο ΙV. Τμήμα Πληροφορικής ΑΠΘ 2014-2015

Βάσεις Δεδομένων. Εργαστήριο ΙV. Τμήμα Πληροφορικής ΑΠΘ 2014-2015 Βάσεις Δεδομένων Εργαστήριο ΙV Τμήμα Πληροφορικής ΑΠΘ 2014-2015 2 Σκοπός του 4 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: η μελέτη ερωτημάτων σύνδεσης η μελέτη ερωτημάτων συνάθροισης 3 Εκφράσεις

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

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

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

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

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

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

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

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

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

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

Βάσεις δεδομένων. (4 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (4 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (4 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Επέκταση του μοντέλου ΟΣ Κληρονομικότητα Εξειδίκευση/Γενίκευση Περιορισμοί Ιεραρχίες και πλέγματα Συνάθροιση Συνέχεια στο σχεσιακό

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

Περιεχόμενα. Περιεχόμενα

Περιεχόμενα. Περιεχόμενα Περιεχόμενα xv Περιεχόμενα 1 Αρχές της Java... 1 1.1 Προκαταρκτικά: Κλάσεις, Τύποι και Αντικείμενα... 2 1.1.1 Βασικοί Τύποι... 5 1.1.2 Αντικείμενα... 7 1.1.3 Τύποι Enum... 14 1.2 Μέθοδοι... 15 1.3 Εκφράσεις...

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

Βάσεις δεδομένων. (7 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (7 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (7 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα SQL Βασικές πράξεις Πράξεις συνόλων Συνενώσεις Συναθροιστικές συναρτήσεις Ομαδοποιήσεις 10/4/2014 Βάσεις Δεδομένων 2 Η γλώσσα

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

Υποερωτήματα στην SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr 1 / 31 Η ανάγκη για υποερώτημα Ποιος υπάλληλος παίρνει το μεγαλύτερο μισθό; Αν ξέραμε το μεγαλύτερο μισθό, πχ 2000, θα γράφαμε:

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

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

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

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

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

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

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

Κεφάλαιο 6. Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Κεφάλαιο 6. Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Κεφάλαιο 6 Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Γιατί θα μιλήσουμε Σχεσιακή Άλγεβρα Μοναδιαίοι Σχεσιακοί Τελεστές Συνολοθεωρητικές πράξεις της σχεσιακής

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

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

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

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

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

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

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

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

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

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

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

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

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

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

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

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

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

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

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

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

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

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

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασμός μιας Β : Βήματα Ανάλυση Απαιτήσεων Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

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

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

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση. Εισαγωγή Σχεσιακό Μοντέλο Ανάλυση Απαιτήσεων Σχεδιασμός μιας Β : Βήματα Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

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

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

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

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

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

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

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

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

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

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

Σχεσιακό Μοντέλο Δεδομένων

Σχεσιακό Μοντέλο Δεδομένων Σχεσιακό Μοντέλο Δεδομένων Παύλος Εφραιμίδης Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 1 Μοντέλα Δεδομένων Μοντέλα Δεδομένων Σχεσιακό Ιεραρχικό Δικτυακό Tο κυρίαρχο μοντέλο δεδομένων στις σύγχρονες βάσεις

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

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

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

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

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασμός μιας Β : Βήματα Ανάλυση Απαιτήσεων Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

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

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

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

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

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

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

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