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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Lecture 23: Functional Dependencies and Normalization

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

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

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

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

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

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

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

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

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

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

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων : Σχεσιακή Άλγεβρα 1

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

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

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

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

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

Εισαγωγή στην πληροφορική

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

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

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

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

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 10: Εισαγωγικά περί κανονικοποίησης Συναρτησιακές εξαρτήσεις BCNF. Ευαγγελίδης Γεώργιος Τμήμα Εφαρμοσμένης Πληροφορικής

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

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

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


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

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

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

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

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

Lecture 24: Functional Dependencies and Normalization IV

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων

Κλείσιμο Συνόλου Γνωρισμάτων

Σχεσιακή Άλγεβρα. Εισαγωγή. Εισαγωγή. Εισαγωγή. Παράδειγμα. Εισαγωγή. Ταινία Τίτλος Έτος Διάρκεια Είδος. Παίζει Όνομα-Ηθοποιού Τίτλος Έτος.

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα

Βάσεις Δεδομένων Ι Θεωρία Σχεδίασης ΣΒΔ. (Σχεσιακών Βάσεων Δεδομένων) Α' Μέρος. Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ

Lecture 21: Functional Dependencies and Normalization

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

Σχεσιακή Άλγεβρα. Προγράμματα που απαντούν σε επερωτήσεις για τον τρέχον στιγμιότυπο της βάσης δεδομένων (querying)

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

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

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

Διαχείριση Δεδομένων

Η SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα)

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

Βάσεις εδοµένων Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

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

Transcript:

Κανονικές Μορφές: Εισαγωγή Κανονικές Μορφές Στόχος: οσμένου ενός σχήματος, αν είναι «καλό» ή χρειάζεται περαιτέρω διάσπαση. Πως; Κανονικές μορφές. Ξέρουμε ότι αν ένα σχήμα είναι σε κάποια Κανονική Μορφή δεν υπάρχουν συγκεκριμένα προβλήματα Με φθίνουσα σειρά (από την πιο περιοριστική στη λιγότερο περιοριστική) BCNF 3NF 2NF 1NF Βασίζεται σε Σ.Ε., οι Σ.Ε. έχουν σχέση με την επανάληψη πληροφορίας Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Κανονικές Μορφές: Εισαγωγή Πλεονασμός (επανάληψη πληροφορίας) Ταινία Τίτλος Έτος Διάρκεια Είδος Όνομα-Ηθοποιού Τι συμβαίνει με το (πρωτεύον) κλειδί και τις συναρτησιακές εξαρτήσεις; Ένα σχεσιακό σχήμα R είναι σε Κανονική Μορφή Boyce-Codd (BCNF) σε σχέση με ένα σύνολο F συναρτησιακών εξαρτήσεων αν για όλες τις ΣΕ στο F + της μορφής X Y ισχύει τουλάχιστον ένα από τα παρακάτω: -- X Y είναι μια τετριμμένη ΣΕ ή -- X είναι υπερκλειδί του σχήματος R ηλαδή το αριστερό μέρος κάθε μη τετριμμένης ΣΕ πρέπει να περιέχει ένα κλειδί Το σχήμα μιας Β είναι σε BCNF αν το σχήμα κάθε σχέσης της είναι σε BCNF. Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 3 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 4 1 Ταινία (Τίτλος, Έτος, ιάρκεια, Είδος, Όνομα-Ηθοποιού) 2 Ταινία2 (Τίτλος, Έτος, ιάρκεια, Είδος) Ησχέση Ταινία δεν είναι σε BCNF (υποψήφιο) κλειδί: {Τίτλος, Έτος, Όνομα-Ηθοποιού} Για παράδειγμα η ΣΕ Τίτλος Έτος ιάρκεια Ησχέση Ταινία2 είναι σε BCNF 3 Οποιαδήποτε σχέση με δύο γνωρίσματα είναι σε BCNF Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 5 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 6 1

Αλγόριθμος Αποσύνθεσης σε BCNF Βρες μια μη τετριμμένη ΣΕ που παραβιάζει τον BCNF ορισμό, έστω X Y και Χ Υ = Αποσύνθεση του αρχικού σχήματος R σε δύο σχήματα R 1 με γνωρίσματα Χ Y R 2 με γνωρίσματα R - Y 1 Ταινία (Τίτλος, Έτος, ιάρκεια, Είδος, Όνομα-Ηθοποιού) Τίτλος Έτος ιάρκεια Είδος Ταινία1(Τίτλος, Έτος, ιάρκεια, Είδος) Ταινία2(Τίτλος, Έτος, Όνομα-Ηθοποιού) Ευριστικός: στα δεξιά όσο το δυνατόν περισσότερα γνωρίσματα Αποσύνθεση χωρίς απώλειες; Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 7 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 8 2 Πρόβλημα: υπάρχει μια μεταβατική εξάρτηση Ταινία-Εταιρεία (Τίτλος, Έτος, ιάρκεια, Είδος, Εταιρεία-Παραγωγής, ιεύθυνση-εταιρείας) -- {Tίτλος, Έτος} (υποψήφιο) κλειδί Τίτλος Έτος Εταιρεία-Παραγωγής Εταιρεία-Παραγωγής ιεύθυνση-εταιρείας Μπορεί να χρειαστεί παραπάνω από μία αποσύνθεση Αποσύνθεση του αρχικού σχήματος R σε δύο σχήματα - R 1 με γνωρίσματα Χ Y και R 2 με γνωρίσματα R - Y η R 2 μπορεί να μην είναι σε BCNF Τίτλος Έτος ιεύθυνση-εταιρείας Ταινία-Εταιρεία1 (Εταιρεία-Παραγωγής, ιεύθυνση-εταιρείας) Ταινία-Εταιρεία2 (Τίτλος, Έτος, ιάρκεια, Είδος, Εταιρεία-Παραγωγής) Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 9 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 10 εν είναι πάντα δυνατή η αποσύνθεση σε μια BCNF που να διατηρεί τις εξαρτήσεις Έστω η σχέση Παίζει(Έργο, Κινηματογράφος, Πόλη) με τους περιορισμούς ότι (i) δεν υπάρχουν κινηματογράφοι με το ίδιο όνομα (κάθε κινηματογράφος σε μία πόλη) (ii) κάθε κινηματογράφος έχει πολλές αίθουσες (παίζει πολλά έργα) αλλά κάθε έργο παίζεται μόνο σε ένα κινηματογράφο σε κάθε πόλη Κινηματογράφος Πόλη Έργο Πόλη Κινηματογράφος Κλειδιά; {Έργο, Πόλη} {Κινηματογράφος, Έργο} Παίζει(Έργο, Κινηματογράφος, Πόλη) Κινηματογράφος Πόλη Έργο Πόλη Κινηματογράφος Κλειδιά {Έργο, Πόλη} {Κινηματογράφος, Έργο} Αποσύνθεση σε: R 1 {Κινηματογράφος, Πόλη} και R 2 {Κινηματογράφος, Έργο} Κινηματογράφος Odeon-ABANA Village Center Μαρούσι Πόλη Αθήνα Αθήνα Κινηματογράφος Odeon-ΑΒΑΝΑ Village Center Μαρούσι Έργο Volver Volver ε μπορώ κοιτάζοντας μόνο την R2 να δω ότι η εισαγωγή της δεύτερης πλειάδας παραβιάζει μια ΣΕ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 11 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 12 2

Ένα σχεσιακό σχήμα R είναι σε τρίτη κανονική μορφή (3ΝF) σε σχέση με ένα σύνολο F συναρτησιακών εξαρτήσεων αν για όλες τις ΣΕ στο F + της μορφής X Y ισχύει τουλάχιστον ένα από τα παρακάτω: -- X Y είναι μια τετριμμένη ΣΕ ή -- X είναι υπερκλειδί του σχήματος R -- κάθε γνώρισμα Α του Υ - Χπεριέχεται σε κάποιο υποψήφιο κλειδί BCNF πιο περιοριστική -- αν σε BCNF 3NF Πρωτεύον γνώρισμα: Γνώρισμα που ανήκει σε κάποιο υποψήφιο κλειδί Παίζει(Έργο, Κινηματογράφος, Πόλη) Κινηματογράφος Πόλη Έργο Πόλη Κινηματογράφος Κλειδιά {Έργο, Πόλη} {Κινηματογράφος, Έργο} Ησχέση είναι σε 3NF Είδος ΣΕ: μοναδικά αντικείμενα ή με βάση πρακτικές Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 13 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 14 Αλγόριθμος Αποσύνθεσης σε 3NF Υπολόγισε το ελάχιστο κάλυμμα F c του F Για κάθε α.μ. Χ μιας συναρτησιακής εξάρτισης του F c έστω Y το σύνολο όλων των γνωρισμάτων Α i που εμφανίζονται στο δ.μ. μιας ΣΕ του F c Χ Α i νέα σχέση με γνωρίσματα Χ Y Αν κανένα από τα σχήματα που δημιουργούνται δεν περιέχει κλειδί, δημιούργησε ένα σχήμα που να περιέχει τα γνωρίσματα που σχηματίζουν κλειδί Αλγόριθμος Αποσύνθεσης σε 3NF Απώλειες στη συνένωση; ιατήρηση εξαρτήσεων; Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 15 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 16 Τραπεζίτης(Όνομα-Υποκαταστήματος, Όνομα-Πελάτη, Όνομα-Τραπεζίτη, Αριθμός Γραφείου) Όνομα-Τραπεζίτη Όνομα-Υποκαταστήματος Αριθμός-Γραφείου Όνομα-Πελάτη Όνομα-Υποκαταστήματος Όνομα-Τραπεζίτη Κλειδιά {Όνομα-Πελάτη, Όνομα-Υποκαταστήματος} 3NF; Τραπεζίτης1(Όνομα-Τραπεζίτη, Όνομα-Υποκαταστήματος Αριθμός-Γραφείου) Τραπεζίτης2(Όνομα-Πελάτη, Όνομα-Υποκαταστήματος, Όνομα-Τραπεζίτη) BCNF; Σχεδιασμός Σχεσιακών Σχημάτων (Επανάληψη) Κανονική Μορφή Boyce-Codd Ένα σχεσιακό σχήμα R είναι σε BCNF σε σχέση με ένα σύνολο F συναρτησιακών εξαρτήσεων αν για όλες τις ΣΕ στο F + της μορφής X Y ισχύει τουλάχιστον ένα από τα παρακάτω: -- X Y είναι μια τετριμμένη ΣΕ ή -- X είναι υπερκλειδί του σχήματος R -- κάθε γνώρισμα Α του Υ - Χ περιέχεται σε κάποιο υποψήφιο κλειδί (είναι πρωτεύον γνώρισμα) Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 17 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 18 3

Σχεδιασμός Σχεσιακών Σχημάτων (Επανάληψη) Κανονικές Μορφές BCNF 3NF Αποφυγή επανάληψης πληροφορίας ναι όχι πάντα Αποσύνθεση χωρίς απώλειες στη συνένωση ναι ναι ΟΛΕΣ οι ΣΧΕΣΕΙΣ 1NF 2NF 3NF BCNF2NF 4NF 2NF 5NF ιατήρηση εξαρτήσεων όχι πάντα ναι Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 19 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 20 Πρώτη Κανονική Μορφή εύτερη Κανονική Μορφή 1NF (ιστορικοί λόγοι, κάθε γνώρισμα παίρνει ατομικές τιμές) X Y Υ πλήρης εξάρτηση από το Χ αν δεν υπάρχουν περιττά γνωρίσματα στο X (στο α.μ της εξάρτησης) (αν υπάρχουν, μερική εξάρτηση) 2NF κάθε μη πρωτεύον γνώρισμα (γνώρισμα που ανήκει στο υποψήφιο κλειδί) δεν είναι μερικά εξαρτώμενο από οποιοδήποτε κλειδί δηλαδή κάθε μη πρωτεύον είναι πλήρως συναρτησιακά εξαρτώμενο από κάθε κλειδί της R Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 21 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 22 Υπάρχει επανάληψη πληροφορίας που δεν μπορεί να εκφραστεί με απλές ΣΕ Προκύπτουν όταν δυο γνωρίσματα είναι ανεξάρτητα το ένα από το άλλο Ηθοποιός(Όνομα, Οδός, Πόλη, Τίτλος, Έτος) Yποθέτουμε ότι για κάθε ηθοποιό είναι πιθανόν να υπάρχουν πολλές διευθύνσεις Κανένα από τα 5 γνωρίσματα δεν εξαρτάται συναρτησιακά από τα άλλα τέσσερα δεν υπάρχουν μη μη τετριμμένες εξαρτήσεις κλειδί? π.χ., Όνομα Οδός Τίτλος Έτος Πόλη δεν ισχύει Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 23 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 24 4

(συνέχεια) Ηθοποιός(Όνομα, Οδός, Πόλη, Τίτλος, Έτος) Όλες οι εξαρτήσεις είναι τετριμμένες Το σχήμα είναι σε BCNF αλλά υπάρχει επανάληψη πληροφορίας που δεν οφείλεται όμως σε συναρτησιακές εξαρτήσεις Ηθοποιός(Όνομα, Οδός, Πόλη, Τίτλος, Έτος) Όνομα Οδός Πόλη Όνομα Οδός Πόλη Τίτλος Έτος C. Fisher 123 Mapple Str Hollywood Star Wars 1977 C. Fisher 5 Locust Ln Malibu Empire Strikes Back 1980?? Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 25 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 26 X Y A 1 A 2 A n B 1 B 2 B m Για κάθε ζεύγος πλειάδων t 1 και t 2 της σχέσης R που συμφωνούν σε όλα τα γνωρίσματα του X μπορούμε να βρούμε στο R δυο πλειάδες t 3 και t 4 τέτοιες ώστε και οι δυo συμφωνούν με τις t 1 και t 2 στο X: t 1 [X] = t 2 [X] = t3[x] = t 4 [X] η t 3 συμφωνεί με την t 1 στο Υ: t3[y] = t 1 [Y] η t 3 συμφωνεί με την t 2 στο R -X-Y: t3[r-x -Y]= t2[r - X - Y] η t 4 συμφωνεί με την t 2 στο Υ: t4[y] = t2[y] η t 4 συμφωνεί με την t 1 στο R -X -Y: t4[r-x -Y]= t 1 [R - X - Y] Όνομα Πόλη Οδός Τίτλος Έτος Χ Υ R X - Y A 1 A 2 A n B 1 B 2 B m C 1 C 2 C k a 1 a 2 a n b 1 b 2 b m c 1 c 2 c k a 1 a 2 a n b 1 b 2 b m c 1 c 2 c k t 1 t 2 t 3 t 4 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 27 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 28 Σχεδιασμός Σχεσιακών Σχημάτων Σχεδιασμός Σχεσιακών Σχημάτων Η διαδικασία Κανονικοποίησης έχει και μειονεκτήματα: o εν είναι δημιουργική o Συνήθως η κανονικοποίηση γίνεται αφού έχουμε κάποιο σχήμα (μας λέει αν είναι «καλό» ή «κακό») o εν προσφέρει ένα εννοιολογικό σχήμα (ασχολείται μόνο με σχέσεις και γνωρίσματα) Όμως, είναι μια ενδιαφέρουσα και πρακτικά χρήσιμη προσπάθεια να γίνουν με τυπικό και συστηματικό τρόπο πράγματα που τα κάνουμε συνήθως διαισθητικά. Ένας μεγάλος αριθμός από εμπορικά εργαλεία, δοθέντων ενός συνόλου Σχημάτων Σχέσεων/Γνωρισμάτων και ενός συνόλου συναρτησιακών εξαρτήσεων δημιουργούν αυτόματα σχήματα σχέσεων σε μορφή 3NF (σπάνια πάνε σε BCNF, 4NF και 5NF) Μια άλλη χρήση τέτοιων εργαλείων είναι να ελέγχουν το επίπεδο κανονικοποίησης μιας σχέσης - γενικά, η χρήση ως ευριστικό εργαλείο επιλογής ενός σχεδιασμού έναντι κάποιου άλλου Υπάρχουν πρακτικά αποτελέσματα της θεωρίας που επιτρέπουν σε έναν σχεδιαστή να κάνει ανάλυση της μορφής: Αν μια σχέση είναι σε 3NF και κάθε υποψήφιο κλειδί αποτελείται ακριβώς από ένα γνώρισμα, τότε είναι και σε 5NF (Fagin, 1991) Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 29 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 30 5

Σχεδιασμός Σχεσιακών Σχημάτων Εκπαιδευτικό Εργαλείο Η ιαδικασία Σχεδιασμού 1. Συλλογή και ανάλυση απαιτήσεων 2. Εννοιολογικός σχεδιασμός 3. Επιλογή Σ Β 4. Απεικόνιση στο μοντέλο δεδομένων (λογικός σχεδιασμός) 5. Φυσικός σχεδιασμός 6. Υλοποίηση Εργαλείο για υπολογισμό κλειδιού κλπ: http://dbtools.cs.cornell.edu/norm_index.html Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 31 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 32 6