Σχεσιακό Μοντέλο Τα πρώτα συστήµατα Βάσεων δεδοµένων ήταν βασισµένα στο ιεραρχικό ή στο δικτυακό µοντέλο δεδοµένων. Το σχεσιακό µοντέλο πρωτοπαρουσιάσ

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

Download "Σχεσιακό Μοντέλο Τα πρώτα συστήµατα Βάσεων δεδοµένων ήταν βασισµένα στο ιεραρχικό ή στο δικτυακό µοντέλο δεδοµένων. Το σχεσιακό µοντέλο πρωτοπαρουσιάσ"

Transcript

1 ΤΕΙ ΑΘΗΝΩΝ ΣΧΟΛΗ Σ Ο ΤΜΗΜΑ ΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ Η/Υ ΙΙΙ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ (Θεωρία) ΜΑΘΗΜΑ 3ο Σχεσιακό µοντέλο, Σχεσιακές βάσεις δεδοµένων, Σχεσιακό σχήµα βάσης δεδοµένων (Relational database schema), Κανονικοποίηση Αθανασίου Ειρήνη, MSc 1

2 Σχεσιακό Μοντέλο Τα πρώτα συστήµατα Βάσεων δεδοµένων ήταν βασισµένα στο ιεραρχικό ή στο δικτυακό µοντέλο δεδοµένων. Το σχεσιακό µοντέλο πρωτοπαρουσιάσθηκε από τον Ted Codd της IBM Research το 1970 και τα πρώτα συστήµατα που βασίστηκαν σε αυτό ήταν τα INGRES και System/R. Το σχεσιακό µοντέλο είναι τώρα το κυρίαρχο µοντέλο σε όλες σχεδόν τις υλοποιήσεις βάσεων δεδοµένων. Σε αυτό το µοντέλο, τα δεδοµένα µιας εφαρµογής αναπαρίστανται ως ένα σύνολο από σχέσεις (relations) οι οποίες µπορεί να είναι πίνακες ή αρχεία. Στις πιο πολλές περιπτώσεις υιοθετείται η χρήση πινάκων (tables) που περιέχουν ένα πλήθος γραµµών (rows) και στηλών (columns). Η κάθε µια από αυτές τις γραµµές οι οποίες στην ορολογία του µοντέλου ονοµάζονται και πλειάδες (tuples) περιέχει ένα σύνολο απλών πεδίων (attributes) τα οποία συσχετίζονται µεταξύ τους. 2

3 Θεµελιώδεις ορισµοί του σχεσιακού µοντέλου Ο πίνακας σε µία σχεσιακή Βάση εδοµένων αποτελείται από µία ή περισσότερες στήλες που αντιστοιχούν σε τιµές πεδίων, και από γραµµές που αντιστοιχούν σε τιµές για αυτά τα πεδία. Κάθε πεδίο ή στήλη ενός πίνακα, δέχεται τιµές οι οποίες ανήκουν σε ένα συγκεκριµένο και καθορισµένο εκ των προτέρων σύνολο τιµών (domain). Το είδος των τιµών αυτού του συνόλου καθορίζεται από τον τύπο δεδοµένων του πεδίου του πίνακα, ο οποίος µε τη σειρά του ορίζεται κατά το στάδιο της λογικής σχεδίασης της εφαρµογής. Ο αριθµός των στηλών ενός πίνακα σε µία σχεσιακή Βάση εδοµένων ονοµάζεται arity και ο αριθµός των γραµµών του cardinality. Έτσι, ένας πίνακας που περιγράφει µία οντότητα µε 3 κατηγορήµατα θα έχει arity 3. Αντίστοιχα, ένας πίνακας µε cardinality 500 σηµαίνει ότι έχουν εισαχθεί σε αυτόν 500 εγγραφές. 3

4 Παράδειγµα πίνακα στο σχεσιακό µοντέλο αναπαράστασης δεδοµένων Στον παρακάτω πίνακα η κάθε πλειάδα ή εγγραφή (record) αναφέρεται και σε ένα ξεχωριστό στιγµιότυπο του τύπου οντότητας STUDENT. Η κάθε µια από αυτές τις εγγραφές αποτελείται από ένα σύνολο χαρακτηριστικών ή πεδίων τα οποία λαµβάνουν συγκεκριµένες τιµές, διαφορετικές εν γένει για κάθε εγγραφή. Έτσι, ο πίνακας STUDENT περιέχει τα πεδία Name, SSN, Home Phone, Address, Office Phone, Age και GPA. Επειδή οι τιµές της κάθε στήλης αναφέρονται ουσιαστικά στο ίδιο πεδίο του πίνακα, είναι προφανές πως θα πρέπει να ανήκουν στον ίδιο τύπο δεδοµένων. 4

5 Βασικές συνιστώσες σχεσιακού µοντέλου Το σχεσιακό µοντέλο δεδοµένων έχει τρεις βασικές συνιστώσες: (1) δοµές, (2) δοµικούς περιορισµούς και (3) πράξεις. 1. οµές (structures): είναι οι σχέσεις (πίνακες) που αναπαριστούν τα αντικείµενα του µικρόκοσµου, π.χ. το σύνολο των υπαλλήλων ή των τµηµάτων 2. Περιορισµοί (constraints) πάνω στις δοµές: Π.χ. «κανένας υπάλληλος δεν παίρνει µισθό µεγαλύτερο του προϊστάµενου του» κοκ. 3. Πράξεις (operations) πάνω στις δοµές: αν π.χ. αναφερόµαστε σε σύνολα (σχέσεις), η τοµή, η ένωση, η διαφορά δύο συνόλων είναι πράξεις. 5

6 Πράξεις σχεσιακών βάσεων δεδοµένων Οι βασικές πράξεις που µπορούν να γίνουν σε µία σχεσιακή Βάση εδοµένων είναι οι ίδιες µε αυτές που γίνονται σε κάθε Βάση εδοµένων, δηλαδή Επιλογή, Εισαγωγή, Ενηµέρωση και ιαγραφή. Επιλογή σηµαίνει αναζήτηση µιας συγκεκριµένης εγγραφής και η ανεύρεσή της µέσα στον πίνακα (δηλαδή ο εντοπισµός της γραµµής του πίνακα στην οποία βρίσκεται η ζητούµενη εγγραφή). Εισαγωγή σηµαίνει η προσθήκη µίας νέας εγγραφής στον πίνακα. Η προσθήκη µπορεί να γίνει στο τέλος του πίνακα ή σε συγκεκριµένη θέση του πίνακα (στην περίπτωση που έχουµε διατάξει τον πίνακα). Ενηµέρωση είναι η µεταβολή κάποιων τιµών για µερικά πεδία µίας εγγραφής (δηλαδή η αλλαγή των δεδοµένων για µερικές στήλες σε µία γραµµή). Τέλος, ιαγραφή είναι το σβήσιµο µίας γραµµής από τον πίνακα. Στην επόµενη ενότητα θα δούµε πώς επηρεάζεται η ακεραιότητα µίας Βάσης εδοµένων από κάποιες πράξεις που γίνονται σε αυτή και θα µελετήσουµε την ακεραιότητα της Βάσης εδοµένων. 6

7 Ακεραιότητα δεδοµένων Οι κανόνες ακεραιότητας (integrity constraints) ενός σχεσιακού σχήµατος µιας βάσης δεδοµένων διασφαλίζουν τη συνέπεια των δεδοµένων της βάσης και ισχύουν για κάθε στιγµιότυπό της. Ο πρώτος από αυτούς τους κανόνες (key constraint) επιβάλλει την απόδοση µοναδικών τιµών σε όλα τα πεδία του πίνακα που έχουν χαρακτηριστεί ως υποψήφια κλειδιά (candidate keys). Με άλλα λόγια δεν θα πρέπει να υπάρχουν στον ίδιο πίνακα, δύο εγγραφές που να έχουν την ίδια τιµή στα υποψήφια κλειδιά τους και προφανώς στο πρωτεύον κλειδί τους που είναι κάποιο από αυτά. Ο δεύτερος κανόνας (entity integrity constraint) απαγορεύει την απόδοση της τιµής NULL, στο πρωτεύον κλειδί της κάθε εγγραφής του πίνακα. Αυτό γίνεται επειδή ως γνωστόν το πρωτεύον κλειδί µας επιτρέπει να ξεχωρίσουµε τις εγγραφές του πίνακα, και εποµένως εάν δύο εγγραφές έχουν τιµή NULL στο πρωτεύον κλειδί τους, δεν είναι δυνατή η διάκριση ανάµεσά τους. Τέλος, ο τρίτος κανόνας (referential integrity constraint) αναφέρεται στις συσχετίσεις που υφίστανται ανάµεσα στους πίνακες της βάσης. Ο κανόνας αυτός λέει ότι εάν η τιµή κάποιου πεδίου µιας από τις εγγραφές ενός πίνακα αναφέρεται σε εγγραφή κάποιου άλλου πίνακα, αυτή θα πρέπει να είναι µια υπάρχουσα εγγραφή. Ας πάρουµε για παράδειγµα την πρώτη εγγραφή του πίνακα EMPLOYEE. Αυτή η εγγραφή, στο πεδίο DNO έχει την τιµή 5, κάτι που σηµαίνει πως ο συγκεκριµένος υπάλληλος, εργάζεται στο τµήµα της εταιρείας µε κωδικό αριθµό 5. Στην περίπτωση αυτή ο τρίτος κανόνας ακεραιότητας επιβάλλει την ύπαρξη στον πίνακα DEPARTMENT µιας εγγραφής το πρωτεύον κλειδί της οποίας να έχει την τιµή 5. Εάν δεν υπάρχει αυτή η εγγραφή, τότε η εγγραφή στον πίνακα EMPLOYEE αναφέρεται σε κάποιο ανύπαρκτο τµήµα, µε αποτέλεσµα τελικά να οδηγούµαστε σε µια βάση µε ασυνεπή δεδοµένα (inconsistent data). 7

8 Παράδειγµα ακεραιότητας δεδοµένων 8

9 Μετατροπή ιαγράµµατος E-R στο σχεσιακό µοντέλο Από τη µια πλευρά, το Μοντέλο E-R διακρίνει τύπους οντοτήτων και τύπους συσχετίσεων (µε τα γνωρίσµατα τους) ενώ, από την άλλη, το Σχεσιακό Μοντέλο υποστηρίζει µια δοµή µόνο, τις σχέσεις (που έχουν και αυτές γνωρίσµατα). Άρα η διαδικασία µετατροπής ενός διαγράµµατος E- R σε Σχεσιακό Σχήµα αφορά στην µετατροπή των τύπων οντοτήτων και συσχετίσεων (και των γνωρισµάτων τους). Υπάρχει ο γενικός κανόνας ότι για κάθε τύπο οντοτήτων και για κάθε τύπο συσχετίσεων δηµιουργούµε µια σχέση που παίρνει το όνοµα του αντίστοιχου τύπου. Πέρα από αυτόν τον γενικό κανόνα, θα εξειδικεύσουµε παρακάτω τις περιπτώσεις για τους τύπους οντοτήτων, τους τύπους συσχετίσεων και τα γνωρίσµατα. 9

10 Μετατροπή Τύπων Οντοτήτων ιακρίνουµε τους ισχυρούς από τους αδύναµους τύπους οντοτήτων: Για κάθε ισχυρό τύπο οντοτήτων δηµιουργούµε µια σχέση R µε τα ίδια γνωρίσµατα - ένα για κάθε απλό γνώρισµα της οντότητας Αν η οντότητα έχει σύνθετα γνωρίσµατα, στη σχέση R έχουµε ένα γνώρισµα για κάθε απλό γνώρισµα που απαρτίζει το σύνθετο. Για κάθε αδύναµο τύπο οντοτήτων Α που εξαρτάται από τον ισχυρό τύπο οντοτήτων Β δηµιουργούµε µια σχέση R µε γνωρίσµατα: (α) τα γνωρίσµατα του Α, και (β) τα γνωρίσµατα του πρωτεύοντος κλειδιού του Β. 10

11 Μετατροπή Τύπων Συσχετίσεων ιακρίνουµε τρεις περιπτώσεις µε βάση τον λόγο πληθικότητας: Μ:Ν συσχετίσεις, 1:1 δυαδικές συσχετίσεις, 1:Ν (και Ν:1) δυαδικές συσχετίσεις. Για κάθε Μ:Ν συσχέτιση R µεταξύ τύπων οντοτήτων που αντιστοιχούν στις σχέσεις S1, S2,, Sn δηµιουργούµε µια νέα σχέση R µε γνωρίσµατα: (α) τα γνωρίσµατα της R, αν υπάρχουν, και (β) τα γνωρίσµατα του πρωτεύοντος κλειδιού κάθε συµµετέχουσας σχέσης Si, τα οποία συµµετέχουν ως ξένα κλειδιά στη σχέση R. Για κάθε 1-1 δυαδική συσχέτιση R µεταξύ δύο τύπων οντοτήτων που αντιστοιχούν στις σχέσεις Τ και S, δεν δηµιουργούµε νέα σχέση R αλλά επιλέγουµε µια εκ των Τ και S, έστω την Τ. Στα ήδη υπάρχοντα γνωρίσµατα της Τ προσθέτουµε: (α) τα γνωρίσµατα της R, αν υπάρχουν, και (β) το πρωτεύον κλειδί της S, το οποίο συµµετέχει ως ξένο κλειδί στη σχέση Τ. Για την επιλογή µεταξύ Τ και S, κριτήριο είναι η ολική συµµετοχή του ενός ή του άλλου τύπου οντοτήτων στη συσχέτιση: η σχέση που αντιστοιχεί στον τύπο οντοτήτων που συµµετέχει ολικά στη συσχέτιση, είναι αυτή (η σχέση Τ, παραπάνω) που επιλέγεται να «φιλοξενήσει» ως ξένο κλειδί το πρωτεύον κλειδί της άλλης (της S). Για κάθε 1-Ν δυαδική συσχέτιση R µεταξύ δύο τύπων οντοτήτων που αντιστοιχούν στις σχέσεις Τ και S, έστω S από την πλευρά 1 και Τ από την πλευρά Ν, δεν δηµιουργούµε νέα σχέση R αλλά στα ήδη υπάρχοντα γνωρίσµατα της Τ προσθέτουµε: (α) τα γνωρίσµατα της R, αν υπάρχουν, και (β) το πρωτεύον κλειδί της S, το οποίο συµµετέχει ως ξένο κλειδί στη σχέση Τ. 11

12 Γνωρίσµατα ιακρίνουµε µεταξύ απλών, σύνθετων και πλειότιµων γνωρισµάτων (τύπων οντοτήτων ή τύπων συσχετίσεων, δεν έχει σηµασία). Ένα απλό γνώρισµα Α γίνεται γνώρισµα της αντίστοιχης σχέσης. Ένα σύνθετο γνώρισµα Α = {Α1, Α2,, Αn} µετατρέπεται σε µια οµάδα γνωρισµάτων Α1, Α2,, Αn της αντίστοιχης σχέσης, ένα για κάθε απλό γνώρισµα που απαρτίζει το σύνθετο. Για κάθε πλειότιµο γνώρισµα Α, κατασκευάζουµε µια σχέση R µε γνωρίσµατα: το Α (ή τα γνωρίσµατα του Α, αν το Α είναι σύνθετο) και τα γνωρίσµατα (ως ξένο κλειδί) του πρωτεύοντος κλειδιού της σχέσης που παριστάνει τον τύπο οντοτήτων η συσχετίσεων του οποίου γνώρισµα είναι το Α. 12

13 Παράδειγµα Μετατροπής E-R σε Σχεσιακό Σχήµα (1/4) Ένα παράδειγµα Βάσης δεδοµένων για µία εταιρία µπορεί να είναι: Κάθε εργαζόµενος εργάζεται ακριβώς για ένα τµήµα και µπορεί να εργάζεται σε διάφορα έργα. Ένας εργαζόµενος µπορεί να διευθύνει το πολύ ένα τµήµα. Ένα τµήµα σχετίζεται µε έναν µόνο εργαζόµενο ο οποίος διευθύνει το τµήµα και σ' έναν αριθµό υπαλλήλων οι οποίοι δουλεύουν για το τµήµα. Ένα τµήµα µπορεί να σχετίζεται µε έναν αριθµό έργων που ελέγχει. Ένα έργο ελέγχεται από ακριβώς ένα τµήµα και έχει αρκετούς υπάλληλους που δουλεύουν για το έργο. Κάθε τµήµα σχετίζεται µε έναν εργαζόµενο. 13

14 Παράδειγµα Μετατροπής E-R σε Σχεσιακό Σχήµα (2/4) Η µετατροπή του παραπάνω διαγράµµατος E-R δηµιουργεί το παρακάτω σχεσιακό σχήµα: 14

15 Παράδειγµα Μετατροπής E-R σε Σχεσιακό Σχήµα (3/4) 15

16 Παράδειγµα Μετατροπής E-R σε Σχεσιακό Σχήµα (4/4) 16

17 Θεωρία Κανονικοποίησης Ένα από τα βασικά ερωτήµατα που προκύπτουν κατά την πραγµατοποίηση της διαδικασίας σχεδίασης του σχεσιακού µοντέλου, έχει να κάνει µε την επιλογή των πεδίων που θα οµαδοποιηθούν και θα σχηµατίσουν ένα πίνακα. Με ποιο κριτήριο θα γίνει αυτή η επιλογή? Πως είµαστε σίγουροι πως η οµαδοποίηση των πεδίων στους πίνακες έγινε µε τον καλύτερο δυνατό τρόπο? Με άλλα λόγια, µήπως υπάρχει κάποιος καλύτερος συνδυασµός των πεδίων, ο οποίος θα µπορούσε να οδηγήσει σε µια πιο ευέλικτη και αξιόπιστη βάση δεδοµένων? Η διαδικασία της σωστής σχεδίασης της δοµής των πινάκων της βάσης, έτσι ώστε να ικανοποιεί τις προδιαγραφές που έχουν τεθεί και ταυτόχρονα να είναι ευέλικτη και αποδοτική στη χρήση της ονοµάζεται λογικός ή εννοιολογικός σχεδιασµός (conceptual or logical design). Η διαδικασία που αξιολογεί την ευστάθεια, βιωσιµότητα και τις προοπτικές που έχουν οι σχέσεις, ώστε να απαλλαγούν από κάποιες ανωµαλίες στην ενηµέρωση πλειάδων, καλείται Κανονικοποίηση και αποτελεί τη σηµαντικότερη διαδικασία του εννοιολογικού σχεδιασµού. 17

18 Οι βασικές αρχές σχεδίασης της δοµής του Σχεσιακού Μοντέλου Οι πίνακες της δοµής της βάσης δεδοµένων θα πρέπει να είναι µε τέτοιο τρόπο οργανωµένοι, ώστε µια απλή ανάγνωση του σχεσιακού σχήµατος να είναι αρκετή για να καταλάβουµε το είδος της πληροφορίας που θα καταχωρούµε σε κάθε περίπτωση. Αυτό τυπικά σηµαίνει να δηµιουργούµε ένα ξεχωριστό πίνακα για κάθε τύπο οντότητας και για κάθε τύπο συσχέτισης (αυτό ισχύει για συσχετίσεις µε πολλαπλότητα M:N) και σε καµία περίπτωση να µη συνδυάζουµε πεδία διαφορετικών τύπων οντότητας, στον ίδιο πίνακα. Ένας δεύτερος κανόνας που θα πρέπει να ακολουθήσουµε κατά το στάδιο της σχεδίασης του σχεσιακού σχήµατος µιας βάσης δεδοµένων, είναι η οργάνωση της δοµής των πινάκων µε τέτοιο τρόπο ώστε να µην εµφανίζονται στις εγγραφές των πινάκων της βάσης, επαναλαµβανόµενα πεδία. 18

19 Συναρτησιακές Εξαρτήσεις (1/6) Η έννοια της συναρτησιακής εξάρτησης (functional dependency) κατέχει κεντρική θέση στη θεωρία των σχεσιακών βάσεων δεδοµένων, και ορίζεται ως µια συσχέτιση ανάµεσα στα πεδία ενός πίνακα. Πιο συγκεκριµένα, ένα πεδίο B κάποιου πίνακα θεωρείται συναρτησιακώς εξαρτώµενο από ένα πεδίο Α του ίδιου πίνακα, όταν σε κάθε χρονική στιγµή, η τιµή του Α καθορίζει µονοσήµαντα την τιµή του Β. Σε µια ισοδύναµη διατύπωση, µπορούµε να περιγράψουµε την παραπάνω συσχέτιση ανάµεσα στα πεδία Α και Β λέγοντας πως το πεδίο Α προσδιορίζει συναρτησιακά το πεδίο Β. Για αυτή τη συναρτησιακή εξάρτηση, χρησιµοποιούµε το συµβολισµό Α Β, ενώ ισοδύναµα µπορούµε να γράψουµε και Β = Β(Α). Είναι προφανές πως τα πεδία Α και Β µπορεί να είναι τόσο απλά (atomic) όσο και σύνθετα (composite) πεδία. Για παράδειγµα, στον πίνακα WORKS_ON, ο συνδυασµός των πεδίων {ESSN, PNO} που αποτελεί και το πρωτεύον κλειδί του πίνακα καθορίζει µονοσήµαντα την τιµή του πεδίου HOURS. Στην περίπτωση αυτή µπορούµε να γράψουµε {ESSN, PNO} HOURS. 19

20 Συναρτησιακές Εξαρτήσεις (2/6) Σε ένα οποιοδήποτε πίνακα µιας σχεσιακής βάσης δεδοµένων, όλα τα πεδία του πίνακα που δεν ανήκουν στο πρωτεύον κλειδί του, εξαρτώνται συναρτησιακά από τα πεδία του πρωτεύοντος κλειδιού. Ένα παράδειγµα συναρτησιακής εξάρτησης είναι η SSN LNAME ανάµεσα στα πεδία SSN και LNAME του πίνακα EMPLOYEE. Γνωρίζοντας τον κωδικό αριθµό ενός υπαλλήλου, προσδιορίζουµε µονοσήµαντα το επώνυµό του. Αντίθετα, η συσχέτιση LNAME SSN δεν είναι έγκυρη, διότι είναι πιθανόν να υπάρχουν υπάλληλοι µε το ίδιο επώνυµο, και οι οποίοι ασφαλώς, θα χαρακτηρίζονται από διαφορετικό κωδικό SSN. Μιλώντας γενικά, η ισχύς της συσχέτισης Α Β δεν προϋποθέτει και την ισχύ της συσχέτισης Β Α. 20

21 Συναρτησιακές Εξαρτήσεις (3/6) Η συναρτησιακή εξάρτηση µιας οµάδας πεδίων από κάποια άλλη, µπορεί να είναι τόσο ολική (full dependency) όσο και µερική (partial dependency). ύο οµάδες πεδίων Χ και Υ λέµε ότι χαρακτηρίζονται από ολική εξάρτηση, όταν η αφαίρεση έστω και ενός από τα πεδία του Χ, καταργεί την εξάρτηση X Y. Στην αντίθετη περίπτωση, όταν δηλαδή η εν λόγω εξάρτηση διατηρείται ακόµη και µετά την αφαίρεση του πεδίου από το σύνολο πεδίων Χ, τότε οι δύο οµάδες πεδίων χαρακτηρίζονται από µερική εξάρτηση. Ας σηµειωθεί πως σε όλες σχεδόν τις περιπτώσεις η οµάδα πεδίων Υ, περιλαµβάνει συνήθως µόνο ένα πεδίο. Ας θεωρήσουµε για παράδειγµα τον πίνακα EMP_PROJ του εσφαλµένου σχεσιακού σχήµατος και τη συναρτησιακή εξάρτηση {SSN, PNUMBER} HOURS. Αυτή η εξάρτηση είναι έγκυρη, διότι η γνώση του κωδικού SSN του υπαλλήλου και του κωδικού του έργου στο οποίο απασχολείται, ταυτοποιεί µονοσήµαντα το πλήθος των ωρών που εργάζεται ο υπάλληλος σε αυτό το έργο. Εάν τώρα αφαιρέσουµε το πεδίο SSN, η εξάρτηση PNUMBER HOURS, δεν υφίσταται πλέον, διότι η γνώση του κωδικού του υπαλλήλου δεν αρκεί για να ταυτοποιήσουµε το πλήθος των ωρών που απασχολείται σε κάποιο έργο απαιτείται και η γνώση του κωδικού αυτού του έργου. Με τον ίδιο τρόπο δεν υφίσταται ούτε η εξάρτηση SSN HOURS που αποµένει εάν αφαιρέσουµε το πεδίο PNUMBER. Εφ όσον λοιπόν η εξάρτηση {SSN, PNUMBER} HOURS καταργείται εάν αφαιρέσουµε έστω και ένα πεδίο από αυτή, τα πεδία HOURS και {SSN, PNUMBER}, είναι ολικώς εξαρτηµένα (fully dependent). Αντίθετα, αν θεωρήσουµε την εξάρτηση {SSN, PNUMBER} ΕΝΑΜΕ αυτή δεν καταργείται εάν αφαιρέσουµε το πεδίο PNUMBER. Πράγµατι, η συναρτησιακή εξάρτηση SSN ENAME που αποµένει µετά την αφαίρεση του εν λόγω πεδίου, είναι έγκυρη, διότι η τιµή του κωδικού SSN για ένα υπάλληλο, καθορίζει µονοσήµαντα το όνοµά του. Στην περίπτωση αυτή λέµε πως τα πεδία {SSN, PNUMBER} και ENAME είναι µερικώς εξαρτηµένα (partially dependent). 21

22 Συναρτησιακές Εξαρτήσεις (4/6) ύο πεδία Α και Β χαρακτηρίζονται από έµµεση συναρτησιακή εξάρτηση όταν υπάρχει ένα τρίτο πεδίο C τέτοιο ώστε Α C και C Β ή ισοδύναµα όταν ισχύουν οι συσχετίσεις C = C(A) και B = B(C). Εάν επιπλέον το πεδίο C δεν ανήκει στα πεδία κλειδιά του πίνακα, τότε η εν λόγω εξάρτηση λέγεται µεταβατική εξάρτηση (transitive dependency). 22

23 Συναρτησιακές Εξαρτήσεις (5/6) Μια συναρτησιακή εξάρτηση µπορεί να είναι µόνιµη ή προσωρινή, ανάλογα µε το χρονικό διάστηµα για το οποίο ισχύει. Για παράδειγµα η συσχέτιση SSN LNAME του πίνακα EMPLOYEE είναι µόνιµη διότι ο κωδικός SSN ενός υπαλλήλου δεν πρόκειται να αλλάξει ποτέ. Αντίθετα, η συσχέτιση DNUMBER MGRSSN του πίνακα DEPARTMENT είναι προσωρινή, διότι είναι πιθανόν σε κάποια χρονική στιγµή να λάβει χώρα αντικατάσταση του MANAGER κάποιου τµήµατος µε κάποιο άλλο υπάλληλο της εταιρείας. 23

24 Συναρτησιακές Εξαρτήσεις (6/6) Ένα τελευταίο είδος εξάρτησης που θα µας απασχολήσει στο σηµείο αυτό είναι η συναρτησιακή εξάρτηση δύο πεδίων A και B εκ των οποίων το ένα πεδίο είναι πεδίο πολλαπλής τιµής (multivalued dependency). Στην περίπτωση αυτή η γνώση του Α δεν καθορίζει µονοσήµαντα την τιµή του Β, αλλά ένα σύνολο τιµών για το Β που είναι γνωστό και καθορισµένο εκ των προτέρων. Μια τέτοια εξάρτηση θα είχαµε για παράδειγµα εάν στον πίνακα EMP_DEP προσθέταµε ως πεδίο και την τοποθεσία του τµήµατος DLOCATION. Επειδή ένα τµήµα µπορεί να έχει γραφεία σε περισσότερες από µια τοποθεσίες, η γνώση του κωδικού DNUMBER για ένα τµήµα δεν προσδιορίζει µονοσήµαντα την τοποθεσία του τµήµατος, αλλά συσχετίζεται µε ένα µια ολόκληρη οµάδα τιµών. 24

25 Προβλήµατα τροποποιήσεων Μόλις το µοντέλο οντοτήτων-συσχετίσεων µετατραπεί σε σχέσεις µπορεί να ανακαλύψουµε ότι µερικές σχέσεις δεν καθορίζονται σωστά. Έτσι µπορεί να εµφανιστούν κάποια προβλήµατα όπως: Ανωµαλίες που εµφανίζονται κατά τη διαδικασία της εισαγωγής νέων εγγραφών (insertion anomalies) Ανωµαλίες που εµφανίζονται κατά τη διαδικασία της διαγραφής υπαρχόντων εγγραφών (deletion anomalies) Ανωµαλίες που εµφανίζονται κατά τη διαδικασία της τροποποίησης των περιεχοµένων των εγγραφών του πίνακα (modification anomalies) Το σοβαρότερο πρόβληµα που ανακύπτει από τη λανθασµένη σχεδίαση του σχεσιακού σχήµατος µιας βάσης δεδοµένων, είναι οι ανωµαλίες που προκύπτουν κατά τις διάφορες διαδικασίες τροποποίησης του περιεχοµένου της βάσης (update anomalies). 25

26 Κανονικοποίηση Η διαδικασία της κανονικοποίησης (normalization process) προτάθηκε από τον Codd το 1970, και η βασική της λειτουργία, είναι να δέχεται ως είσοδο το σχεσιακό σχήµα µιας βάσης δεδοµένων και να εφαρµόζει πάνω του µια σειρά από ελέγχους προκειµένου να διαπιστώσει εάν ανήκει ή όχι σε κάποια κανονική µορφή. Ο Codd εισήγαγε τρεις κανονικές µορφές, την πρώτη, δεύτερη και τρίτη κανονική µορφή οι οποίες συσχετίζονται µε τις συναρτησιακές εξαρτήσεις που υφίστανται ανάµεσα στα πεδία των πινάκων της βάσης, ενώ αργότερα προτάθηκαν άλλες δύο κανονικές µορφές η τέταρτη και η πέµπτη οι οποίες στηρίζονται σε άλλου είδους εξαρτήσεις (multivalued dependencies και join dependencies). Σε µία πρώτη περιγραφή, η κανονικοποίηση εφαρµόζεται πάνω σε ένα σχεσιακό σχήµα, και προσπαθεί να το µετασχηµατίσει σε µια νέα µορφή, η οποία να είναι απαλλαγµένη από τις διάφορες ανωµαλίες εισαγωγής, διαγραφής και τροποποίησης εγγραφών που προαναφέραµε. Πιο συγκεκριµένα, αυτή η µεθοδολογία αναλύει τη δοµή των πινάκων του σχεσιακού σχήµατος µε βάση τα πρωτεύοντα κλειδιά τους και τις συναρτησιακές εξαρτήσεις που υφίστανται ανάµεσα στα πεδία τους, και στη συνέχεια ελέγχει αυτές τις δοµές προκειµένου να διαπιστώσει εάν ικανοποιούν κάποιες συνθήκες. Εάν οι εν λόγω συνθήκες δεν ικανοποιούνται, λαµβάνει χώρα διάσπαση των πινάκων της βάσης σε µικρότερους πίνακες, κάθε ένας εκ των οποίων, ικανοποιεί πλέον αυτές τις συνθήκες. Μια κανονική µορφή ορίζεται ως η «κατάσταση» στην οποία βρίσκεται µια σχέση όσον αφορά τους τύπους των εξαρτήσεων που υφίστανται ανάµεσα στα πεδία της. Επειδή γενικά αυτές οι εξαρτήσεις οδηγούν σε προβληµατική συµπεριφορά του σχήµατος της βάσης όπως είναι για παράδειγµα η εµφάνιση επαναλαµβανόµενων πεδίων θα πρέπει να αποµακρυνθούν από τους πίνακες. Για το λόγο αυτό η κανονικοποίηση πραγµατοποιείται σε µια ακολουθία βηµάτων, µε το κάθε βήµα να περιλαµβάνει την αποµάκρυνση από τη δοµή των πινάκων κάποιου τύπου συναρτησιακής εξάρτησης, διαδικασία, η οποία έχει ως αποτέλεσµα, τη µετάβαση του σχεσιακού σχήµατος, από µια κανονική µορφή σε µια άλλη. 26

27 Κανονικοποίηση - κανονικές µορφές (1/2) Οι διαδικασίες που θα πρέπει να λάβουν χώρα για τη µετάβαση των σχεσιακών σχηµάτων σε κάθε µια από τις πέντε κανονικές µορφές που έχουν ορισθεί, είναι οι ακόλουθες : Πρώτη Κανονική Μορφή (1st Normal Form, 1NF): Για να φέρουµε ένα πίνακα σε πρώτη κανονική µορφή, θα πρέπει να αποµακρύνουµε τις επαναλαµβανόµενες οµάδες πεδίων, έτσι ώστε η τοµή µιας γραµµής και µιας στήλης του πίνακα, να αντιστοιχεί πάντα σε µια απλή τιµή. εύτερη Κανονική Μορφή (2nd Normal Form, 2NF): Για να φέρουµε ένα πίνακα σε δεύτερη κανονική µορφή, θα πρέπει πρώτα να τον φέρουµε σε πρώτη κανονική µορφή, και στη συνέχεια να αποµακρύνουµε όλες τις µερικές συναρτησιακές εξαρτήσεις (partial dependencies) που υφίστανται ανάµεσα στα πεδία του. Τρίτη Κανονική Μορφή (3rd Normal Form, 3NF): Για να φέρουµε ένα πίνακα σε τρίτη κανονική µορφή, θα πρέπει πρώτα να τον φέρουµε σε δεύτερη κανονική µορφή, και στη συνέχεια να αποµακρύνουµε όλες τις µεταβατικές συναρτησιακές εξαρτήσεις (transitive dependencies) που υφίστανται ανάµεσα στα πεδία του. 27

28 Κανονικοποίηση - κανονικές µορφές (2/2) Τέταρτη Κανονική Μορφή (4th Normal Form, 4NF): Για να φέρουµε ένα πίνακα σε τέταρτη κανονική µορφή, θα πρέπει πρώτα να τον φέρουµε σε τρίτη κανονική µορφή και στη συνέχεια να αποµακρύνουµε όλες τις συναρτησιακές εξαρτήσεις που περιλαµβάνουν πεδία πολλαπλών τιµών (multivalued dependencies). Πέµπτη Κανονική Μορφή (5th Normal Form, 5NF) : Για να φέρουµε ένα πίνακα σε πέµπτη κανονική µορφή θα πρέπει πρώτα να τον φέρουµε σε τέταρτη κανονική µορφή, και στη συνέχεια να αποµακρύνουµε όλες τις υπόλοιπες εξαρτήσεις που ενδεχοµένως έχουν παραµείνει στη δοµή του, µετά την εφαρµογή των παραπάνω διαδικασιών. Εκτός από τις πέντε κανονικές µορφές που περιγράψαµε παραπάνω, µια επιπλέον κανονική µορφή που χρησιµοποιείται σε αρκετές περιπτώσεις, είναι η Κανονική Μορφή των Boyce-Codd (Boyce Codd Normal Form, BCNF). Η BCNF, µπορεί να θεωρηθεί ως µια πιο αυστηρά διατυπωµένη 3NF. Αυτό σηµαίνει πως ένας πίνακας που βρίσκεται σε BCNF βρίσκεται αυτόµατα και σε 3NF το αντίστροφο όµως δεν ισχύει. 28

29 Πρώτη κανονική µορφή (1NF) Η πρώτη κανονική µορφή δηµιουργήθηκε για να αποτρέψει την εµφάνιση στα πεδία ενός πίνακα σύνθετων τιµών, πολλαπλών τιµών καθώς και συνδυασµούς αυτών των δύο. Ένας πίνακας λέµε ότι βρίσκεται σε 1NF, όταν η τιµή του κάθε πεδίου σε κάθε πλειάδα, είναι ατοµική δηλαδή δεν µπορεί να διασπαστεί σε µικρότερες µονάδες πληροφορίας. Εάν ένας πίνακας περιέχει πεδία πολλαπλών τιµών, τότε θα πρέπει να µετασχηµατιστεί µε τέτοιο τρόπο, ώστε σε κάθε κελί του να βρίσκεται µια απλή τιµή. 29

30 Παράδειγµα 1NF Σύµφωνα µε το µοντέλο της εταιρείας, που παρουσιάσαµε στα προηγούµενα κεφάλαια, ένα τµήµα της µπορεί να έχει γραφεία σε περισσότερες από µια τοποθεσίες. Αυτό σηµαίνει πως η στήλη DLOCATIONS θα περιέχει για κάθε τµήµα περισσότερες από µια τιµές όπως φαίνεται στο ακόλουθο παράδειγµα. Ο πίνακας DEPARTMENT στην παραπάνω µορφή, δεν ακολουθεί τον ορισµό της σχέσης που έχουµε δώσει για το σχεσιακό µοντέλο και θα πρέπει να µετασχηµατιστεί. Υπάρχουν δύο είδη µετασχηµατισµών που µπορούµε να εφαρµόσουµε. Ο ένας µετασχηµατισµός είναι να ορίσουµε για κάθε τιµή του πεδίου DLOCATIONS και µια ξεχωριστή πλειάδα στην περίπτωση αυτή το πρωτεύον κλειδί του πίνακα που θα προκύψει, θα είναι ο συνδυασµός των πεδίων DNUMBER και DLOCATION: Μια δεύτερη εναλλακτική λύση που µπορούµε να εφαρµόσουµε, είναι να αποµακρύνουµε το πεδίο DLOCATIONS που δηµιουργεί το πρόβληµα µε τις πολλαπλές τιµές που περιέχει, και να το τοποθετήσουµε σε ένα άλλο πίνακα στον πίνακα DEPT_LOCATIONS µαζί µε το πρωτεύον κλειδί του πίνακα DEPARTMENT. Τα δύο αυτά πεδία θα αποτελούν και το πρωτεύον κλειδί του πίνακα DEPT_LOCATIONS. 30

31 εύτερη κανονική µορφή (2NF) Η δεύτερη κανονική µορφή προκύπτει από την πρώτη κανονική µορφή, εάν µετασχηµατίσουµε τη δοµή του πίνακα, µε τέτοιο τρόπο ώστε να αποµακρυνθούν όλες οι µερικές συναρτησιακές εξαρτήσεις (partial dependencies) που υφίστανται ανάµεσα στα πεδία του. Με άλλα λόγια ένας πίνακας βρίσκεται σε δεύτερη κανονική µορφή, όταν όλα τα πεδία που δεν ανήκουν στο πρωτεύον κλειδί του πίνακα, εξαρτώνται συναρτησιακώς µόνο από τα πεδία του πρωτεύοντος κλειδιού, και µάλιστα, µέσω πλήρους συναρτησιακής εξάρτησης (full dependency). Επειδή ο ορισµός της πλήρους και της µερικής συναρτησιακής εξάρτησης µεταξύ δύο πεδίων X και Υ εφαρµόζεται µόνο όταν το Χ περιλαµβάνει περισσότερα από ένα πεδία, είναι προφανές πως η αναγωγή ενός πίνακα στη δεύτερη κανονική µορφή, έχει νόηµα µόνο όταν το πρωτεύον κλειδί του είναι σύνθετο. Αντίθετα, όταν το κλειδί του πίνακα είναι ένα απλό πεδίο, η αναγωγή του πίνακα σε 1NF, τον µετασχηµατίζει αυτόµατα και σε 2NF. 31

32 Παράδειγµα 2NF Ένα παράδειγµα ενός πίνακα που δεν είναι σε δεύτερη κανονική µορφή, είναι ο πίνακας EMP_PROJ. Μελετώντας τις τιµές που έχουµε καταχωρήσει σε αυτόν τον πίνακα, διαπιστώνουµε πως ο πίνακας είναι σε 1NF, διότι, το κάθε κελί του περιέχει µια απλή τιµή. Ωστόσο δεν είναι σε 2NF διότι περιέχει µερικές συναρτησιακές εξαρτήσεις (partial dependencies) π.χ {SSN, PNUMBER} ENAME, {SSN, PNUMBER} PLOCATION. Η δοµή του πίνακα EMP_PROJ περιέχει τρεις πλήρεις συναρτησιακές εξαρτήσεις, την fd1 που ορίζεται ως {SSN, PNUMBER} HOURS, την fd2 που ορίζεται ως SSN ENAME, και την fd3 που ορίζεται ως PNUMBER {PNAME, PLOCATION} ο συµβολισµός που χρησιµοποιήθηκε στην fd3 υποδηλώνει πως η γνώση του PNUMBER ταυτοποιεί µονοσήµαντα τα πεδία PNAME και PLOCATION. Επίσης, το πρωτεύον κλειδί του πίνακα, είναι σύνθετο, και αποτελείται από το συνδυασµό των πεδίων SSN και PNUMBER. Για να µετασχηµατίσουµε τον πίνακα σε 2NF, θα πρέπει να τον διασπάσουµε σε µικρότερους πίνακες, µε τέτοιο τρόπο, ώστε τα πεδία που δεν ανήκουν στο πρωτεύον κλειδί του, να τοποθετηθούν µαζί µε τα πεδία του πρωτεύοντος κλειδιού, µε τα οποία συσχετίζονται µέσου πλήρους συναρτησιακής εξάρτησης. Αυτό πρακτικά σηµαίνει να δηµιουργήσουµε τόσους πίνακες όσες είναι και οι πλήρεις συναρτησιακές εξαρτήσεις των πεδίων το πίνακα, και να τοποθετήσουµε σε αυτούς, τα πεδία που συµµετέχουν σε αυτές τις εξαρτήσεις. Έτσι, στο παράδειγµά µας, οι τρεις συναρτησιακές εξαρτήσεις fd1, fd2 και fd3, θα οδηγήσουν στη δηµιουργία των πινάκων EP1 {SSN, PNUMBER, HOURS}, EP2 {SSN, ENAME} και EP3 {PNUMBER, PNAME, PLOCATION}, κάθε ένας εκ των οποίων βρίσκεται σε 2NF. 32

33 Τρίτη κανονική µορφή (3NF) Η τρίτη κανονική µορφή προκύπτει από τη δεύτερη κανονική µορφή εάν µετασχηµατίσουµε τον πίνακα µε τέτοιο τρόπο ώστε να αποµακρυνθούν όλες οι µεταβατικές συναρτησιακές εξαρτήσεις (transitive dependencies) που υφίστανται ανάµεσα στα πεδία του. Επαναλαµβάνουµε από τη βασική θεωρία πως µια συναρτησιακή εξάρτηση Α Β ονοµάζεται µεταβατική, όταν υπάρχει ένα πεδίο C που δεν ανήκει στο πρωτεύον κλειδί του πίνακα, τέτοιο ώστε C = C(A) και B = B(C). 33

34 Παράδειγµα 3NF Ας θεωρήσουµε για παράδειγµα τον πίνακα EMP_DEP το σχήµα του οποίου απεικονίζεται στη συνέχεια, µαζί µε τις συναρτησιακές εξαρτήσεις που ορίζονται ανάµεσα στα πεδία του. Αυτός ο πίνακας, βρίσκεται σε δεύτερη κανονική µορφή καθώς η δοµή του δεν χαρακτηρίζεται από µερικές συναρτησιακές εξαρτήσεις, όχι όµως και σε τρίτη κανονική µορφή, διότι ανάµεσα στα πεδία του υπάρχουν µεταβατικές εξαρτήσεις. Μια τέτοια εξάρτηση ορίζεται ανάµεσα στα πεδία SSN και DMGRSSN, καθώς ισχύουν οι σχέσεις SSN DNUMBER και DNUMBER DMGRSSN µε το πεδίο DNUMBER να µην αποτελεί τµήµα του πρωτεύοντος κλειδιού του πίνακα. Μια δεύτερη µεταβατική εξάρτηση ορίζεται µε τον ίδιο τρόπο ανάµεσα στα πεδία SSN και DNAME, καθώς µπορούµε να γράψουµε SSN DNUMBER και DNUMBER DNAME. Αυτού του είδους οι συναρτησιακές εξαρτήσεις θα πρέπει να αποµακρυνθούν. Η αποµάκρυνση αυτών των εξαρτήσεων θα γίνει όπως και προηγουµένως διασπώντας τον πίνακα EMP_DEP στους πίνακες ED1 {ENAME, SSN, BDATE, ADDRESS, DNUMBER} και ED2 {DNUMBER, DNAME, DMGRSSN} κάθε ένας εκ των οποίων βρίσκεται τώρα σε 3NF. 34

35 Κανονική µορφή των Boyce Codd (Boyce Codd Normal Form, BCNF) Η κανονική µορφή των Boyce και Codd, αποτελεί µια πιο αυστηρή διατύπωση της τρίτης κανονικής µορφής, και χρησιµοποιείται για να αποµακρύνει ανωµαλίες που ενδέχεται να προκύψουν σε περιπτώσεις κατά τις οποίες ένας πίνακας έχει περισσότερα από ένα υποψήφια κλειδιά, τα οποία µάλιστα είναι σύνθετα, αποτελούνται δηλαδή από πολλά πεδία. «Μια σχέση βρίσκεται στην κανονική µορφή των Boyce Codd (BCNF), αν και µόνο αν κάθε πεδίο του πίνακα που ταυτοποιεί µονοσήµαντα κάποιο άλλο πεδίο, είναι υποψήφιο κλειδί του πίνακα». Για να φέρουµε τον πίνακα CLASS σε BCNF, θα πρέπει κατά τα γνωστά να τον διασπάσουµε σε µικρότερους πίνακες, κάθε ένας εκ των οποίων θα βρίσκεται σε BCNF. Σε αυτή τη διαδικασία της διάσπασης, το πεδίο που ταυτοποιεί µονοσήµαντα κάποιο άλλο πεδίο αλλά παρόλα αυτά δεν ανήκει στο υποψήφιο κλειδί του πίνακα, θα τοποθετηθεί σε µία άλλη σχέση, και ταυτόχρονα θα γίνει το πρωτεύον κλειδί της. Στην προκειµένη περίπτωση, η διάσπαση µπορεί να γίνει µε δύο τρόπους : (α) CLASS1 {StudentId, Advisor} και CLASS2 {Advisor, Lesson} ή (β) CLASS1 {StudentId, Lesson} και CLASS2 {Advisor, Lesson} και στις δύο περιπτώσεις, το πεδίο Advisor θα αποτελέσει πρωτεύον κλειδί του πίνακα CLASS2. 35

36 Τέταρτη κανονική µορφή (4th Normal Form, 4NF) Μετασχηµατίζοντας ένα πίνακα σε BCNF, είµαστε πλέον σίγουροι πως η δοµή του δεν περιέχει ανεπιθύµητες συναρτησιακές εξαρτήσεις που θα µπορούσαν να οδηγήσουν στην εµφάνιση ανωµαλιών κατά την εισαγωγή, διαγραφή και τροποποίηση δεδοµένων. Παρά το γεγονός όµως αυτό, τέτοιου είδους ανωµαλίες ενδέχεται να υπάρξουν εάν υφίσταται κάποια συσχέτιση µεταξύ δύο πεδίων, εκ των οποίων το ένα να είναι πεδίο πολλαπλών τιµών (multivalued dependencies). Οι παραπάνω ανωµαλίες προκύπτουν όταν σε ένα πίνακα υπάρχουν τουλάχιστον τρία πεδία ας τα ονοµάσουµε A, B και C τέτοια ώστε για κάθε τιµή του Α, να υπάρχει ένα σύνολο τιµών για το B, και ένα σύνολο τιµών για το C και ταυτόχρονα το σύνολο τιµών του Β είναι ανεξάρτητο από το σύνολο τιµών του C και αντίστροφα. Οι εξαρτήσεις αυτού του είδους ονοµάζονται εξαρτήσεις πολλαπλών τιµών (multivalued dependencies). Για να αποµακρύνουµε αυτές τις ανωµαλίες, θα πρέπει κατά τα γνωστά να διασπάσουµε τον πίνακα σε δύο µικρότερους πίνακες διαχωρίζοντας τα πεδία B και C σύµφωνα µε τον ορισµό που δώσαµε προηγουµένως. Έτσι ο πίνακας OFFERING, θα διαχωριστεί στους πίνακες TEACHER {COURSE, INSTRUCTOR} και TEXT {COURSE, TEXTBOOK} κάθε ένας εκ των οποίων βρίσκεται σε 4NF. 36

37 Πέµπτη κανονική µορφή (5th Normal Form, 5NF) Τέλος η πέµπτη κανονική µορφή, χρησιµοποιείται όταν οι πίνακες που προκύπτουν από την τέταρτη κανονική µορφή, χαρακτηρίζονται από εξαρτήσεις σύζευξης (join dependencies). Αυτού του είδους οι εξαρτήσεις απαγορεύουν τη διάσπαση ενός πίνακα σε µικρότερους πίνακες οι οποίοι εάν συνδυαστούν εκ νέου να µπορούν να αναδηµιουργήσουν τους αρχικούς πίνακες. 37

38 Άσκηση 1η (1/15) 38

39 Άσκηση 1η (2/15) 39

40 Άσκηση 1η (3/15) 40

41 Άσκηση 1η (4/15) 41

42 Άσκηση 1η (5/15) 42

43 Άσκηση 1η (6/15) 43

44 Άσκηση 1η (7/15) 44

45 Άσκηση 1η (8/15) 45

46 Άσκηση 1η (9/15) 46

47 Άσκηση 1η (10/15) 47

48 Άσκηση 1η (11/15) 48

49 Άσκηση 1η (12/15) 49

50 Άσκηση 1η (13/15) 50

51 Άσκηση 1η (14/15) 51

52 Άσκηση 1η (15/15) 52

53 Άσκηση 2η (1/5) 53

54 Άσκηση 2η (2/5) Παρατηρούµε ότι τα πεδία Κωδικός_Αγώνα, Αγώνας και Επίδοση έχουν περισσότερες από µία τιµές. Αυτό είναι αντίθετο µε τις αρχές της σχεσιακής θεωρίας, γιατί κάθε σχέση του σχεσιακού µοντέλου θα πρέπει να έχει πεδία µε µία και µοναδική τιµή σε κάθε σειρά (εγγραφή). εν µπορούµε φυσικά να προσθέσουµε κι άλλα πεδία, δηλ. ένα πεδίο για κάθε αγώνα, γιατί στο σχεσιακό µοντέλο δεν µπορεί µια σχέση να έχει µεταβαλλόµενο αριθµό πεδίων και ούτε είµαστε σε θέση να γνωρίζουµε σε πόσους αγώνες πήρε µέρος ένας αθλητής. Μια πρώτη λύση θα ήταν να µην έχουµε επαναλαµβανόµενες τιµές στην ίδια σειρά και να προσπαθήσουµε να δηµιουργήσουµε έτσι έναν νέο πίνακα σε κάθε κελί του οποίου να περιέχεται µία µόνο τιµή, όπως φαίνεται στο παρακάτω σχήµα : Ο παραπάνω πίνακας είναι σε 1η κανονική µορφή. 54

55 Άσκηση 2η (3/5) Συνεχίζοντας τώρα µε την 2η κανονική µορφή, ψάχνουµε να βρούµε τα πεδία εκείνα που να συσχετίζονται µε (αφορούν, εξαρτώνται από) ολόκληρο το σύνθετο κλειδί. Παίρνουµε τα πεδία που συγκροτούν το σύνθετο κλειδί και από τα πεδία αυτά δηµιουργούµε έναν καινούργιο πίνακα. Στον πίνακά µας, το µόνο πεδίο που έχει σχέση µε τον συνδυασµό των πεδίων που συγκροτούν το σύνθετο κλειδί, δηλ. µε τα πεδία Κωδικός_Αθλητή και Κωδικός_Αγώνα, είναι προφανώς το πεδίο Επίδοση. ηµιουργούµε τώρα τον παρακάτω πίνακα. 55

56 Άσκηση 2η (4/5) Συνεχίζοντας µε την 2η κανονική µορφή, προσπαθούµε τώρα να βρούµε ποια από τα υπόλοιπα πεδία του πίνακα εξαρτώνται από κάθε ξεχωριστό πεδίο του σύνθετου κλειδιού. Παίρνουµε αυτό το ξεχωριστό πεδίο ως πρωτεύον κλειδί και µε τα πεδία που έχουν σχέση µ αυτό δηµιουργούµε και από έναν καινούργιο πίνακα κάθε φορά. Στο παράδειγµά µας, θα προκύψουν οι εξής δύο καινούργιοι πίνακες : 56

57 Άσκηση 2η (5/5) Βλέπουµε, όµως, ότι υπάρχουν ακόµη πλεονασµοί δεδοµένων, όπως συµβαίνει µε τα πεδία Ονοµασία_Συλλόγου και Ονοµασία_Χώρας στον πίνακα που έχει ως πεδίο κλειδί τον Κωδικό_Αθλητή. Θα πρέπει συνεπώς να προχωρήσουµε σε δύο ακόµη διασπάσεις του πίνακα αυτού για να αποφύγουµε αυτές τις επαναλήψεις τιµών. Έχουµε φθάσει σ ένα σηµείο που δεν χρειάζεται περαιτέρω διάσπαση των πινάκων καθώς στους πίνακες που έχουµε καταλήξει δεν υπάρχουν πεδία που να περιγράφουν κάτι που να έχει σχέση µε κάποιο άλλο πεδίο εκτός από το πεδίο κλειδί. Η σχέση που επεξεργαζόµαστε βρίσκεται τώρα στην 3η κανονική µορφή (3η NF). Ο ορισµός λέει ότι µια σχέση βρίσκεται στην 3η κανονική µορφή όταν ικανοποιεί τις απαιτήσεις της 1ης και της 2ης κανονικής µορφής και ακόµη δεν υπάρχει κάποιο πεδίο στον πίνακα που να εξαρτάται από κάποιο άλλο πεδίο διαφορετικό του πρωτεύοντος κλειδιού. 57

Κεφάλαιο 4 Λογικός Σχεδιασµός Κανονικοποίηση

Κεφάλαιο 4 Λογικός Σχεδιασµός Κανονικοποίηση Κεφάλαιο 4 Λογικός Σχεδιασµός Κανονικοποίηση Στο κεφάλαιο αυτό παρουσιάζονται οι βασικοί κανόνες σχεδίασης της δοµής των πινάκων στο σχεσιακό µοντέλο, και αναλύεται η τεχνική της κανονικοποίησης που είναι

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

Κανονικές Μορφές 8ο Φροντιστήριο. Βάρσος Κωνσταντίνος

Κανονικές Μορφές 8ο Φροντιστήριο. Βάρσος Κωνσταντίνος ΗΥ-360 Αρχεια και Βασεις εδοµενων, Τµηµα Επιστηµης Υπολογιστων, Πανεπιστηµιο Κρητης Κανονικές Μορφές Βάρσος Κωνσταντίνος 30 Νοεµβρίου 2017 Κανονικοποίηση Ορισµός 1. Κανονικοποίηση είναι µια διαδικασία

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

Εισαγωγή στις Βάσεις Δεδομζνων II

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Κανονικοποίηση Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το παρόν

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

Κεφάλαιο 3 Σχεσιακό Μοντέλο

Κεφάλαιο 3 Σχεσιακό Μοντέλο Κεφάλαιο 3 Σχεσιακό Μοντέλο Στο κεφάλαιο αυτό παρουσιάζεται το σχεσιακό µοντέλο βάσεων δεδοµένων, και αναλύονται τα δοµικά του χαρακτηριστικά, οι βασικές του ιδιότητες, και ο τρόπος µε τον οποίο µπορεί

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

Κανονικές Μορφές 8ο Φροντιστήριο. Βάρσος Κωνσταντίνος

Κανονικές Μορφές 8ο Φροντιστήριο. Βάρσος Κωνσταντίνος ΗΥ-360 Αρχεια και Βασεις εδοµενων Τµηµα Επιστηµης Υπολογιστων Πανεπιστηµιο Κρητης Κανονικές Μορφές Βάρσος Κωνσταντίνος 23 Νοεµβρίου 2018 ιατήρηση Εξαρτήσεων Εστω F ένα σύνολο από συναρτησιακές εξαρτήσεις

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

Lecture 23: Functional Dependencies and Normalization

Lecture 23: Functional Dependencies and Normalization Department of Computer Science University of Cyprus EPL342 Databases Lecture 23: Functional Dependencies and Normalization Normalization and Normal Forms (Chapter 10.3-10.4, Elmasri-Navathe 5ED) ιδάσκων:

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

Κανονικοποίηση για Σχεσιακές Βάσεις Δεδομένων Αντζουλάτος Γεράσιμος antzoulatos@upatras.gr Τμήμα Εφαρμογών Πληροφορικής στην Διοίκηση και Οικονομία ΤΕΙ Πατρών - Παράρτημα Αμαλιάδας 06 Δεκεμβρίου 2012 Περιεχομενα

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

Κανονικοποίηση. Άτυπες Οδηγίες. Παράδειγµα. Αξιολόγηση Σχεσιακών Σχηµάτων Β. Περιττές Τιµές και Ανωµαλίες Ενηµέρωσης

Κανονικοποίηση. Άτυπες Οδηγίες. Παράδειγµα. Αξιολόγηση Σχεσιακών Σχηµάτων Β. Περιττές Τιµές και Ανωµαλίες Ενηµέρωσης Αξιολόγηση Σχεσιακών Σχηµάτων Β Κανονικοποίηση Παύλος Εφραιµίδης Βάσεις εδοµένων Κανονικοποίηση 1 Πως µπορούµε να κρίνουµε εάν ένα Σχεσιακό Σχήµα είναι καλό ή αποδοτικό ή αν έχει λάθη; Σε γενικές γραµµές

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

Εισαγωγή στις Βάσεις Δεδομζνων II

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Το Σχεσιακό Μοντζλο Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το

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

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 22: Κανονικοποίηση και Συναρτησιακές Εξαρτήσεις ΙII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Κανονικοποιήση (Normalization) και Κανονικές Μορφές (Normal

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

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

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

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

Lecture 21: Functional Dependencies and Normalization

Lecture 21: Functional Dependencies and Normalization Department of Computer Science University of Cyprus EPL342 Databases Lecture 21: Functional Dependencies and Normalization Informal Design Guidelines (Chapter 14.1, Elmasri-Navathe 7ED) Demetris Zeinalipour

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

Κεφάλαιο 9 Συσχετίσεις

Κεφάλαιο 9 Συσχετίσεις Κεφάλαιο 9 Συσχετίσεις Το κεφάλαιο αυτό διαπραγµατεύεται τη δηµιουργία και διαχείριση των συσχετίσεων που υφίστανται ανάµεσα στους πίνακες µιας σχεσιακής βάσης δεδοµένων. Όπως έχει ήδη αναφερθεί, ο ρόλος

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

Κανονικοποίηση. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Κανονικοποίηση 1

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

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

Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση

Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση Κανονικές Μορφές - Πρώτη κανονική μορφή (1NF) - Δεύτερη κανονική μορφή (2NF) - Τρίτη κανονική μορφή (3NF) 1 Κανονικοποίηση Κανονικές Μορφές Οι σχέσεις μπορούν

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

Θεωρία Κανονικοποίησης

Θεωρία Κανονικοποίησης Θεωρία Κανονικοποίησης Πρώτη Κανονική Μορφή (1NF) Αποσύνθεση Συναρτησιακές Εξαρτήσεις Δεύτερη (2NF) και Τρίτη Κανονική Μορφή (3NF) Boyce Codd Κανονική Μορφή (BCNF) Καθολική Διαδικασία Σχεδίασης ΒΔ Βασική

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

Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley, ΕλληνικήΈκδοση, ίαυλος

Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley, ΕλληνικήΈκδοση, ίαυλος ιαφάνεια 10-1 Κεφάλαιο 10 Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση για Σχεσιακές Βάσεις εδοµένων Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley, ΕλληνικήΈκδοση ίαυλος ΠεριεχόµεναΚεφαλαίου

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

Η εταιρεία είναι οργανωµένη σε τµήµατα Κάθε ΤΜΗΜΑένα όνοµα, κωδικό και έναν εργαζόµενο που διευθύνει το τµήµα. Αποθηκεύεται η ηµεροµηνία που ανέλαβε

Η εταιρεία είναι οργανωµένη σε τµήµατα Κάθε ΤΜΗΜΑένα όνοµα, κωδικό και έναν εργαζόµενο που διευθύνει το τµήµα. Αποθηκεύεται η ηµεροµηνία που ανέλαβε ιάγραµµα Οντοτήτων - Συσχετίσεων Παύλος Εφραιµίδης Βάσεις εδοµένων ιάγραµµα Ο-Σ 1 Σχεδιασµός µιας Βάσης εδοµένων Τα βασικά βήµατα για το σχεδιασµό και την ανάπτυξη µιας Βάσης εδοµένων είναι: Ανάλυση Απαιτήσεων

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

Κεφάλαιο 2 Μοντέλο Οντοτήτων Συσχετίσεων

Κεφάλαιο 2 Μοντέλο Οντοτήτων Συσχετίσεων Κεφάλαιο 2 Μοντέλο Οντοτήτων Συσχετίσεων Στο κεφάλαιο αυτό παρουσιάζεται το µοντέλο οντοτήτων συσχετίσεων, µια από τις πιο σηµαντικές διαγραµµατικές τεχνικές που µας επιτρέπουν να καθορίσουµε τη δοµή της

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

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model .. Εργαστήριο Βάσεων Δεδομένων Relational Model . Σχεσιακό Μοντέλο (Relational Model) Το σχεσιακό μοντέλο παρουσιάζει μια βάση ως συλλογή από σχέσεις Μια σχέση είναι ένας πίνακας με διακριτό όνομα Κάθε

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

Κεφάλαιο 8. ΣΧΕ ΙΑΣΜΟΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ (Normalization) Ι.Β Σχεδιασµός Σχεσιακών Β και Κανονικοποίηση Σελίδα 4.1

Κεφάλαιο 8. ΣΧΕ ΙΑΣΜΟΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ (Normalization) Ι.Β Σχεδιασµός Σχεσιακών Β και Κανονικοποίηση Σελίδα 4.1 Κεφάλαιο 8 ΣΧΕ ΙΑΣΜΟΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ (Normalization) Ι.Β Σχεδιασµός Σχεσιακών Β και Κανονικοποίηση Σελίδα 4.1 Σύνοψη Λογικός Σχεδιασµός Σχεσιακών Βάσεων εδοµένων και Κανονικοποίηση

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

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

Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 1 Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό Για κάθε τύπο οντοτήτων και για κάθε τύπο συσχετίσεων δηµιουργούµε ένα σχήµα σχέσης που

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

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1 Σχεσιακό Μοντέλο Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή O σχεδιασμός μιας βάση δεδομένων κωδικοποιεί κάποιο μέρος του φυσικού κόσμου Ένα μοντέλο δεδομένων είναι ένα σύνολο από έννοιες για

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. Relational Model Μαθ. #9

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. Relational Model Μαθ. #9 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model Μαθ. #9 Σχεσιακό Μοντέλο Μεταφορά E-R ιαγράµµατος σε Σχέσεις Μια οντότητα «Ε» Μεταφράζεται σε µια σχέση της οποίας το σχήµα αποτελείται από όλα τα γνωρίσµατα του «Ε» Εάν

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

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1 Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Θα εξετάσουµε πότε ένα σχεσιακό σχήµα για µια βάση δεδοµένων είναι «καλό» Γενικές Οδηγίες Η Μέθοδος

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

Διάλεξη 08: Αντιστοίχηση Εννοιολογικού σε Σχεσιακό Μοντέλο (ER/EER to Relational) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 08: Αντιστοίχηση Εννοιολογικού σε Σχεσιακό Μοντέλο (ER/EER to Relational) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 08: Αντιστοίχηση Εννοιολογικού σε Σχεσιακό Μοντέλο (ER/EER to Relational) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Αλγόριθμος Αντιστοίχισης ER/EER σε Σχεσιακό

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

Lecture 24: Functional Dependencies and Normalization IV

Lecture 24: Functional Dependencies and Normalization IV Department of Computer Science University of Cyprus EPL342 Databases Lecture 24: Functional Dependencies and Normalization IV (Chapter 10.5, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

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

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 20: Κανονικοποίηση και Συναρτησιακές Εξαρτήσεις Ι Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Εισαγωγή στην Κανονικοποιήση Άτυπες κατευθύνσεις για Σχεδιασμό

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

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

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Μοντελοποίηση Σχήμα (database schema): η περιγραφή της δομής της πληροφορίας που είναι αποθηκευμένη στη βδ με τη χρήση ενός μοντέλου δεδομένων

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

Διάλεξη 06: Σχεσιακό Μοντέλο I (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 06: Σχεσιακό Μοντέλο I (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 06: Σχεσιακό Μοντέλο I (Relational Data Model) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Εισαγωγή στο Σχεσιακό Μοντέλο Ορισμοί Σχεσιακού Μοντέλου Σχεσιακοί

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

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

Βάσεις δεδομένων. (2 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (2 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Μοντελοποίηση δεδομένων Μοντέλο Οντοτήτων Συσχετίσεων Παραδείγματα Διαγραμματικές τεχνικές Συμβολισμοί Τριαδικές συσχετίσεις 2

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

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων Εισαγωγή Θα εξετάσουµε πότε ένα σχεσιακό σχήµα για µια βάση δεδοµένων είναι «καλό» Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων Γενικές Οδηγίες Η Μέθοδος της Αποσύνθεσης Επιθυµητές Ιδιότητες της Αποσύνθεσης Συνένωση

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

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

Βάσεις δεδομένων. (9 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (9 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Βελτίωση σχεδιασμού Αποσύνθεση σχέσης Συναρτησιακές εξαρτήσεις Θεωρία κανονικών μορφών 1 η NF 2 η NF 3 η NF 2 Βελτίωση σχεδιασμού

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

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης. Το µοντέλο Οντοτήτων Συσχετίσεων Το Σχεσιακό Μοντέλο εδοµένων

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

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

Lecture 21: Functional Dependencies and Normalization

Lecture 21: Functional Dependencies and Normalization Department of Computer Science University of Cyprus EPL342 Databases Lecture 21: Functional Dependencies and Normalization Informal Design Guidelines (Chapter 10.1, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης

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

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

Βάσεις δεδομένων. (3 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (3 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Σχεσιακό μοντέλο δεδομένων Σχέσεις, γνωρίσματα, πλειάδες, πεδία ορισμού Πράξεις ενημέρωσης σε σχέσεις Απεικόνιση μοντέλου οντοτήτωνσυσχετίσεων

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

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 23: Κανονικοποίηση και Συναρτησιακές Εξαρτήσεις ΙV Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Κανονικές Μορφές (BCNF, Τέταρτη/4NF, Πέμπτη/5NF) Διδάσκων: Παναγιώτης

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

Κανονικές Μορφές Σχεδιασµός Σχεσιακών Σχηµάτων

Κανονικές Μορφές Σχεδιασµός Σχεσιακών Σχηµάτων Κανονικές Μορφές 1 Σχεδιασµός Σχεσιακών Σχηµάτων Γενικές Οδηγίες Η Μέθοδος της Αποσύνθεσης Επιθυµητές Ιδιότητες της Αποσύνθεσης Συνένωση Άνευ Απωλειών ιατήρηση Εξαρτήσεων Αποφυγή Επανάληψης Πληροφορίας

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

Σχεδιασµός µιας Β. Εισαγωγή. Μετατροπή σε σχεσιακό -> είσοδο σε ένα Σ Β. Εισαγωγή. Ιδέες Ο/Σ Σχέσεις Σχεσιακό Σ Β

Σχεδιασµός µιας Β. Εισαγωγή. Μετατροπή σε σχεσιακό -> είσοδο σε ένα Σ Β. Εισαγωγή. Ιδέες Ο/Σ Σχέσεις Σχεσιακό Σ Β Εισαγωγή Σχεδιασµός µιας Β ανάλυση ποιας πληροφορίας και της σχέσης ανάµεσα στα στοιχεία της περιγραφή της δοµής - σχήµα σε διάφορους συµβολισµούς ή µοντέλα Μοντέλο Οντοτήτων - Συσχετίσεων γραφικό µοντέλο

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

Διάγραμμα Οντοτήτων - Συσχετίσεων

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

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

Βάσεις Δεδομένων. Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Βάσεις Δεδομένων. Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών Βάσεις Δεδομένων Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

Σχεδίαση Σχεσιακών ΒΔ

Σχεδίαση Σχεσιακών ΒΔ Σχεδίαση Σχεσιακών ΒΔ Εισαγωγή: Μοντελοποίηση, Σχεδιασμός και Ανάπτυξη Βάσεων Δεδομένων Σχεδιασμός ΒΔ Εννοιολογικός σχεδιασμός το Μοντέλο Οντοτήτων Συσχετίσεων (Entity Relationship Model) Λογικός σχεδιασμός

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

Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Συσχετίσεις, Ρόλοι και Δομικοί Περιορισμοί

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

Μοντέλο Οντοτήτων-Συσχετίσεων

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

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

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων Βάσεις Δεδομένων Επαγγελματικού Λυκείου Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων Εισηγητής Δελησταύρου Κωνσταντίνος Καθηγητής Πληροφορικής ΠΕ20 Μηχανικός Πληροφορικής Τ.Ε. M.Sc. στα Συστήματα Υπολογιστών Περιεχόμενα

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

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

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

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

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

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

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

Εισαγωγή. Σχεδιασµός µιας Β

Εισαγωγή. Σχεδιασµός µιας Β Σχεδιασµός µιας Β Εισαγωγή ανάλυση ποιας πληροφορίας και της σχέσης ανάµεσα στα στοιχεία της περιγραφή της δοµής - σχήµα σε διάφορους συµβολισµούς ή µοντέλα Μοντέλο Οντοτήτων - Συσχετίσεων (κεφ. 3) γραφικό

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter )

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter ) Department of Computer Science University of Cyprus EPL342 Databases Lecture 8: RM II Relational Model (Chapter 5.2-5.3) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342 8-1 Περιεχόμενο

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

Βάσεις Δεδομένων. Σταύρος Βαλσαμίδης Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1

Βάσεις Δεδομένων. Σταύρος Βαλσαμίδης Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1 Βάσεις Δεδομένων Σταύρος Βαλσαμίδης svalsam@teikav.edu.gr Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1 Σχεδιασμός μιας Βάσης Δεδομένων Τα βασικά βήματα για το σχεδιασμό και την ανάπτυξη μιας Βάσης Δεδομένων είναι:

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

Εργαστήριο Βάσεων Δεδομένων. Relational Model Σχεσιακό Μοντέλο

Εργαστήριο Βάσεων Δεδομένων. Relational Model Σχεσιακό Μοντέλο Εργαστήριο Βάσεων Δεδομένων Relational Model Σχεσιακό Μοντέλο Σχεσιακό μοντέλο (Relational Model) Το σχεσιακό μοντέλο παρουσιάζει μια βάση ως συλλογή από σχέσεις. Μια σχέση είναι ένας πίνακας με διακριτό

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

Μοντέλο Οντοτήτων-Συσχετίσεων

Μοντέλο Οντοτήτων-Συσχετίσεων Εισαγωγή Εισαγωγή Σχεδιασµός µιας Β ανάλυση ποιας πληροφορίας και της σχέσης ανάµεσα στα στοιχεία της περιγραφή της δοµής - σχήµα σε διάφορους συµβολισµούς ή µοντέλα Μοντέλο Οντοτήτων - Συσχετίσεων γραφικό

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

Κανονικοποίηση Σχήµατος. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

Κανονικοποίηση Σχήµατος. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1 Κανονικοποίηση Σχήµατος Ευαγγελία Πιτουρά 1 Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων - Αποσύνθεση (διάσπαση) καθολικού σχήµατος Επιθυµητές ιδιότητες - διατήρηση εξαρτήσεων (F + = F + ) - όχι απώλειες στη

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

Σχεδιασµός Σχεσιακών Σχηµάτων

Σχεδιασµός Σχεσιακών Σχηµάτων Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 1 Σχεδιασµός Σχεσιακών Σχηµάτων Σχεδιασµός καλών σχεσιακών σχηµάτων Μη τυπικές - γενικές κατευθύνσεις Θεωρία κανονικών µορφών που θα βασίζεται στις συναρτησιακές

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

Σχεδίαση Β.Δ. (Database Design)

Σχεδίαση Β.Δ. (Database Design) Σχεδίαση Β.Δ. (Database Design) Η σχεδίαση ενός σχήματος μιας Β.Δ. βασίζεται σε μεγάλο βαθμό στη διαίσθηση του σχεδιαστή σχετικά με τον κόσμο που θέλει να αναπαραστήσει. Η εννοιολογική σχεδίαση υπαρκτών

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

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

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

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

Μοντέλο Οντοτήτων-Συσχετίσεων

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

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

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων 2014-2015. Ευαγγελία Πιτουρά 1

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων 2014-2015. Ευαγγελία Πιτουρά 1 Το Σχεσιακό Μοντέλο Ευαγγελία Πιτουρά 1 Μοντελοποίηση Σχήμα (database schema): η περιγραφή της δομής της πληροφορίας που είναι αποθηκευμένη στη βδ με τη χρήση ενός μοντέλου δεδομένων Μοντέλο Δεδομένων:

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

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

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Εισαγωγή Μέχρι τώρα είδαμε πως μοντελοποιούμε εννοιολογικά τις απαιτήσεις των χρηστών, με χρήση

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

ΠΕΛΑΤΗΣ ΠΑΡΑΓΓΕΛΙΑ ΠΡΟΪΟΝ

ΠΕΛΑΤΗΣ ΠΑΡΑΓΓΕΛΙΑ ΠΡΟΪΟΝ ΤΕΙ ΑΘΗΝΩΝ ΣΧΟΛΗ Σ Ο ΤΜΗΜΑ ΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2009-2010 Η/Υ ΙΙΙ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ (Θεωρία) ΜΑΘΗΜΑ 2ο Σχεσιακό µοντέλο (E-R model), ιάγραµµα οντοτήτων συσχετίσεων (E-R diagram), Σχεσιακό

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

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

Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό Προσοχή Δείτε αυτά που ακολουθούν ως παράδειγµα Μην τα ακολουθείτε τυφλά ως «µαγική συνταγή»

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

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

ΕΝ ΕΙΚΤΙΚΗ ΛΥΣΗ ΚΑΙ ΣΧΟΛΙΑ ΣΤΗΝ ΠΡΩΤΗ ΑΣΚΗΣΗ ΣΧΕ ΙΑΣΜΟΙ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΕΘΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΕΙΟ Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Ακαδηµαϊκό Έτος 2007-2008 Μάθηµα: ΒΑΣΕΙΣ Ε ΟΜΕΩ ιδάσκων: Καθ. Ιωάννης Βασιλείου Ε ΕΙΚΤΙΚΗ ΛΥΣΗ ΚΑΙ ΣΧΟΛΙΑ ΣΤΗ ΠΡΩΤΗ ΑΣΚΗΣΗ

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

Σχεσιακή δοµή δεδοµένων

Σχεσιακή δοµή δεδοµένων Σχεσιακή δοµή δεδοµένων Μοντελοποίηση δεδοµένων (data modeling) Εννοιολογικό: μοντέλα δεδομένων. Λογικό: δομή δεδομένων. Φυσικό: δοµή αρχείων. Μοντέλο της Βάσης Σχήµα της Βάσης Στιγµιότυπο της βάσης Μοντέλο

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

Κλειδιά (keys) Λογικά, σκεφτόµαστε για «κλειδιά» σαν τα δεδοµένα (τα πεδία) εκείνα τα οποία µας επιτρέπουν να ξεχωρίσουµε τις διάφορες εγγραφές

Κλειδιά (keys) Λογικά, σκεφτόµαστε για «κλειδιά» σαν τα δεδοµένα (τα πεδία) εκείνα τα οποία µας επιτρέπουν να ξεχωρίσουµε τις διάφορες εγγραφές Κλειδιά (keys) Key (κλειδί) Λογικά, σκεφτόµαστε για «κλειδιά» σαν τα δεδοµένα (τα πεδία) εκείνα τα οποία µας επιτρέπουν να ξεχωρίσουµε τις διάφορες εγγραφές Σούπερκλειδί (superkey) Ένα πεδίο ορισµού ή

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

Σχεδιασµός Σχεσιακών Σχηµάτων

Σχεδιασµός Σχεσιακών Σχηµάτων Σχεδιασµός Σχεσιακών Σχηµάτων 1 Σχεδιασµός Σχεσιακών Σχηµάτων Σχεδιασµός καλών σχεσιακών σχηµάτων Μη τυπικές - γενικές κατευθύνσεις Θεωρία κανονικών µορφών που θα βασίζεται στις συναρτησιακές εξαρτήσεις

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

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Περιορισμοί Σχεσιακού Μοντέλου και Σχεσιακά Σχήματα Πράξεις Ενημερώσεων

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

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ. Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων Δρ. Κωνσταντίνος Χ. Γιωτόπουλος Βασικά θέματα Βάσεων Δεδομένων Ένα Σύστημα Βάσης Δεδομένων

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

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

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

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

Βάσεις Δεδομένων Ι. 2 ο Φροντιστήριο. Πέρδικα Πολίνα [perdika]

Βάσεις Δεδομένων Ι. 2 ο Φροντιστήριο. Πέρδικα Πολίνα [perdika] Βάσεις Δεδομένων Ι 2 ο Φροντιστήριο http://www.dblab.upatras.gr/gr/dbi.htm Πέρδικα Πολίνα [perdika] Σχεδιασμός & Υλοποίηση ΒΔ Βήμα 1 συλλογή & ανάλυση απαιτήσεων (requirements collection and analysis)

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

καλών σχεσιακών σχημάτων

καλών σχεσιακών σχημάτων Εισαγωγή Θα εξετάσουμε πότε ένα σχεσιακό σχήμα για μια βάση δεδομένων είναι «καλό» Λογικός Γενικές Οδηγίες Η Μέθοδος της Αποσύνθεσης (γενική μεθοδολογία) Επιθυμητές Ιδιότητες της Αποσύνθεσης Συνένωση Άνευ

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

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Σχεσιακό Μοντέλο Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Εισαγωγή Το σχεσιακό μοντέλο δεδομένων (relational data model) προτάθηκε από τον E. F. Codd το 1970 Aποτελεί ένα μέσο λογικής δόμησης

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 Πράξεις Αλλαγής εδοµένων INSERT (εισαγωγή) Αυτός ο τελεστής παρέχει µια λίστα από πεδία τιµών για µια καινούργια πλειάδα η οποία θα εισαχθεί σε µια σχέση R

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

Entity-Relationship Model (Chen) Οντολογικό Σχεσιακό Μοντέλο

Entity-Relationship Model (Chen) Οντολογικό Σχεσιακό Μοντέλο Fig 3.1 Entity-Relationship Model (Chen) Οντολογικό Σχεσιακό Μοντέλο Χρησιµοποιείται για την εννοιολογική ανάλυση µιας εφαρµογής. Για τον ορισµό του λογικού σχήµατος Ένα εργαλείο (tool) το οποίο επιτρέπει

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 4: ER I. Data Modeling Using the ER Model

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 4: ER I. Data Modeling Using the ER Model Department of Computer Science University of Cyprus EPL342 Databases Lecture 4: ER I Data Modeling Using the ER Model (Chapter 3.1-3.3, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model SQL Μαθ. #11 Ε-R Model for a COMPANY database The COMPANY relational database schema A relational database instance of the COMPANY schema SQL Μια γλώσσα σχεσιακής βάσης

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Κανόνες μετατροπής Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Σχήμα. Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ,

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Κανόνες μετατροπής Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Σχήμα. Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2013 Κανόνες μετατροπής Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Σχήμα Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ

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

Άσκηση 2 - Κεχρής, Κεφάλαιο 8: Κανονικοποίηση

Άσκηση 2 - Κεχρής, Κεφάλαιο 8: Κανονικοποίηση Άσκηση 2 - Κεχρής, Κεφάλαιο 8: Κανονικοποίηση Εκφώνηση: Δίνεται ο παρακάτω πίνακας ΚΑΤΟΙΚΙΕΣ_ΑΓΟΡΑΣΤΩΝ τον οποίο χρησιμοποιεί μια κατασκευαστική εταιρία η οποία δραστηριοποιείται στην κατασκευή κατοικιών

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

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

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

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

Θέματα ανακεφαλαίωσης

Θέματα ανακεφαλαίωσης Θέματα ανακεφαλαίωσης 13 Ιουνίου 2013 1. Ορίστε την έννοια σχήμα σχέσης και αναλύστε τα στοιχεία του ορισμού σας. Υποθέστε ότι θέλουμε να αποθηκεύσουμε πληροφορίες για τα μέλη ενός πεζοπορικού συλλόγου

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

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ. Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 1

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ. Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 1 ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ Σχεδιασμός Σχεσιακών ΒΔ και Κανονικοποίηση 1 Σύνοψη Σχεσιακός Σχεδιασμός - Στόχοι Κριτήρια / Οδηγίες για ένα καλό Σχεδιασμό Συναρτησιακές Εξαρτήσεις - Οι

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

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

Συναρτησιακές Εξαρτήσεις. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1 Συναρτησιακές Εξαρτήσεις Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Θεωρία για το πότε ένας σχεδιασµός είναι «καλός» Η θεωρία βασίζεται στις Συναρτησιακές Εξαρτήσεις (Functional Dependencies)

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

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis)

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis) Σχεσιακό Μοντέλο Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 1 Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis) Εισαγωγή Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές

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

Σχεσιακές Βάσεις Δεδομένων

Σχεσιακές Βάσεις Δεδομένων Σχεσιακές Βάσεις Δεδομένων Μέρος 3ο Κανονικοποίηση Αρχείων Σχεσιακής Βάσης Δεδομένων Ιανουάριος 2006 Καραδήμας Ν. 1 Καλή& Κακή Σχεδίαση Βάσης Δεδομένων Η «κακή» σχεδίαση µπορεί να οδηγήσει σε τουλάχιστον

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

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

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

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

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

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

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

Κανονικές Μορφές. Αποσύνθεση (decomposition)

Κανονικές Μορφές. Αποσύνθεση (decomposition) Σχεδιασµός Σχεσιακών Σχηµάτων Κανονικές Μορφές Γενικές Οδηγίες Η Μέθοδος της Αποσύνθεσης Επιθυµητές Ιδιότητες της Αποσύνθεσης Συνένωση Άνευ Απωλειών ιατήρηση Εξαρτήσεων Αποφυγή Επανάληψης Πληροφορίας 1

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

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

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

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

Μοντέλο Οντοτήτων-Συσχετίσεων. Η ανάγκη Διαγράμματα ΟΣ Σύνολα Οντοτήτων-Συσχετίσεων Απεικονίσεις Επεκτάσεις

Μοντέλο Οντοτήτων-Συσχετίσεων. Η ανάγκη Διαγράμματα ΟΣ Σύνολα Οντοτήτων-Συσχετίσεων Απεικονίσεις Επεκτάσεις Η ανάγκη Διαγράμματα ΟΣ Σύνολα Οντοτήτων-Συσχετίσεων Απεικονίσεις Επεκτάσεις Μοντέλα Δεδομένων Μοντέλο: αφαιρετική αναπαράσταση του πραγματικού κόσμου. Μοντέλα βασισμένα σε εγγραφές (record based models)

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 8. Κανονικοποίηση Σχεδιασμός Βάσεων Δεδομένων Χρήστος Δουλκερίδης 2017-18 Θεµατολογία Διάλεξης Σχεδιασμός

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

Lecture 22: Functional Dependencies and Normalization

Lecture 22: Functional Dependencies and Normalization Department of Computer Science University of Cyprus EPL342 Databases Lecture 22: Functional Dependencies and Normalization Functional Dependencies (Chapter 10.2, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης

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

Κανονικές Μορφές. Βάσεις Δεδομένων : Κανονικές Μορφές. ηλαδή, i = 1,.., n R i R. Σύντομη επανάληψη αποσύνθεσης.

Κανονικές Μορφές. Βάσεις Δεδομένων : Κανονικές Μορφές. ηλαδή, i = 1,.., n R i R. Σύντομη επανάληψη αποσύνθεσης. Κανονικές Μορφές Σύντομη επανάληψη αποσύνθεσης Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 2 Αλγόριθμος Σχεδιασμού Αλγόριθμος Σχεδιασμού Ένας γενικός (θεωρητικός)

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

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 21: Κανονικοποίηση και Συναρτησιακές Εξαρτήσεις ΙI Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Συναρτησιακές Εξαρτήσεις Κανόνες Συμπερασμού για Συναρτησιακές

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Διδάσκουσα: Μαρία Χαλκίδη. Βάσεις Δεδομένων, Παν. Πειραιώς

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Διδάσκουσα: Μαρία Χαλκίδη. Βάσεις Δεδομένων, Παν. Πειραιώς ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Διδάσκουσα: Μαρία Χαλκίδη ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ Δομές αποθήκευσης και αρχείων - Ευρετήρια Επεξεργασία ερωτημάτων Βελτιστοποίηση ερωτημάτων Διαχείριση Δοσοληψιών Δοσοληψίες Συστήματα αποκατάστασης

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 5: ER II. Data Modeling Using the ER Model

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 5: ER II. Data Modeling Using the ER Model Department of Computer Science University of Cyprus EPL342 Databases Lecture 5: ER II Data Modeling Using the ER Model (Chapter 3.4-3.7, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

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

Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Μεθοδολογία Ανάπτυξης Βάσεων Δεδομένων

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

2. Το Μοντέλο Οντοτήτων- Συσχετίσεων

2. Το Μοντέλο Οντοτήτων- Συσχετίσεων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Το Μοντέλο Οντοτήτων- Συσχετίσεων Σχεδιασμός Βάσεων Δεδομένων Χρήστος Δουλκερίδης 2017-18 Σχεδίαση Βάσεων

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

καλών σχεσιακών σχημάτων

καλών σχεσιακών σχημάτων Εισαγωγή Θα εξετάσουμε πότε ένα σχεσιακό σχήμα για μια βάση δεδομένων είναι «καλό» Λογικός Σχεδιασμός Σχεσιακών Σχημάτων Γενικές Οδηγίες Η Μέθοδος της Αποσύνθεσης (γενική μεθοδολογία) Επιθυμητές Ιδιότητες

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

antzoulatos@upatras.gr

antzoulatos@upatras.gr Κανονικοποίηση για Σχεσιακές Βάσεις Δεδομένων Αντζουλάτος Γεράσιμος antzoulatos@upatras.gr Τμήμα Εφαρμογών Πληροφορικής στην Διοίκηση και Οικονομία ΤΕΙ Πατρών - Παράρτημα Αμαλιάδας 10 Ιανουαρίου 2013 Περιεχομενα

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

Το σχεσιακό μοντέλο βάσεων δεδομένων

Το σχεσιακό μοντέλο βάσεων δεδομένων ΕΣΔ232 Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας Το σχεσιακό μοντέλο βάσεων δεδομένων Περιεχόμενα Περιεχόμενα - Βιβλιογραφία Ενότητας Εισαγωγή στο σχεσιακό μοντέλο Σχεσιακές γλώσσες ερωτημάτων Περιορισμοί

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

Εισαγωγή στις Βάσεις εδοµένων και την Access

Εισαγωγή στις Βάσεις εδοµένων και την Access Μάθηµα 1 Εισαγωγή στις Βάσεις εδοµένων και την Access Τι είναι οι βάσεις δεδοµένων Μία βάση δεδοµένων (Β..) είναι µία οργανωµένη συλλογή πληροφοριών, οι οποίες είναι αποθηκευµένες σε κάποιο αποθηκευτικό

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