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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΜΑΘΗΜΑ 5.
Advertisements

ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ 2 ΜΑΘΗΜΑ 4.
Κανονικές Μορφές Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Λογικός Σχεδιασμός Σχεσιακών Σχημάτων: Αποσύνθεση.
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Σχεσιακό Μοντέλο Δαμιανός Χατζηαντωνίου
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΜΑΘΗΜΑ 2. ΣΧΕΣΙΑΚΗ ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ • Μια σχεσιακή ΒΔ καταγράφει δεδομένα μέσα σε σχέσεις (πίνακες). • Μια πραγματική οντότητα γίνεται.
Μοντέλο Οντοτήτων-Συσχετίσεων
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεδιασμός μιας ΒΔ ανάλυση ποιας πληροφορίας και της σχέσης ανάμεσα στα στοιχεία της περιγραφή.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Συναρτησιακές Εξαρτήσεις.
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΜΑΘΗΜΑ 3.
Περιεχόμενα Λογικός Σχεδιασμός (Σχεσιακό Μοντέλο) Εισαγωγικά
ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ (Normalization)
ανώτερες κανονικές μορφές
Βάσεις Δεδομένων Ι Ενότητα 9: Πρόσθετη κανονικοποίηση: κανονικές μορφές 1 η, 2 η, 3 η και ΚΜ-BC Γεωργία Γκαράνη Επίκουρος Καθηγήτρια Τμήμα Μηχανικών Πληροφορικής.
Βάσεις Δεδομένων II Ενότητα 2: Το μοντέλο οντοτήτων/συσχετίσεων
Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση
Εννοιολογική αναπαράσταση δεδομένων. Οντότητα Είναι κάθε αντικείμενο, πρόσωπο, γεγονός κατάσταση ή και αφηρημένη έννοια που προσδιορίζεται από την ανεξάρτητη.
Δημιουργία Σχεσιακού μοντέλου από ERD
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Κανονικές Μορφές.

Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Συναρτησιακές Εξαρτήσεις.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Σχεσιακή Άλγεβρα.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Συναρτησιακές Εξαρτήσεις.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Κανονικοποίηση Σχήματος.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Συναρτησιακές Εξαρτήσεις.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Λογικός Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεδιασμός μιας ΒΔ ανάλυση ποιας πληροφορίας και της σχέσης ανάμεσα στα στοιχεία της περιγραφή.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεδιασμός μιας ΒΔ ανάλυση ποιας πληροφορίας και της σχέσης ανάμεσα στα στοιχεία της περιγραφή.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Λογικός Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Κανονικοποίηση Σχήματος.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Συναρτησιακές Εξαρτήσεις.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Λογικός Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Κανονικές Μορφές.
8 Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση  Πλεονασμός δεδομένων  Συναρτησιακές εξαρτήσεις  Κλειστότητα συναρτησιακών εξαρτήσεων  Κανονικές μορφές.
Βάσεις Δεδομένων ER-Διάγραμμα.
Βάσεις Δεδομένων Κανονικοποιήσεις. Σχεδιασμός Σχεσιακού Σχήματος Ένα σχεσιακό σχήμα για να είναι «καλά σχεδιασμένο» πρέπει να πληρούνται κάποιες προϋποθέσεις.
Βάσεις Δεδομένων Ενότητα 6: Κανονικοποίηση Αθανάσιος Σπυριδάκος
Κεφάλαιο 7 Εισαγωγή στις βάσεις δεδομένων ISBN Εισαγωγή Η θεωρία της κανονικοποίησης υποστηρίζει την εύρεση της πλέον κατάλληλης εννοιολογικής.
Βάσεις Δεδομένων Κεφ. 1 Πλεονεκτήματα Β.Δ. έναντι αρχείων Βασικές λειτουργίες Β.Δ. Εφαρμογές Β.Δ. στην καθημερινή ζωή.
Βάσεις Δεδομένων Ι 4η διάλεξη
Σχεσιακό Μοντέλο Δεδομένων
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Η φάση του εννοιολογικού σχεδιασμού
Από το Μοντέλο Οντοτήτων Συσχετίσεων στο Σχεσιακό Μοντέλο
Βάσεις Δεδομένων και web-based Εφαρμογές
Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL
Εφαρμογή Κανονικοποίησης
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Συναρτησιακές Εξαρτήσεις
Βάσεις Δεδομένων και web-based Εφαρμογές
Κανονικοποίηση ΤΙ ΕΙΝΑΙ ; Τεχνική Διαδικασία
Κανονικοπηση(normalization)
Κανονικοποίηση 1η, 2η και 3η Κανονική Μορφή
Σχεσιακεσ βασεισ δεδομενων
ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Ενότητα 5: Σχεδίαση βάσεων δεδομένων - Κανονικοποίηση Χ. Σκουρλάς
Μεταγράφημα παρουσίασης:

Κανονικοποίηση, συναρτησιακές εξαρτήσεις Βάσεις Δεδομένων I Κανονικοποίηση, συναρτησιακές εξαρτήσεις ΥΠΕΥΘΥΝΟΣ: Θ. ΜΑΝΑΒΗΣ tmanavis@ist.edu.gr T Manavis

Υπερκλειδιά – Υποψήφια κλειδιά – Πρωτεύοντα κλειδιά 4/21/2017 Υπερκλειδιά – Υποψήφια κλειδιά – Πρωτεύοντα κλειδιά Ένα ΓΝΩΡΙΣΜΑ (ή σύνολο Γνωρισμάτων) ενός Τύπου Οντοτήτων / Συσχετίσεων για το οποίο κάθε οντότητα / συσχέτιση στο σύνολο πρέπει να έχει μοναδική τιμή (unique value(s) είναι ένα ΥΠΕΡΚΛΕΙΔΙ (superkey). Ενδεικτικά, ΑΦΜ του ΥΠΑΛΛΗΛΟΥ, ΟΝΟΜΑ και ΔΙΕΥΘΥΝΣΗ του ΥΠΑΛΛΗΛΟΥ, ΑΦΜ και ΟΝΟΜΑ, κλπ. Ένα ΥΠΟΨΗΦΙΟ ΚΛΕΙΔΙ (candidate key) είναι ένα ΕΛΑΧΙΣΤΟ (minimal) (δηλαδή με το μικρότερο αριθμό γνωρισμάτων) ΚΛΕΙΔΙ (δηλαδή, κανένα υποσύνολο των γνωρισμάτων του δεν μπορεί να είναι και αυτό κλειδί) Ενδεικτικά, ΑΦΜ είναι Υποψήφιο Κλειδί για τον ΥΠΑΛΛΗΛΟ, αλλά ο συνδυασμός {ΑΦΜ, ΟΝΟΜΑ} δεν είναι.

Υποψήφια Κλειδιά, χαρακτηριστικά Τα γνωρίσματα που συνιστούν ένα υποψήφιο κλειδί προσδιορίζουν με μοναδικό τρόπο κάθε πλειάδα (tuple) στη σχέση (πίνακα) Μία σχέση μπορεί να περιέχει ένα, δύο ή περισσότερα υποψήφια κλειδιά (π.χ. ΑΦΜ, Αριθμός Δελτίου Ταυτότητας) Συχνά, ένα υποψήφιο κλειδί αποτελείται από ένα μόνο γνώρισμα, γιά παράδειγμα αριθμός διαβατηρίου Παρόλα αυτά είναι σύνηθες για ένα υποψήφιο κλειδί να αποτελείται από δύο ή περισσότερα γνωρίσματα, για παράδειγμα, ο αριθμός μητρώου φοιτητή και ο κωδικός μαθήματος σε ένα πίνακα με τους βαθμούς των φοιτητών.

Επιλογή πρωτεύοντος κλειδιού Οποιοδήποτε από τα υποψήφια κλειδιά μπορεί να γίνει πρωτεύον κλειδί. Επιλέγουμε λοιπόν ως πρωτεύον κλειδί εκείνο το υποψήφιο κλειδί το οποίο είναι πιο λογικό από πρακτικής απόψεως.

ΣΥΝΑΡΤΗΣΙΑΚΕΣ ΕΞΑΡΤΗΣΕΙΣ (FD) 4/21/2017 ΣΥΝΑΡΤΗΣΙΑΚΕΣ ΕΞΑΡΤΗΣΕΙΣ (FD) Οι Συναρτησιακές Εξαρτήσεις (Functional Dependencies – FD) είναι το πιο κοινό τυπικό μέτρο του “καλού” για Σχεσιακούς Σχεδιασμούς Χρησιμοποιούνται για τον ορισμό των Κανονικών Μορφών για Σχέσεις Μια FD αποτελεί έναν περιορισμό για όλα τα στιγμιότυπα της Σχέσης r(R), αλλά είναι μια ιδιότητα των γνωρισμάτων στο Σχήμα R ΤΥΠΙΚΟΣ ΟΡΙΣΜΟΣ: Έστω X, Y σύνολα Γνωρισμάτων στο Σχήμα Σχέσης (relational schema) R. Λέμε ότι η Συναρτησιακή Εξάρτηση (FD): X ® Y ισχύει αν η X-τιμή καθορίζει μοναδικά την Y-τιμή.

ΣΥΝΑΡΤΗΣΙΑΚΕΣ ΕΞΑΡΤΗΣΕΙΣ, ορισμοί 4/21/2017 ΣΥΝΑΡΤΗΣΙΑΚΕΣ ΕΞΑΡΤΗΣΕΙΣ, ορισμοί ΕΝΑΛΛΑΚΤΙΚΟΣ ΟΡΙΣΜΟΣ: Έστω X, Y σύνολα Γνωρισμάτων στο Σχήμα Σχέσης R. Λέμε ότι η Συναρτησιακή Εξάρτηση (FD): X ® Y ισχύει αν, όποτε δύο πλειάδες σε ένα στιγμιότυπο r(R) έχουν την ίδια τιμή για το X, τότε πρέπει να έχουν την ίδια τιμή για το Y Δηλαδή: για οποιεσδήποτε δύο πλειάδες t1 , t2 σε κάθε σχέση r(R): Αν t1 [X] = t2 [X] τότε t1 [Y] = t2 [Y] Αν το Κ είναι Κλειδί στην R, τότε το K εξαρτά συναρτησιακά ΟΛΑ τα Γνωρίσματα στην R (μια και δεν μπορούμε ποτέ να έχουμε διακριτές πλειάδες t1, t2 με t1 [K] = t2 [K] )

Κριτήρια Σχεδιασμού (1) 4/21/2017 Κριτήρια Σχεδιασμού (1) Προσπάθεια για Εννοιολογική Καθαρότητα Ανεπίσημα (και στην ιδανική περίπτωση), κάθε πλειάδα πρέπει να παριστά ακριβώς μια οντότητα ή ένα στιγμιότυπο συσχέτισης (π.χ. μια πλειάδα/γραμμή στον πίνακα «ΦΟΙΤΗΤΗΣ» αφορά έναν συγκεκριμένο φοιτητή και μόνο Με άλλα λόγια, οι πλειάδες δεν πρέπει να είναι υπερφορτωμένες με εννοιολογική πληροφορία (δηλαδή, δεν πρέπει να παριστούν περισσότερα του ενός γεγονότα) Διακριτές οντότητες δεν πρέπει να αναμιγνύονται – ο μόνος τρόπος για ένδο-αναφορές μεταξύ Σχέσεων πρέπει να είναι το “εξωτερικό κλειδί” Προσπάθεια για αποδοτικότητα χώρου (αποφυγή πλεονασμού) Πλεόνασμα χώρου (redundancy) σημαίνει Χάσιμο χώρου Το Πλεόνασμα επιφέρει ανωμαλίες (ονομάζονται, ανωμαλίες ενημέρωσης - update anomalies)

Κριτήρια Σχεδιασμού (2) 4/21/2017 Κριτήρια Σχεδιασμού (2) Προσπάθεια για ακεραιότητα (αποφυγή ανωμαλιών ενημέρωσης) Η ακεραιότητα της Βάσης φθείρεται όταν συμβαίνουν ανωμαλίες εισαγωγής, διαγραφής και τροποποίησης Έχουμε ανωμαλία όταν μια ενημέρωση σε ένα σημείο επιφέρει έναν μη-προσδιορίσιμο αριθμό ενημερώσεων σε άλλα σημεία της Βάσης. Προσπάθεια για πληρότητα (αποφυγή NULL τιμών σε πλειάδες) Οι τιμές Null σημαίνουν “έλλειψη γνώσης” ή “μη-εφαρμοσιμότητα” και συχνά προκαλούν λάθη σε ερωτήσεις

Ιδιότητες των συναρτησιακών εξαρτήσεων (1) 4/21/2017 Ιδιότητες των συναρτησιακών εξαρτήσεων (1) Τετριμμένη Συναρτησιακή Εξάρτηση: Όποτε Y Í X, τότε X ® Y Παράδειγμα: SSN, Salary ® Salary Πλήρης Συναρτησιακή Εξάρτηση: Λέμε ότι ένα σύνολο γνωρισμάτων Y είναι πλήρως εξαρτώμενο συναρτησιακά από ένα σύνολο X, αν είναι συναρτησιακά εξαρτώμενο από το X και δεν είναι συναρτησιακά εξαρτώμενο από κάποιο υποσύνολο του X, Δηλαδή, το Y είναι πλήρως εξαρτώμενο συναρτησιακά από το X, αν X ® Y και δεν υπάρχει W έτσι ώστε W Ì X and W ® Y Παράδειγμα: SSN, PNumber ® HoursPW

Ιδιότητες των συναρτησιακών εξαρτήσεων (2) 4/21/2017 Ιδιότητες των συναρτησιακών εξαρτήσεων (2) Μερική Εξάρτηση: Σαν συνέπεια του παραπάνω ορισμού, λέμε ότι το Y είναι μερικώς εξαρτώμενο από το X, αν X ® Y και δεν υπάρχει κάποιο W έτσι ώστε W Ì X και W ® Y Παράδειγμα: SSN,Salary ® Address (αλλά και, SSN ® Address) Μεταβατική Εξάρτηση: Μια συναρτησιακή εξάρτηση X ® Z είναι μεταβατική αν μπορεί να προέλθει / απορρέει από δύο άλλες FD με μεταβατικότητα (X ® Y και Y ® Z ) Παράδειγμα: SSN ® DNumber και DNumber ® MgrSSN, συνεπάγονται: SSN ® MgrSSN Πρωτεύον Γνώρισμα: Ένα Γνώρισμα που είναι μέλος κάποιου υποψήφιου κλειδιού

4/21/2017 ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ Η διαδικασία της Κανονικοποίησης ενσωματώνει την εννοιολογική έννοια της FD στα Σχήματα Σχέσεων. Υπάρχουν Κανονικές Μορφές Σχημάτων, όπου τα παρακάτω αποδεικνύονται: ΟΛΕΣ οι ΣΧΕΣΕΙΣ 1NF 2NF 3NF BCNF 4NF 5NF

Πρώτη κανονική μορφή (1NF) 4/21/2017 Πρώτη κανονική μορφή (1NF) Η 1ΚΝ θεωρείται τμήμα του τυπικού ορισμού μίας σχέσης και ορίζει ότι τα χαρακτηριστικά περιλαμβάνουν μόνο ατομικές (απλές, αδιαίρετες) τιμές. Κάθε εγγραφή πρέπει να είναι μοναδική. Αυτό το διασφαλίζει το πρωτεύον κλειδί. Δεν υπάρχουν σύνθετα χαρακτηριστικά Δεν υπάρχουν χαρακτηριστικά πολλαπλών τιμών.

Πρώτη κανονική μορφή (1NF), παράδειγμα 4/21/2017 Πρώτη κανονική μορφή (1NF), παράδειγμα Οι παρακάτω δύο σχέσεις ΔΕΝ είναι σε 1η κανονική μορφή:

Δεύτερη κανονική μορφή (2NF) 4/21/2017 Δεύτερη κανονική μορφή (2NF) Ένας πίνακας που είναι σε 1NF είναι και σε 2NF όταν ισχύει οποιοδήποτε από τα εξής: το πρωτεύον κλειδί αποτελείται από ένα και μόνο χαρακτηριστικό, ο πίνακας δεν έχει χαρακτηριστικά που δεν ανήκουν στο κλειδί (all-key relation), ή κάθε χαρακτηριστικό που δεν είναι κλειδί, είναι πλήρως συναρτησιακά εξαρτώμενο από το πρωτεύον κλειδί.

Δεύτερη κανονική μορφή (2NF), παράδειγμα 4/21/2017 Δεύτερη κανονική μορφή (2NF), παράδειγμα Εστω το επόμενο σχήμα σε 1NF: Η μετατροπή του παραπάνω σχήματος, δίνει τελικά το ακόλουθο σχήμα, το οποίο ΕΙΝΑΙ ΣΕ 2NF:

Τρίτη κανονική μορφή (3NF) 4/21/2017 Τρίτη κανονική μορφή (3NF) Ορισμός: Η σχέση R είναι σε 3NF αν είναι σε 2NF και κανένα μη-πρωτεύον γνώρισμα δεν είναι μεταβατικά εξαρτώμενο από ένα υποψήφιο κλειδί Παράδειγμα: Η Σχέση: ED(SSN, EName, Salary, DNumber, DName, Location, MgrSSN) είναι σε 2NF ΑΛΛΑ ΔΕΝ ΕΙΝΑΙ σε 3NF, διότι Το SSN είναι (το μόνο) υποψήφιο κλειδί και έχουμε: SSN ® Dnumber και DNumber ® MgrSSN (δηλαδή, το MgrSSN είναι μεταβατικά εξαρτώμενο από το SSN) (σημείωση: SSN είναι το social security number, κάτι σαν το ΑΦΜ, ενός εργαζόμενου, Dnumber είναι ο αριθμός του τμήματος που εργάζεται ο εργαζόμενος και MgrSSN είναι το SSN του manager που διοικεί ένα τμήμα)

Παραδείγματα Κανονικοποίησης 4/21/2017 Παραδείγματα Κανονικοποίησης Για περισσότερα παραδείγματα, δέστε το συνοδευτικό αρχείο: [Παραδείγματα Κανονικοποίησης.pdf]

4/21/2017 Αναφορές Για τη δημιουργία των παραπάνω σημειώσεων χρησιμοποίηθηκε και υλικό από: DeLAB, Aristotle University Department of Informatics TEI Κεντρικής Μακεδονίας, Τμήμα Μηχανικών Πληροφορικής Πανεπιστήμιο Ιωαννίνων, Τμήμα Μηχανικών Η/Υ και Πληροφορικής 18