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

Σχετικά έγγραφα

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


Βάςεισ Δεδομζνων Ι. Ενότητα 12: Κανονικοποίηςη. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικών Πλθροφορικισ ΤΕ

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

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

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

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

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

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

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

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

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

Lecture 23: Functional Dependencies and Normalization

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων. Ενότητα 6: Κανονικοποίηση. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

Εισαγωγή στις Βάσεις Δεδομένων (ΒΔ)

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

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

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

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

Εισαγωγή στις Βάσεις Δεδομένων (ΒΔ)

Από το Μοντέλο Οντοτήτων Συσχετίσεων στο Σχεσιακό Μοντέλο

Εκπαιδευτικό Εργαλείο Κανονικοποίησης

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

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

ΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων Ι Εξεταστική Περίοδος Φεβρουαρίου 2006

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

Διδάσκοντες: Δ. Φωτάκης, Δ. Σούλιου Επιμέλεια διαφανειών: Δ. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Σχέσεις. Διμελής Σχέση. ΣτοΊδιοΣύνολο. Αναπαράσταση

Λίγα λόγια από το συγγραφέα...7

Σχεδίαση Βάσεων Δεδομένων

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Πρόλογος Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων Μια βόλτα στις βάσεις δεδομένων...25

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

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

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

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

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 2 24/01/2012

Σχέσεις. ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Βάσεις Δεδομένων. Εργαστήριο 1. Ηλεκτρονικοί Υπολογιστές ΙI. Ακαδημαϊκό Έτος Διαφάνεια 1. Κάπαρης Αναστάσιος

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

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

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

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

ΔΙΑΓΡΑΜΜΑ ΟΝΤΟΤΗΤΩΝ - ΣΥΣΧΕΤΙΣΕΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

Το Σχεσιακό Μοντέλο 2

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

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

Μάθημα: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Διδάσκων: Καθ. Ιωάννης Βασιλείου ΕΝΔΕΙΚΤΙΚΗ ΛΥΣΗ ΚΑΙ ΣΧΟΛΙΑ ΣΤΗΝ ΠΡΩΤΗ ΑΣΚΗΣΗ


ιµελής Σχέση ιατεταγµένο ζεύγος (α, β): ύο αντικείµενα (όχι κατ ανάγκη διαφορετικά) σε καθορισµένη σειρά. Γενίκευση: διατεταγµένη τριάδα (α, β, γ), δι

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

Σχεδίαση Βάσεων. Τεχνητά, Σύνθετα, και Δευτερεύοντα Μοναδικά Χαρακτηριστικά (UIDs, Unique IDentifiers) Artificial, Composite, and Secondary UIDs

2η ΔΙΑΛΕΞΗ Συναρτησιακές εξαρτήσεις

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

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

ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 2: Μοντελο Συσχετίσεων Οντοτήτων, Μελέτη Περίπτωσης: Η βάση δεδομένων των CD

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

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

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

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

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

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

Πεδία (Attributes) Συσχετίσεις (Relationships) Κλειδιά (Identifiers) Οντότητες είναι υποψήφια αρχεία

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

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

Βάσεις Δεδομένων 3η εργαστηριακή άσκηση

Μοντέλο αρχείων Οι βασικές έννοιες

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

Βενετόκλειο Λύκειο Ρόδου Εφαρμογές πληροφορικής Γ' Λυκείου. Εργαστηριακή Άσκηση

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

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

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

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

Transcript:

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

Κανονικοποίηση Κανονικές Μορφές Οι σχέσεις μπορούν να υπάγονται σε μία ή περισσότερες κατηγορίες (ή κλάσεις) που ονομάζονται Κανονικές Μορφές(normal forms). Κανονική Μορφή: Μία κλάση σχέσεων απαλλαγμένων από συγκεκριμένα προβλήματα τροποποιήσεων. Οι κανονικές Μορφές έχουν ονόματα όπως: Πρώτη κανονική μορφή (1NF) Δεύτερη κανονική μορφή (2NF) Τρίτη κανονική μορφή (3NF) Boyce-Coddκανονική μορφή (BCNF) Τέταρτη κανονική μορφή (4NF) Πέμπτη κανονική μορφή (5NF) Αυτές οι κανονικές μορφές είναι αθροιστικές. Μία σχέση που βρίσκεται σε Τρίτη κανονική μορφή είναι επίσης και σε δεύτερη και σε πρώτη 2

1 η Κανονική Μορφή Είναι μέρος του ορισμού μιας σχέσης Μία σχέση βρίσκεται σε πρώτη κανονική μορφή αν ικανοποιεί όλες τις ιδιότητες του ορισμού της σχέσης: Κάθε όνομα γνωρίσματος (στήλης) είναι μοναδικό. Όλες οι τιμές κάθε γνωρίσματος είναι ίδιου τύπου (ή πεδίου ορισμού). Κάθε τιμή γνωρίσματος είναι ατομική (μία τιμή και όχι ομάδα πολλών τιμών). Τα γνωρίσματα δεν έχουν διάταξη από τα αριστερά προς τα δεξιά. Οι συστοιχίες (σειρές) δεν έχουν διάταξη από επάνω προς τα κάτω. Δεν υπάρχουν δύο ίδιες συστοιχίες (σειρές) σε μία σχέση. Εάν υπάρχει καθορισμένο κλειδί για τη σχέση τότε ικανοποιείται η απαίτηση της μοναδικότητας των συστοιχιών (γραμμών του πίνακα). 3

1 η Κανονική Μορφή Ένας πίνακας σε πρώτη κανονική μορφή λέγεται κανονικοποιημένος πίνακας και τότε και μόνο τότε αντιστοιχεί σε μία σχέση (οι σχέσεις του σχεσιακού μοντέλου είναι στην 1η κανονική μορφή). Παράδειγμα σχέσης σε πρώτη κανονική μορφή: ΜΕΤΟΧΕΣ (Εταιρία, Σύμβολο, Ημερομηνία, Τιμή_Κλεισίματος) Εταιρεία Σύμβολο Ημερομηνία Τιμή_Κλεισίματος IBM IBM 01/05/99 101.00 IBM IBM 01/06/99 100.50 IBM IBM 01/07/99 102.00 Netscape NETS 01/05/99 33.00 Netscape NETS 01/06/99 112.00 4

1 η Κανονική Μορφή - Παράδειγμα ΟΝΟΜΑ ΕΠΩΝΥΜΟ ΗΜ ΓΕΝΝΗΣΗΣ ΣΥΜΒΟΥΛΟΣ ΤΗΛ ΣΥΜΒΟΥΛΟΥ ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ 1 ΠΕΡΙΓΡΑΦΗ ΜΑΘΗΜΑΤΟΣ 1 ΕΚΠΑΙΔΕΥΤΗΣ ΜΑΘΗΜΑΤΟΣ 1 ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ 2 ΠΕΡΙΓΡΑΦΗ ΜΑΘΗΜΑΤΟΣ 2 ΕΚΠΑΙΔΕΥΤΗΣ ΜΑΘΗΜΑΤΟΣ 2 Εδώ κάθε τιμή γνωρίσματος είναι ατομική αλλά επειδή πολλά πεδία είναι επαναλαμβανόμενα καταχωρούνται όλα σε ένα πεδίο το ΜΑΘΗΜΑ (ομάδα πολλών τιμών). Ο πίνακας ΜΑΘΗΜΑ μέσα στον πίνακα ΜΑΘΗΤΗΣ. Αυτό έρχεται σε σύγκρουση με την πρώτη κανονική μορφή. Διασπάμε έτσι τον αρχικό πίνακα σε δύο πίνακες (Μαθητών, Μαθημάτων) 5

1 η Κανονική Μορφή - Λύση ΠΙΝΑΚΑΣ ΜΑΘΗΤΩΝ ΟΝΟΜΑ ΕΠΩΝΥΜΟ ΗΜ ΓΕΝΝΗΣΗΣ ΣΥΜΒΟΥΛΟΣ ΤΗΛ ΣΥΜΒΟΥΛΟΥ ΠΙΝΑΚΑΣ ΜΑΘΗΜΑΤΩΝ ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΠΕΡΙΓΡΑΦΗ ΜΑΘΗΜΑΤΟΣ ΕΚΠΑΙΔΕΥΤΗΣ ΜΑΘΗΜΑΤΟΣ 6

2 η Κανονική Μορφή Μία σχέση βρίσκεται σε δεύτερη κανονική μορφή εάν είναι σε πρώτη και κάθε ένα από τα γνωρίσματά της που δεν είναι κλειδιά εξαρτώνται από ολόκληρο το πρωτεύων κλειδί και όχι μόνο από ένα τμήμα του (αφορά σχέσεις με σύνθετα πρωτεύοντα κλειδιά). Οι σχέσεις που έχουν μόνο ένα γνώρισμα σαν πρωτεύων κλειδί βρίσκονται αυτόματα και στη δεύτερη κανονική μορφή. Αυτός είναι ένας λόγος για τον οποίο χρησιμοποιούμε συχνά τεχνητά αναγνωριστικά σαν κλειδιά. 7

2 η Κανονική Μορφή Στον πίνακα Μαθημάτων μπορεί να δημιουργηθεί ένα μοναδικό πρωτεύον κλειδί που θα συνδυάζει το { + ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ} ( το δεν θα είναι μοναδικό κλειδί από μόνο του σε αυτόν τον πίνακα, γιατί ένας μαθητής μπορεί να έχει πολλά μαθήματα. Ανάλογα το ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ δεν θα είναι μοναδικό κλειδί από μόνο του σε αυτόν τον πίνακα, γιατί ένα μάθημα μπορεί να το έχουν πολλοί μαθητές. Τότε τα πεδία ΠΕΡΙΓΡΑΦΗ ΜΑΘΗΜΑΤΟΣ, ΕΚΠΑΙΔΕΥΤΗΣ ΜΑΘΗΜΑΤΟΣ είναι τα ίδια για κάθε μάθημα (εξαρτώνται μόνο από τον κωδικό Μαθητή) ανεξάρτητα από τον σπουδαστή που παίρνει το μάθημα. ΠΙΝΑΚΑΣ ΜΑΘΗΜΑΤΩΝ ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΠΕΡΙΓΡΑΦΗ ΜΑΘΗΜΑΤΟΣ ΕΚΠΑΙΔΕΥΤΗΣ ΜΑΘΗΜΑΤΟΣ 8

2 η Κανονική Μορφή - Λύση Για να βάλουμε την βάση σε δεύτερη κανονική μορφή πρέπει να δημιουργηθεί και ένας τρίτος πίνακας οπότε η δομή της βάσης δείχνει ως εξής: ΠΙΝΑΚΑΣ ΜΑΘΗΤΩΝ ΟΝΟΜΑ ΕΠΩΝΥΜΟ ΗΜ ΓΕΝΝΗΣΗΣ ΣΥΜΒΟΥΛΟΣ ΤΗΛ ΣΥΜΒΟΥΛΟΥ ΠΙΝΑΚΑΣ ΜΑΘΗΜΑΤΩΝ ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΠΕΡΙΓΡΑΦΗ ΜΑΘΗΜΑΤΟΣ ΕΚΠΑΙΔΕΥΤΗΣ ΜΑΘΗΜΑΤΟΣ ΠΙΝΑΚΑΣ ΜΑΘΗΤΩΝ-ΜΑΘΗΜΑΤΩΝ ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ Οι σχέσεις αυτές βρίσκονται και σε πρώτη και σε δεύτερη κανονική μορφή 9

3 η Κανονική Μορφή Μία σχέση βρίσκεται σε Τρίτη κανονική μορφή εάν είναι σε δεύτερη και δεν περιέχει μεταβατικές εξαρτήσεις. Δηλαδή κάθε γνώρισμα της που δεν είναι κλειδί πρέπει να είναι μη μεταβατικά εξαρτημένο από το πρωτεύον κλειδί δηλαδή κάθε γνώρισμα που δεν είναι κλειδί πρέπει να περιέχει πληροφορίες μόνο για την οντότητα που καθορίζεται από το πρωτεύον κλειδί Μεταβατική εξάρτηση: Τρία γνωρίσματα με τις παραπάνω εξαρτήσεις. Εάν Α->Β και Β->Γ τότε θα ισχύει και Α->Γ Π.χ. Σε μία πανεπιστημιακή σχολή θα ισχύει: Κωδικός_Μαθήματος ->Διδασκαλία_Μαθήματος ->Τάξη, Καθηγητής Άρα οι σχέσεις που έχουν μόνο δύο γνωρίσματα βρίσκονται αυτόματα και σε Τρίτη κανονική μορφή. 10

3 η Κανονική Μορφή ΠΙΝΑΚΑΣ ΜΑΘΗΤΩΝ ΟΝΟΜΑ ΕΠΩΝΥΜΟ ΗΜ ΓΕΝΝΗΣΗΣ ΣΥΜΒΟΥΛΟΣ ΤΗΛ ΣΥΜΒΟΥΛΟΥ Το πεδίο ΤΗΛ ΣΥΜΒΟΥΛΟΥ δεν περιέχει πληροφορίες για τους Μαθητές. Άρα πρέπει να δημιουργήσουμε και έναν ξεχωριστό πίνακα για τους Συμβούλους 11

3 η Κανονική Μορφή - Λύση ΠΙΝΑΚΑΣ ΜΑΘΗΤΩΝ ΟΝΟΜΑ ΕΠΩΝΥΜΟ ΗΜ ΓΕΝΝΗΣΗΣ ΚΩΔΙΚΟΣ ΣΥΜΒΟΥΛΟΥ ΠΙΝΑΚΑΣ ΜΑΘΗΜΑΤΩΝ ΠΙΝΑΚΑΣ ΜΑΘΗΤΩΝ-ΜΑΘΗΜΑΤΩΝ ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΠΕΡΙΓΡΑΦΗ ΜΑΘΗΜΑΤΟΣ ΕΚΠΑΙΔΕΥΤΗΣ ΜΑΘΗΜΑΤΟΣ ΠΙΝΑΚΑΣ ΣΥΜΒΟΥΛΩΝ ΚΩΔΙΚΟΣ ΣΥΜΒΟΥΛΟΥ ΟΝΟΜΑ ΣΥΜΒΟΥΛΟΥ ΤΗΛΕΦΩΝΟ ΣΥΜΒΟΥΛΟΥ 12