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

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

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

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

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

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

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

Συναρτησιακές και Πλειότιµες Εξαρτήσεις

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων : Λογικός Σχεδιασμός 1. καλών σχεσιακών σχημάτων. Λογικός Σχεδιασμός Σχεσιακών Σχημάτων. Γενικές Κατευθύνσεις.

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


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

Βάσεις εδοµένων. Συναρτησιακές Εξαρτήσεις (Functional Dependencies) Σχεδιασµός Βάσεων εδοµένων και. Κανονικοποίηση.

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

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

Λογικός Σχεδιασμός Σχεσιακών Σχημάτων: Αποσύνθεση

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

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

Lecture 21: Functional Dependencies and Normalization


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

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

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

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

Lecture 23: Functional Dependencies and Normalization

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

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

Κανονικές Μορφές. Συνενώσεις Άνευ Απωλειών. Προσοχή με τις τιμές null στην αποσύνθεση

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

Συναρτησιακές Εξαρτήσεις Σχεδιασμός Βάσεων Δεδομένων

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

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

Lecture 21: Functional Dependencies and Normalization

Κανονικοποίηση Σχήµατος

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

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

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

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

Βάσεις Δεδομένων Συναρτησιακές Εξαρτήσεις (Functional Dependencies) Σχεδιασμός Βάσεων Δεδομένων και Κανονικοποίηση

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

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

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

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

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

Lecture 22: Functional Dependencies and Normalization

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

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

Συναρτησιακές Εξαρτήσεις 7ο Φροντιστήριο. Βάρσος Κωνσταντίνος

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

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

Συναρτησιακές Εξαρτήσεις 7ο Φροντιστήριο. Βάρσος Κωνσταντίνος

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

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

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

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

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

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

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

Κανονικές Μορφές. Τι συμβαίνει με το (πρωτεύον) κλειδί και τις συναρτησιακές εξαρτήσεις; Παράδειγμα 1. Παράδειγμα 2

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

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

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

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

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

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

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

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

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

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

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

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

ΣΧΕ ΙΑΣΜΟΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις

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

Βάσεις εδοµένων Βασίλειος Βεσκούκης Κανονικοποίηση σχήµατος Β Σύνοψη

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

Lecture 24: Functional Dependencies and Normalization IV

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

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Κανονικές Μορφές (Normal Forms)

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

Μετασχηµατισµός διαγράµµατος ER σε σχεσιακό σχήµα Β

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

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

Σχεδιασμός μιας Β : Βήματα

Transcript:

Αξιολόγηση Σχεσιακών Σχηµάτων Β Κανονικοποίηση Παύλος Εφραιµίδης Βάσεις εδοµένων Κανονικοποίηση 1 Πως µπορούµε να κρίνουµε εάν ένα Σχεσιακό Σχήµα είναι καλό ή αποδοτικό ή αν έχει λάθη; Σε γενικές γραµµές διακρίνουµε: Λογικό Επίπεδο: Πόσο κατανοητό είναι για τους χρήστες Επίπεδο Υλοποίησης: Πως αποθηκεύονται και ενηµερώνονται οι πλειάδες (γραµµές) Θα ασχοληθούµε µε το επίπεδο υλοποίησης: Τη µορφή δηλαδή των σχέσεων του σχήµατος Βάσεις εδοµένων Κανονικοποίηση 2 Άτυπες Οδηγίες Ξεκινάµε µε ένα σύνολο από εµπειρικές άτυπες οδηγίες Σηµασιολογία των γνωρισµάτων Μείωση/Εξάλειψη περιττών τιµών Μείωση/Εξάλειψη τιµών NULL Εξάλειψη της δυνατότητας δηµιουργίας πλασµατικών πλειάδων (Αγγλικός Όρος: spurious tuples) Σηµασιολογία Γνωρισµάτων Τα γνωρίσµατα που εντάσσουµε σε µια σχέση θα πρέπει να έχουν κάποια πραγµατική σχέση µεταξύ τους και να µπορούν να ερµηνευτούν Γενικά όσο πιο κατανοητή είναι η ερµηνεία µιας Σχέσης (Πίνακας) τόσο καλύτερο είναι το τελικό Σχεσιακό Σχήµα που θα προκύψει Παράδειγµα: Η Σχέση Εργαζόµενος Βάσεις εδοµένων Κανονικοποίηση 3 Βάσεις εδοµένων Κανονικοποίηση 4 Περιττές Τιµές και Ανωµαλίες Ενηµέρωσης ΕΡΓ_ΕΡΓΟ ΑΡ_ΤΑΥΤ ΚΩ _ΕΡΓΟΥ Παράδειγµα ΩΡΕΣ ΕΡ_ΟΝΟΜΑ Ε_ΟΝΟΜΑ Μια σχέση που αντιστοιχεί στη Συνένωση Εργαζόµενος µε Τµήµα οδηγεί σε Επανάληψη της ίδιας πληροφορίας Ανωµαλίες κατά την ενηµέρωση Ανωµαλίες κατά τη διαγραφή και την ενηµέρωση Μια υποτιθέµενη σχέση ΕΡΓ_ΕΡΓΟ για τη βάση δεδοµένων ΕΤΑΙΡΕΙΑ Τα βέλη απεικονίζουν τις συναρτησιακές εξαρτήσεις µεταξύ των γνωρισµάτων που συµµετέχουν στη σχέση Είναι καλή επιλογή η σχέση αυτή; Θα εµφανίζονται περιττά δεδοµένα στη σχέση; Υπάρχει το ενδεχόµενο ασυνέπειας δεδοµένων στη σχέση για παράδειγµα κατά την ενηµέρωση των στοιχείων; Βάσεις εδοµένων Κανονικοποίηση 5 Βάσεις εδοµένων Κανονικοποίηση 6 1

Τιµές NULL Πιθανές ερµηνείες µιας τιµής NULL για ένα γνώρισµα στη σχέση (πίνακα): Το γνώρισµα δεν έχει νόηµα για τη γραµµή αυτή Η τιµή του γνωρίσµατος είναι άγνωστη Η τιµή του γνωρίσµατος είναι γνωστή αλλά δεν έχει εισαχθεί ακόµη στη Β Σχεδιάζουµε έτσι το σχεσιακό σχήµα µιας βάσης δεδοµένων ώστε να αποφεύγονται όσο είναι δυνατό οι εµφανίσεις της τιµής NULL µέσα στα πεδία των σχέσεων Βάσεις εδοµένων Κανονικοποίηση 7 Πλασµατικές Πλειάδες Η συνένωση µεταξύ των σχέσεων να γίνεται έτσι ώστε να µην δηµιουργούνται πλασµατικές (spurious) πλειάδες Συνένωση µε βάση κλειδιά ή ξένα κλειδιά Το πρόβληµα µπορεί να προκληθεί από µια κακή κατανοµή των γνωρισµάτων στις σχέσεις Βάσεις εδοµένων Κανονικοποίηση 8 Παράδειγµα Πλασµατικών Πλειάδων Έστω ότι χρησιµοποιούµε τις σχέσεις ΕΡΓ_ΤΟΠΣ και ΕΡΓ_ΕΡΓΟ1 αντί της αρχικής σχέσης ΕΡΓ_ΕΡΓΟ ΕΡΓ_ΤΟΠΣ ΕΡ_ΟΝΟΜΑ ΕΡΓ_ΕΡΓΟ1 ΑΡ_ΤΑΥΤ ΚΩ _ΕΡΓΟΥ ΩΡΕΣ Ε_ΟΝΟΜΑ Κοινό γνώρισµα: Αν όµως πάρουµε συνένωση των πινάκων µε βάση το γνώρισµα θα δηµιουργηθούν πιθανότατα και πλασµατικές πλειάδες! Βάσεις εδοµένων Κανονικοποίηση 9 Συναρτησιακή Εξάρτηση (1) Έστω A 1, A 2,.., A n το σύνολο όλων των γνωρισµάτων ενός σχεσιακού σχήµατος Σύνολο γνωρισµάτων X και Συναρτησιακή εξάρτηση Χ Υ Οι τιµές των γνωρισµάτων της X καθορίζουν τις τιµές των γνωρισµάτων της Y ύο πλειάδες µε τις ίδιες τιµές για τα γνωρίσµατα X θα πρέπει υποχρεωτικά να έχουν και τις ίδιες τιµές για τα Y Βάσεις εδοµένων Κανονικοποίηση 10 Συναρτησιακή Εξάρτηση (2) Παραδείγµατα: Για ένα αυτοκίνητο: Αριθµός Πινακίδας ΑΤ Ιδιοκτήτη Για ένα διαµέρισµα { ιεύθυνση, Αριθµός ιαµερίσµατος} ΑΤ Ιδιοκτήτη Για µια οµάδα ποδοσφαίρου Οµάδα, Σεζόν, Αριθµός Φανέλας Όνοµα Παίκτη Συναρτησιακή Εξάρτηση (3) Σχετίζεται άµεσα µε την έννοια του (υποψήφιου) κλειδιού Οι συναρτησιακές εξαρτήσεις προσδιορίζονται από τη σηµασιολογία των γνωρισµάτων Παράδειγµα: ΑΡ_ΤΑΥΤ ΟΝΟΜΑ KWD_ERGOY {E_ONOMA, TOP_ERGOY} {AR_TAYT, KWD_ERGOY} WRES Βάσεις εδοµένων Κανονικοποίηση 11 Βάσεις εδοµένων Κανονικοποίηση 12 2

Ιδιότητες Συναρτησιακών Εξαρτήσεων Ανακλαστική: If X Y X Y Επαυξητική: {Χ Υ} ΧΖ ΥΖ Μεταβατική: {Χ Υ,Υ Ζ} Χ Ζ ιασπαστική: {Χ ΥΖ} Χ Υ Ενωτική: {Χ Υ,Χ Ζ} Χ ΥΖ Ψευδοµεταβατική: {Χ Υ,WY Ζ} WΧ Ζ Κλειστότητα (1) Έστω ένα σύνολο γνωρισµάτων Χ Με Χ + δηλώνουµε όλες τις συναρτησιακές εξαρτήσεις που προκύπτουν για το Χ Βάσεις εδοµένων Κανονικοποίηση 13 Βάσεις εδοµένων Κανονικοποίηση 14 Κλειστότητα (2) F= { SSN ENAME, PNUMBER {PNAME, PLOCATION}, {SSN, PNUMBER} HOURS} {SSN} + = {SSN, ENAME} {PNUMBER} + = {PNUMBER, PNAME, PLOCATION} {SSN, PNUMBER} + = {SSN,PNUMBER,ENAME,PNAME,PLOCATION,H OURS} Σχεδιασµός Σχεσιακού Σχήµατος Στην πράξη ένα σχεσιακό σχήµα συνήθως σχεδιάζεται µε έναν από τους ακόλουθους τρόπους: Εννοιολογικός Σχεδιασµός πχ. µε το Μοντέλο Ο-Σ και απεικόνιση του µοντέλου σε Σχεσιακό Σχήµα Απευθείας σχεδίαση των Σχέσεων του Σχήµατος Πως θα αξιολογήσουµε µετά το σχεσιακό σχήµα µε κάποιο αυστηρό µαθηµατικό τρόπο; Βάσεις εδοµένων Κανονικοποίηση 15 Βάσεις εδοµένων Κανονικοποίηση 16 Κανονικές Μορφές Ένα Σχεσιακό Σχήµα που ικανοποιεί συγκεκριµένους κανόνες λέµε ότι είναι σε κάποια συγκεκριµένη κανονική µορφή Ονοµασία των Κανονικών Μορφών Πρώτη, εύτερη, Τρίτη, BNF, κτλ. Προτάθηκαν από τον Codd το 1972 µαζί µε το Σχεσιακό Μοντέλο Κανονικοποίηση (1) Ηδιαδικασία για τη διάσπαση των δεδοµένων σχεσιακών σχηµάτων έτσι ώστε να ικανοποιούνται ορισµένες επιθυµητές ιδιότητες Η κανονικοποίηση βασίζεται στις συναρτησιακές εξαρτήσεις και τα πρωτεύοντα κλειδιά Βάσεις εδοµένων Κανονικοποίηση 17 Βάσεις εδοµένων Κανονικοποίηση 18 3

Κανονικοποίηση (2) Η χρήση κανονικοποίησης δεν αρκεί από µόνη της για να εγγυηθεί σωστά και αποδοτικά σχεσιακά σχήµατα Πρέπει να εξασφαλίζεται επιπλέον lossless join (να µη δηµιουργούνται πλασµατικές πλειάδες) dependency preservation (να διατηρούνται οι συναρτησιακές εξαρτήσεις) Αποκανονικοποίηση (Denormalization) Σε ορισµένες περιπτώσεις µπορεί να επιλέξουµε να µην κανονικοποιήσουµε πλήρως µέχρι κάποιο βαθµό, πχ 3NF αλλά να σταµατήσουµε στο 2NF για ορισµένες τουλάχιστον σχέσεις Μπορεί να εξασφαλίζουµε µεγαλύτερη απόδοση για ορισµένες πράξεις Βάσεις εδοµένων Κανονικοποίηση 19 Βάσεις εδοµένων Κανονικοποίηση 20 Κλειδιά µιας Σχέσης Υπερκλειδί: Σύνολο γνωρισµάτων που είναι µοναδικό για τις πλειάδες (γραµµές) της σχέσης Υποψήφιο Κλειδί: Υπερκλειδί που δεν έχει κανένα περιττό γνώρισµα ή αλλιώς αν αφαιρεθεί οποιοδήποτε γνώρισµα παύει να είναι κλειδί Πρωτεύον Κλειδί: Ένα από τα υποψήφια κλειδιά επιλέγεται ως το πρωτεύον κλειδί ευτερεύοντα Κλειδιά: Υποψήφια κλειδιά που δεν έχουν επιλεγεί ως πρωτεύοντα Πρώτη Κανονική Μορφή (1NF) Είναι απλή: Επιτρέπονται µόνο ατοµικές τιµές για τα γνωρίσµατα Ουσιαστικά δεν επιτρέπονται πλειότιµα γνωρίσµατα, σύνθετα γνωρίσµατα και συνδυασµοί τους Κανονικοποίηση: Πως χειριζόµαστε σύνθετα ή πλειότιµα γνωρίσµατα Βάσεις εδοµένων Κανονικοποίηση 21 Βάσεις εδοµένων Κανονικοποίηση 22 εύτερη Κανονική Μορφή (2NF) εύτερη Κανονική Μορφή (2NF) ΕΡΓ_ΕΡΓΟ ΑΡ_ΤΑΥΤ ΚΩ _ΕΡΓΟΥ ΩΡΕΣ ΕΡ_ΟΝΟΜΑ Ε_ΟΝΟΜΑ Περιλαµβάνει την 1NF Επιπλέον επιβάλλει πλήρη συναρτησιακή εξάρτηση Άτυπη περιγραφή: εν επιτρέπεται σε µια σχέση ένα µη πρωτεύον γνώρισµα να εξαρτάται από ένα µέρος του κλειδιού µόνο Κάθε γνώρισµα που δεν ανήκει στο κλειδί πρέπει να είναι fully functional dependent στο πρωτεύον κλειδί EP1 ΑΡ_ΤΑΥΤ ΚΩ _ΕΡΓΟΥ ΩΡΕΣ EP3 ΚΩ _ΕΡΓΟΥ Ε_ΟΝΟΜΑ EP2 ΑΡ_ΤΑΥΤ ΕΡ_ΟΝΟΜΑ Βάσεις εδοµένων Κανονικοποίηση 23 Βάσεις εδοµένων Κανονικοποίηση 24 4

Τρίτη Κανονική Μορφή (3NF) Τρίτη Κανονική Μορφή (3NF) ΕΡΓ_ΤΜΗΜΑ Περιλαµβάνει τη 2NF Αφορά την έννοια της Μεταβατικής Εξάρτησης Άτυπη περιγραφή: εν πρέπει να υπάρχει µεταβατική εξάρτηση από το πρωτεύον κλειδί σε ένα γνώρισµα που δεν ανήκει στο κλειδί ΕΡ_ΟΝΟΜΑ ΑΡ_ΤΑΥΤ ΗΜ_ΓΕΝ ΙΕΥΘΥΝΣΗ ΚΩ _ΤΜΗΜ Τ_ΟΝΟΜΑ ΕΕ1 ΕΡ_ΟΝΟΜΑ ΑΡ_ΤΑΥΤ ΗΜ_ΓΕΝ ΙΕΥΘΥΝΣΗ ΚΩ _ΤΜΗΜ ΕΕ2 ΚΩ _ΤΜΗΜ Τ_ΟΝΟΜΑ ΙΕΥΘΥΝΤΗΣ ΙΕΥΘΥΝΤΗΣ Βάσεις εδοµένων Κανονικοποίηση 25 Βάσεις εδοµένων Κανονικοποίηση 26 Άσκηση Κανονικοποίησης Θεωρείστε τη σχέση R = {A, B, C, D, E, F, G, H, I, J} και το σύνολο των συναρτησιακών εξαρτήσεων F = {{A} {D,E}, {A,B} {H,J}, {E} {F}, {B} {C}}. 3a. Να βρείτε ένα πρωτεύον κλειδί για την R 3b. Να κανονικοποιηθεί η R σε 2NF 3c. Να κανονικοποιηθεί η R σε 3NF Λύση: 3a. Προφανές Υπερκλειδί για την R είναι το K:= {A,B,C,D,E,F,G,H,I,J} εν µπορούµε να αφαιρέσουµε τα A, B, G, I Τα D, E µπορούν να αφαιρεθούν διότι A D,E Τα H, J µπορούν να αφαιρεθούν διότι A,B H,J Επίσης το F διότι E F και το C διότι B C Η κλειστότητα (A, B, G, I)+ µε βάση την F είναι {A, B, C, D, E, F, G, H, I, J} και εποµένως το {A, B, G, I} είναι ένα υποψήφιο κλειδί για την R 3b. Κανονικοποίηση σε 2NF R1(A, D, E, F), R2(A, B, H, J) και R3(B, C) 3c. Κανονικοποίηση σε 3NF R1(A, D, E), R2(E, F), R3(A, B, H, J) και R4(B, C) Βάσεις εδοµένων Κανονικοποίηση 27 5