Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
Βάσεις Δεδομένων ΙΙ 1η διάλεξη
2
1 εργασία (ΔΕΝ είναι υποχρεωτική)
Διαμόρφωση Μαθήματος 1 εργασία (ΔΕΝ είναι υποχρεωτική) 50% του βαθμού για όσους τις πραγματοποιήσουν Τελική γραπτή εξέταση Τρίτη 14:00 – 16:00 | Γραφείο Καθηγητών eClass Βάσεις Δεδομένων ΙΙ ( ) pass: dbv002 Σύγγραμα Συστήματα Διαχείρισης Βάσεων Δεδομένων, 3η Έκδοση, Ramakrishnan Raghu, Gehrke Joahannes
3
Ας θυμηθούμε τις βάσεις δεδομένων
1 Εισαγωγή Ας θυμηθούμε τις βάσεις δεδομένων
4
Ρόλος των συστημάτων ΒΔ Αρχιτεκτονική πολλών επιπέδων
Ανασκόπηση Ρόλος των συστημάτων ΒΔ Αρχιτεκτονική πολλών επιπέδων Μοντελοποίηση δεδομένων με το μοντέλο Οντοτήτων-Συσχετίσεων (ER) Σχεσιακό μοντέλο Σχεσιακή άλγεβρα Συναρτησιακές Εξαρτήσεις
5
Ανεξαρτησία Δεδομένων Λογική Ανεξαρτησία Φυσική Ανεξαρτησία
Αρχιτεκτονική ΒΔ View 1 … View n Abstraction Levels Ανεξαρτησία Δεδομένων Λογική Ανεξαρτησία Φυσική Ανεξαρτησία Conceptual Schema Physical Layer
6
ER
7
Σχήμα
8
Σχέσεις Κλειδιά Περιορισμοί κλειδιών Ξένα κλειδιά
9
Συσχέτιση γινομένου (Χ) Διαφορά (-) Ένωση (U)
Σχεσιακή Άλγεβρα Επιλογή (σ) Προβολή (π) Συσχέτιση γινομένου (Χ) Διαφορά (-) Ένωση (U)
10
Πεδίο ορισμού (domain)
Σχεσιακός Λογισμός Πλειάδες (tuple) Πεδίο ορισμού (domain)
11
Γλώσσα ερωτημάτων σε σχεσιακές βάσεις δεδομένων
SQL Γλώσσα ερωτημάτων σε σχεσιακές βάσεις δεδομένων
12
Συναρτησιακές Εξαρτήσεις
Μία συναρτησιακή εξάρτηση Χ -> Υ ισχύει για τη σχέση R αν υπάρχει ένα στιγμιότυπο της R, έστω r για το οποίο ισχύουν: 𝑡 1 ∈𝑟, 𝑡 2 ∈𝑟, 𝜋 𝑋 ( 𝑡 1 )= 𝜋 𝑋 ( 𝑡 2 ) συνεπάγεται 𝜋 Υ ( 𝑡 1 )= 𝜋 Υ ( 𝑡 2 )
13
Περιορισμοί σε σύνολο οντοτήτων
ID Όνομα Βαθμίδα Ωριαίες αποδοχές Περιορισμοί σε σύνολο οντοτήτων Ώρες εργασίας Ωρομίσθιος Ουσιαστικά για το πρωτεύον κλειδί ισχύει: 𝐼 →𝐼𝑂𝐵𝑊𝐻 𝐵→𝑊 Το τελευταίο δε μπορεί να εκφραστεί μέσω ER και δημιουργεί προβλήματα εισαγωγής/επεξεργασίας/διαγραφής Επίλυση;
14
Απαγορεύονται πλειότιμα χαρακτηριστικά
1NF Απαγορεύονται πλειότιμα χαρακτηριστικά
15
Όλα τα μη υποψήφια κλειδιά έχουν άμεση εξάρτηση με το κλειδί
2NF Όλα τα μη υποψήφια κλειδιά έχουν άμεση εξάρτηση με το κλειδί
16
Κανονική μορφή Boyce-Codd
BCNF Για κάθε σχεσιακό σχήμα R, με X υποσύνολο του R και A ένα γνώρισμα. Τότε είναι σε Boyce-Codd μορφή όταν για κάθε X-> Α ισχύουν: A∈𝑋 (κοινότυπη συναρτησιακή εξάρτηση) Χ: εμπλουτισμένο κλειδί
17
BCNF Με άλλα λόγια ένα σχήμα R είναι σε μορφή BCNF αν και μόνο αν όλες οι μη-τυπικές εξαρτήσεις έχουν στο αριστερό τους μέρος κλειδί
18
A∈𝑋 (κοινότυπη συναρτησιακή εξάρτηση) Χ: εμπλουτισμένο κλειδί
3NF Για κάθε σχεσιακό σχήμα R, με X υποσύνολο του R και A ένα γνώρισμα. Τότε είναι σε 3NF μορφή όταν για κάθε X-> Α ισχύουν: A∈𝑋 (κοινότυπη συναρτησιακή εξάρτηση) Χ: εμπλουτισμένο κλειδί A: τμήμα ενός σύνθετου κλειδιού του R
19
Κανονικοποίηση Κάθε φορά που έχουμε ένα σχήμα που δεν είναι BCNF έχουμε τη δυνατότητα να το διασπάσουμε για να προκύψει συλλογή BCNF
20
Αλγόριθμος διάσπασης σε BCNF
Έστω πίνακας R (όχι BCNF) και 𝑋⊂𝑅 και Α ένα απλό γνώρισμα. Αν το X->A παραβιάζει το BCNF διασπάμε σε R-A και XA Όταν συμβεί να μην είναι BCNF είτε το R-A είτε το ΧΑ διασπάται παραπάνω και άρα μπορεί να εφαρμοστεί το πρώτο βήμα.
21
Ανάλυση των απαιτήσεων ER διάγραμμα Σχήμα ΒΔ Τελειοποίηση σχήματος
Κατασκευή σχήματος Ανάλυση των απαιτήσεων ER διάγραμμα Σχήμα ΒΔ Τελειοποίηση σχήματος Όψεις …ευρετήρια, κλειδιά, ρυθμίσεις κατακερματισμού και κατανεμημένων συστημάτων, σχεδιασμός φυσικής βάσης δεδομένων
22
Κατευθύνεται στη φύση των δεδομένων και το σκοπό τους Φόρτος εργασίας
Σχεδιασμός φυσικής ΒΔ Κατευθύνεται στη φύση των δεδομένων και το σκοπό τους Φόρτος εργασίας Απαιτήσεις εκτέλεσης αιτημάτων Αριθμός συναλλαγών / δευτερόλεπτο Στόχοι επίδοσης συστήματος
23
Λίστα από αιτήματα και συχνότητα αυτών (κλάσμα αιτήσεων/ενημερώσεων)
Φόρτος εργασίας Λίστα από αιτήματα και συχνότητα αυτών (κλάσμα αιτήσεων/ενημερώσεων) Λίστα από όλες τις ενημερώσεις και των συχνοτήτων Στόχους αποδοτικότητας για κάθε είδος αιτήματος και ενημέρωσης
24
Για κάθε ερώτημα να προσδιοριστούν
Φόρτος εργασίας Για κάθε ερώτημα να προσδιοριστούν Οι σχέσεις (πίνακες) που θα προσπελαστούν Τα γνωρίσματα που θα συμπεριλαμβάνονται (on SELECT) Ποια γνωρίσματα περιλαμβάνουν συνθήκη επιλογής ή σύζευξης και πόσο επιλεκτικές είναι οι συνθήκες
25
Αποφάσεις Ευρετήρια (Indexes) Ποια σχέσεις πρέπει να γίνουν ευρετήρια και ποιο/α πεδία θα πρέπει να επιλεγούν σαν κλειδί/ά του ευρετηρίου Αν το ευρετήριο πρέπει να είναι συγκροτημένο ή μη και θα είναι πυκνό ή αραιό
26
Αλλαγές στο ιδεατό σχήμα
Αποφάσεις Αλλαγές στο ιδεατό σχήμα Μήπως πρέπει να επιλεγούν δευτερεύοντα/εναλλακτικά κανονικοποιημένα σχήματα Μήπως πρέπει να εξετάσουμε περιπτώσεις αποκανονικοποίησης Μήπως πρέπει να γίνει μεγαλύτερος διαχωρισμός στις σχέσεις Μήπως πρέπει να προσθέσουμε όψεις
27
Αποφάσεις Μήπως θα πρέπει να γίνει μεταβολή των συχνά χρησιμοποιούμενων αιτημάτων και ενημερώσεων ώστε αυτά να μπορούν να εκτελεστούν σε καλύτερο χρόνο
28
FROM Employees E, Departments D
Παραδείγματα! SELECT E.name, D.dname FROM Employees E, Departments D WHERE E.sal >= AND E.sal <= AND E.hobby = ‘music’ AND E.dno=D.dno
29
Συμβιβασμοί Να μην είναι BCNF Ανάμεσα σε διαφορετικούς τρόπους διάσπασης ενός σχήματος να επιλεγεί αυτός με το μικρότερο φόρτο Μεγαλύτερη διάσπαση Αποκανονικοποίηση Οριζόντια διάσπαση Δημιουργία όψεων
30
Διάσπαση CSJDPQV CJP, SDP, CSJDQV Βρείτε πόσα τεμάχια (Q) από το κομμάτι P έχουν παραγγελθεί για το συμβόλαιο C Διαδικασία;
31
Λήψη «ακραίων μέτρων»…
Αποκανονικοποίηση Λήψη «ακραίων μέτρων»… Να επιτρέψουμε τον πλεονασμό των δεδομένων εφόσον η πληθώρα των δεδομένων δεν είναι μεγάλη και η αποσυμφόρηση λόγω καλύτερης εκτέλεσης αιτημάτων το επιτρέπει.
32
Διασπάσεις Κατακόρυφη διάσπαση Οριζόντια διάσπαση
33
Συναλλαγές Μία συναλλαγή είναι ο αφαιρετικός τρόπος που βλέπουμε να εκτελείται το πρόγραμμα ενός χρήστη: μία σειρά από αναγνώσεις (read) και εγγραφές (write)
34
Κάθε συναλλαγή πρέπει να διατηρεί τη συνέπεια της ΒΔ
Ιδιότητες συναλλαγών Όλες οι συναλλαγές εκτελούνται ατομικά, είτε εκτελούνται όλες, είτε καμία Κάθε συναλλαγή πρέπει να διατηρεί τη συνέπεια της ΒΔ Οι συναλλαγές κάθε χρήστη αφορούν μόνο αυτόν και δεν επηρεάζονται από ταυτόχρονες συναλλαγές άλλων χρηστών (απομόνωση) Εφόσον το σύστημα ενημερώσει το χρήστη ότι οι συναλλαγές ολοκληρώθηκαν τότε θα πρέπει να αποθηκεύονται μόνιμα!
35
Είναι μια αλληλουχία εκτέλεσης ενεργειών
Χρονοπρόγραμμα Είναι μια αλληλουχία εκτέλεσης ενεργειών Το χρονοπρόγραμμα περιγράφει τις εντολές των συναλλαγών όπως τις βλέπεις το DBMS.
36
Παράδειγμα αλληλουχίας εντολών (χρονοπρόγραμμα)
Τ1 Τ2 R(A) W(A) R(B) W(B) R(C) W(C)
37
Πλήρες χρονοπρόγραμμα: αυτό το οποίο τελειώνει με commit ή abort
Χρονοπρόγραμμα Πλήρες χρονοπρόγραμμα: αυτό το οποίο τελειώνει με commit ή abort Σειριακό χρονοπρόγραμμα: αυτό που κάθε συναλλαγή εκτελείται εξ ολοκλήρου πριν εκτελεστεί μία άλλη
38
Μας ενδιαφέρει για να γίνεται βελτίωση της απόδοσης
Ταυτόχρονη εκτέλεση Μας ενδιαφέρει για να γίνεται βελτίωση της απόδοσης Σειριοποιήσιμο χρονοπρόγραμμα: Αυτό το οποίο έχει το ίδιο αποτέλεσμα αν εκτελούνταν σειριακά!
39
Προβλήματα εναλλασσόμενης εκτέλεσης
Δύο ενέργειες συγκρούονται όταν έστω μία από αυτές είναι ενέργεια εγγραφής (write). Ανάμεσα σε δύο συναλλαγές έχουμε τις πιθανές συγκρούσες: Write-read (WR) Read-write (RW) Write-write (WW)
40
Επαναφέρσιμο χρονοπρόγραμμα
Είναι αυτό στο οποίο οι συναλλαγές ολοκληρώνονται μόνο όταν ολοκληρώνονται και οι συναλλαγές των οποίων τις αλλαγές διαβάζουν
41
Πρωτόκολλο κλειδώματος
Σύνολο κανόνων που πρέπει να ακολουθεί κάθε συναλλαγή ώστε ακόμα κι αν οι ενέργειες πολλών συναλλαγών εκτελούνται με εναλλασσόμενο τρόπο να διασφαλίζεται ότι το τελικό αποτέλεσμα είναι ταυτόσημο με αυτό της εκτέλεσης των συναλλαγών με κάποια συγκεκριμένη σειρά
42
Β+ Δέντρα // Δυναμική δομή
Είδη ευρετηρίων ISAM // στατικά! Β+ Δέντρα // Δυναμική δομή
43
Για ποιο λόγο χρειαζόμαστε ευρετήρια; Student(id, name, age)
Γιατί; Για ποιο λόγο χρειαζόμαστε ευρετήρια; Student(id, name, age) Ερώτημα: βρες μου όλους τους φοιτητές που έχουν ηλικία πάνω από 20 ετών Διαδικασία: τοποθέτηση σε σειρά, αναζήτηση για να βρούμε τον πρώτο που έχει 20, σάρωση του πίνακα από εκεί έως το τέλος Λύση: φτιάξε ένα αρχείο με δείκτες!
44
Ευρετηριοποιημένη σειριακή μέθοδος πρόσβασης (ISAM)
45
Β+ δέντρο Ισοζυγισμένο δέντρο με εσωτερικούς κόμβους που οδηγούν σε φύλλα που περιέχουν τις καταχωρήσεις δεδομένων Επειδή μεγαλώνει και μικραίνει κατά βούληση χρειάζεται να περιλαμβάνει δομή συνδεδεμένης λίστας στα φύλλα
46
Β+ δέντρο χαρακτηριστικά
Οι πράξεις εισαγωγής/διαγραφής διατηρούν το δέντρο ισοζυγισμένο Το ύψος του δέντρου είναι και το κόστος αναζήτησης (ισοζυγισμένο)
47
Όπου d μια παράμετρος που ονομάζεται τάξη του δέντρου.
Β+ δέντρο ανάλυση Θα δούμε δέντρα που κάθε κόμβος έχει m καταχωρήσεις για τις οποίες ισχύει: 𝑑≤𝑚≤2𝑑 Όπου d μια παράμετρος που ονομάζεται τάξη του δέντρου. Αυτό δεν ισχύει για τη ρίζα του δέντρου.
48
Κόμβοι με m καταχωρήσεις περιλαμβάνουν m+1 δείκτες σε κόμβους παιδιά.
Β+ δέντρο ανάλυση Κόμβοι με m καταχωρήσεις περιλαμβάνουν m+1 δείκτες σε κόμβους παιδιά. Ο δείκτης Pi δείχνει σε ένα υποδέντρο για όλες τις τιμές K για τις οποίες ισχύει: 𝐾 𝑖 ≤𝐾< 𝐾 𝑖+1 Φυσικά το P0 και το Pm δείχνουν αντίστοιχα στις καταχωρήσεις που είναι μικρότερες του K1 και μεγαλύτερες του Km
49
Εναλλακτικά ευρετήρια
Ευρετήρια κατακερματισμού Στατικός κατακερματισμός Επεκτατός κατακερματισμός
50
Στατικός Κατακερματισμός
51
Επεκτατός κατακερματισμός
Ξεκινάμε με τον Στατικό Κατακερματισμό και έχουμε να αντιμετωπίσουμε την κατάσταση που μια πρωτεύουσα σελίδα (κάδος) είναι γεμάτη. Στον στατικό κατακερματισμό δημιουργούμε σελίδα υπερχείλισης Η ιδέα του επεκτατού κατακερματισμού προτείνει να διπλασιάσουμε τους κάδους της πρωτεύουσας σελίδας
52
Ευρετήριο 2 2 4 12 16 32 00 2 01 1 5 21 10 2 10 11 2 Κατάλογος 15 7 19
53
Έλεγχος πρόσβασης Τρόπος ελέγχου των δεδομένων (και των ενεργειών) στα οποία έχει πρόσβαση ένας χρήστης
54
Αντικειμενικοί στόχοι
Μυστικότητα Ακεραιότητα Διαθεσιμότητα
55
Μυστικότητα Οι πληροφορίες δεν πρέπει να αποκαλύπτονται σε μη εξουσιοδοτημένους χρήστες
56
Μόνο εξουσιοδοτημένοι χρήστες μπορούν να τροποποιούν δεδομένα
Ακεραιότητα Μόνο εξουσιοδοτημένοι χρήστες μπορούν να τροποποιούν δεδομένα
57
Διαθεσιμότητα Δε θα πρέπει να απαγορεύεται η πρόσβαση στους εξουσιοδοτημένους χρήστες
58
Βάση δεδομένων
59
Ερωτήματα!
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.