Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Βάσεις εδοµένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Κανονικοποίηση σχήµατος Β Σύνοψη
Κανονικοποίηση σχέσεων 1ος κανόνας κανονικοποίησης (1NF) τα πεδία ορισµού των γνωρισµάτων µιας σχέσης περιλαµβάνουν ατοµικές τιµές και κάθε τιµή γνωρίσµατος στη σχέση είναι µια µοναδική τιµή από το πεδίο αυτό απαγορεύονται πλειότιµα γνωρίσµατα ή σύνθετα γνωρίσµατα απαγορεύονται φωλιασµένες σχέσεις ο 1ος κανόνας πηγάζει από τον ορισµό µιας σχέσης ΠΟΛΥΓΩΝΑ Π23457 ΓΡΑΜΜΗ Γ34567 Γ34568 Γ34569 Γ34570 Γ34578 Γ34579 Γ34580 Γ34581 ΠΟΛΥΓΩΝΑ Π23457 Π23457 Π23457 Π23457 ΓΡΑΜΜΗ Γ34567 Γ34568 Γ34569 Γ34570 Γ34578 Γ34579 Γ34580 Γ34581
Κανονικοποίηση σχέσεων 2ος κανόνας κανονικοποίησης (2NF) τα γνωρίσµατα που δεν ανήκουν στο κλειδί µιας σχέσης πρέπει να είναι πλήρως εξαρτηµένα από το πρωτεύον κλειδί ΙΚΑΙΩΜΑΤΑ ΚΑΕΚ ΙΚΑΙΟΥΧΟΣ ΠΟΣΟΣΤΟ ΗΜΕΡΟΜΗΝΙΑ ΕΠΩΝΥΜΟ ΟΝΟΜΑ ΙΕΥΘΥΝΣΗ ΙΚΑΙΩΜΑΤΑ ΚΑΕΚ ΙΚΑΙΟΥΧΟΣ ΠΟΣΟΣΤΟ ΗΜΕΡΟΜΗΝΙΑ ΙΚΑΙΟΥΧΟΙ ΕΠΩΝΥΜΟ ΟΝΟΜΑ ΙΕΥΘΥΝΣΗ
Κανονικοποίηση σχέσεων 2ος κανόνας κανονικοποίησης (2NF) παράδειγµα ΙΚΑΙΩΜΑΤΑ ΚΑΕΚ ΙΚΑΙΟΥΧΟΣ ΠΟΣΟΣΤΟ ΗΜΕΡΟΜΗΝΙΑ ΕΠΩΝΥΜΟ ΟΝΟΜΑ ΙΕΥΘΥΝΣΗ 01.003.03.02.003 46419735 60% 28-7-1954 ΗΜΗΤΡΙΟΥ ΝΙΚΟΛΑΟΣ ΑΘΗΝΩΝ 45, 11562 ΑΘΗΝΑ 01.003.03.02.003 56712945 40% 28-7-1954 ΠΑΡΑΣΧΟΥ ΜΑΡΙΑ ΝΙΚΗΣ 22, 74100 ΡΕΘΥΜΝΟ 01.003.03.02.004 56712945 100% 12-3-1987 ΠΑΡΑΣΧΟΥ ΜΑΡΙΑ ΝΙΚΗΣ 22, 74100 ΡΕΘΥΜΝΟ ΙΚΑΙΩΜΑΤΑ ΚΑΕΚ ΙΚΑΙΟΥΧΟΣ ΠΟΣΟΣΤΟ ΗΜΕΡΟΜΗΝΙΑ 01.003.03.02.003 46419735 60% 28-7-1954 01.003.03.02.003 56712945 40% 28-7-1954 01.003.03.02.004 56712945 100% 12-3-1987 ΙΚΑΙΟΥΧΟΙ ΕΠΩΝΥΜΟ ΟΝΟΜΑ ΙΕΥΘΥΝΣΗ 46419735 ΗΜΗΤΡΙΟΥ ΝΙΚΟΛΑΟΣ ΑΘΗΝΩΝ 45, 11562 ΑΘΗΝΑ 56712945 ΠΑΡΑΣΧΟΥ ΜΑΡΙΑ ΝΙΚΗΣ 22, 74100 ΡΕΘΥΜΝΟ
Κανονικοποίηση σχέσεων 3ος κανόνας κανονικοποίησης (3NF) τα γνωρίσµατα που δεν ανήκουν στο κλειδί µιας σχέσης δεν πρέπει να είναι µεταβατικά εξαρτηµένα από το πρωτεύον κλειδί ΓΕΩΤΕΜΑΧΙΑ ΚΑΕΚ ΕΜΒΑ ΟΝ ΧΡΗΣΗ ΙΕΥΘΥΝΣΗ ΠΟΛΥΓΩΝΟ ΓΡΑΜΜΗ ΓΕΩΤΕΜΑΧΙΑ ΚΑΕΚ ΕΜΒΑ ΟΝ ΧΡΗΣΗ ΙΕΥΘΥΝΣΗ ΠΟΛΥΓΩΝΟ ΠΟΛΥΓΩΝΑ ΓΡΑΜΜΗ
Κανονικοποίηση σχέσεων 3ος κανόνας κανονικοποίησης (3NF) παράδειγµα ΓΕΩΤΕΜΑΧΙΑ ΚΑΕΚ ΕΜΒΑ ΟΝ ΧΡΗΣΗ ΙΕΥΘΥΝΣΗ ΠΟΛΥΓΩΝΟ ΓΡΑΜΜΗ 01.003.03.02.003 1.562 ΟΙΚΙΣΤΙΚΗ ΚΑΠΟ ΙΣΤΡΙΟΥ 32 Γ34567 01.003.03.02.003 1.562 ΟΙΚΙΣΤΙΚΗ ΚΑΠΟ ΙΣΤΡΙΟΥ 32 Γ34568 01.003.03.02.003 1.562 ΟΙΚΙΣΤΙΚΗ ΚΑΠΟ ΙΣΤΡΙΟΥ 32 Γ34569 01.003.03.02.003 1.562 ΟΙΚΙΣΤΙΚΗ ΚΑΠΟ ΙΣΤΡΙΟΥ 32 Γ34570 01.003.03.02.004 2.578 ΚΑΛΛΙΕΡΓΕΙΑ ΑΓ. ΝΙΚΟΛΑΟΥ 141 Π23457 Γ34570 01.003.03.02.004 2.578 ΚΑΛΛΙΕΡΓΕΙΑ ΑΓ. ΝΙΚΟΛΑΟΥ 141 Π23457 Γ34571 01.003.03.02.004 2.578 ΚΑΛΛΙΕΡΓΕΙΑ ΑΓ. ΝΙΚΟΛΑΟΥ 141 Π23457 Γ34572 01.003.03.02.004 2.578 ΚΑΛΛΙΕΡΓΕΙΑ ΑΓ. ΝΙΚΟΛΑΟΥ 141 Π23457 Γ34573 ΓΕΩΤΕΜΑΧΙΑ ΚΑΕΚ ΕΜΒΑ ΟΝ ΧΡΗΣΗ ΙΕΥΘΥΝΣΗ ΠΟΛΥΓΩΝΟ 01.003.03.02.003 1.562 ΟΙΚΙΣΤΙΚΗ ΚΑΠΟ ΙΣΤΡΙΟΥ 32 01.003.03.02.004 2.578 ΚΑΛΛΙΕΡΓΕΙΑ ΑΓ. ΝΙΚΟΛΑΟΥ 141 Π23457 ΠΟΛΥΓΩΝΑ ΓΡΑΜΜΗ Γ34567 Γ34568 Γ34569 Γ34570
Κανονικοποίηση µε απλά λόγια Κάθε γνώρισµα ανήκει στη σχέση που αντιστοιχεί στην οντότητα την οποία αυτό χαρακτηρίζει. Κάθε γνώρισµα, ως έννοια, υπάρχει µόνο µία φορά στη Β. Αποφεύγονται οι πλεονασµοί δεδοµένων. Τα κλειδιά προσδιορίζουν πλήρως τις εγγραφές στις οποίες ανήκουν Κάθε τιµή του ίδιου γνωρίσµατος αποθηκεύεται στη βάση µόνο µία φοράφ
Παράδειγµα κανονικοποίησης Έστω η σχέση MyFriends ΕΠΩΝΥΜΟ ΟΝΟΜΑ ΤΗΛΕΦΩΝΟ 1 Γεωργίου Γεώργιος 2101234567 2 Αντωνίου Αντώνιος 210754321 3 Βασιλείου Γεώργιος 2102223334 4 Βασιλείου Γεώργιος 2103322110 εν είναι κανονική διότι Το ίδιο ονοµατεπώνυµο που αντιστοιχεί στο ίδιο πρόσωπο, υπάρχει περισσότερες από µία φορές στη Β Το ίδιο όνοµα υπάρχει περισσότερες φορές στη Β Ο κωδικός δεν προσδιορίζει µοναδικά ένα πρόσωπο
Παράδειγµα κανονικοποίησης Μια «περισσότερο κανονική» µορφή Προσωπα 1 Ν Εχουν Τηλέφωνα ΕΠΩΝΥΜΟ ΟΝΟΜΑ ΚΩ.ΠΡΟΣΩΠΟΥ ΤΗΛΕΦΩΝΟ 1 Γεωργίου Γεώργιος 1 2101234567 2 Αντωνίου Αντώνιος 2 210754321 3 Βασιλείου Γεώργιος 3 2102223334 3 2103322110
Παράδειγµα κανονικοποίησης Η πλήρης κανονική µορφή ΜικράΟνόµατα 1 Ανήκουν_σε Ν Προσωπα 1 Ν Εχουν Τηλέφωνα Ν Επώνυµα 1 Ανήκουν_σε 10 20 ΕΠΩΝΥΜΟ Γεωργίου Αντωνίου 1 Κ.ΕΠΩΝ. 10 Κ.ΟΝΟΜ. 101 ΚΩ.ΠΡΟΣΩΠΟΥ 1 2 ΤΗΛΕΦΩΝΟ 2101234567 210754321 30 Βασιλείου 2 20 202 3 2102223334 3 30 101 3 2103322110 ΟΝΟΜΑ 101 Γεώργιος 202 Αντώνιος
Βάσεις δεδοµένων σύνοψη Οι Β είναι µια περιοχή της επιστήµης της πληροφορικής που ασχολείται µε: Την παράσταση των δεδοµένων ιάκριση σε κατηγορίες Απόδοση χαρακτηριστικών ιδιοτήτων σε κάθε κατηγορία Την οργάνωση των δεδοµένων Ταξινόµηση, οµαδοποίηση και δόµηση των δεδοµένων Εντοπισµός και η χρήση συσχετίσεων µεταξύ των δεδοµένων Η θεωρητική θεµελίωση των παραπάνω Την αποθήκευση των δεδοµένων Τρόπος καταγραφής τους στα µέσα µόνιµης αποθήκευσης των Η/Υ ιαδικασίες πρόσβασης και ανάκτησης Βελτιστοποίηση των επιδόσεων Την προτυποποίηση όλων των παραπάνω Την ανάπτυξη και χρήση εργαλείων για όλα τα παραπάνω
Βάσεις εδοµένων Αντικείµενα των Β που πρέπει να είµαστε σε θέση να αντιµετωπίσουµε Να διαβάσουµε ένα διάγραµµα οντοτήτων-συσχετίσεων Ποιες οντότητες περιέχει Ποια τα χαρακτηριστικά κάθε οντότητας Ποιες συσχετίσεις περιέχει Πώς οι συσχετίσεις µεταφέρονται στον πραγµατικό κόσµο (τι σηµαίνουν) Να σχεδιάσουµε ένα διάγραµµα οντοτήτων συσχετίσεων, κατά το δυνατόν κανονικό Χρήση εποπτικών ονοµάτων Ορισµός συσχετίσεων που ανταποκρίνονται στην πραγµατικότητα του προβλήµατος Απόδοση πεδίων µόνο εκεί που ανήκουν (όχι ξένα κλειδιά) Να κατανοήσουµε ένα σχήµα µιας σχεσιακής Β Ποιες είναι οι σχέσεις και τα πεδία κάθε µίας Ποιο είναι το κύριο κλειδί κάθε σχέσης Ποια είναι ξένα κλειδιά
Βάσεις εδοµένων Να µεταβούµε από το µοντέλο οντοτήτων-συσχετίσεων στο σχήµα µιας σχεσιακής βάσης δεδοµένων. Να αντιµετωπίσουµε στοιχειώδεις πράξεις της σχεσιακής άλγεβρας. Να διαβάσουµε µια εντολή SQL όταν µας είναι γνωστό το σχήµα της Β στην οποία αυτή αναφέρεται. Να αποφανθούµε για τις συσχετίσεις µεταξύ οντοτήτων, διαβάζοντας µια εντολή SQL. Να γράψουµε µια απλή εντολή SQL όταν γνωρίζουµε το σχήµα της Β. Να χρησιµοποιήσουµε τα βασικά γνωρίσµατα του συστήµατος Β MS Access. ηµιουργία πινάκων ηµιουργία queries (QBE, SQL) ηµιουργία φορµών και αναφορών Ορισµός συσχετίσεων
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Βάσεις εδοµένων The end