Lecture 24: Functional Dependencies and Normalization IV

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

Lecture 23: Functional Dependencies and Normalization

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

Lecture 21: Functional Dependencies and Normalization

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

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

Lecture 22: Functional Dependencies and Normalization

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

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

Lecture 21: Functional Dependencies and Normalization


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

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

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

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter )

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

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

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

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

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

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

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

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

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

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


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

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

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

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

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

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

Βάσεις Δεδομένων Ενότητα 7

Διάλεξη 06: Σχεσιακό Μοντέλο I (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

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

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

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

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

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

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

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

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

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

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

Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 4: ER I. Data Modeling Using the ER Model

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

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

Principles of Database Systems

Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

#5. Σχεσιακό Μοντέλο

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

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

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

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

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

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

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

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

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

Διάλεξη 08: Αντιστοίχηση Εννοιολογικού σε Σχεσιακό Μοντέλο (ER/EER to Relational) Διδάσκων: Παναγιώτης Ανδρέου

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

Lecture 12: SQL DDL I

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 5: ER II. Data Modeling Using the ER Model

Βάσεις Δεδομένων (Databases)

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

Κανονικοποίηση(Normalization) ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ 9 ο Εξάμηνο2013. Κανονικές Μορφές. Πρώτη Κανονική Μορφή (1NF) Βάσεις Δεδομένων. Περικλής Α.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

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

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

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

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


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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 11: Εξαρτήσεις πολλαπλών τιμών - 4NF, 1NF, 2NF, 3NF, Μελέτη Περίπτωσης

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

Ασκήσεις -Επανάληψη. Βάσεις Δεδομένων

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

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

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

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Διαχείρισης Βάσεων Δεδομένων

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

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

Lecture 14: SQL DML I

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

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

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

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

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

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

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

Βάσεις Δεδομένων (Databases)

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

Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I. Διδάσκων: Παναγιώτης Ανδρέου

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

Transcript:

Department of Computer Science University of Cyprus EPL342 Databases Lecture 24: Functional Dependencies and Normalization IV (Chapter 10.5, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342 24-1

Περιεχόμενο ιάλεξης Ολοκλήρωση ιάλεξης 23 Κεφάλαιο 10.5: Η Κανονική Μορφή Boyce-Codd (Boyce- Codd Normal Form (BCNF)) Κεφάλαιο 11: Η 4 η Κανονική Μορφή (4NF) Η 5 η Κανονική Μορφή (5NF) 24-2

Boyce-Codd Κανονική Μορφή ( Εισαγωγή ) O Raymond F. Boyce, ήταν ερευνητής της IBM όπου με άλλους συναδέλφους Donald D. Chamberlin, και κάτω από την καθοδήγηση του Edgar F. Codd (του δημιουργού του Σχεσιακού Μοντέλου), σύγγραψε το 1974 την πρώτη έκδοση του προτύπου SQL (της SEQUEL). SEQUEL: A Structured English Query Language D.D. Chamberlin and R.F. Boyce, Proc. ACM SIGMOD Workshop on Data Description, Access and Control, Ann Arbor, Michigan (May 1974) pages 249-264. Μεταξύ άλλων, υπέδειξε επίσης με τον Codd πως μπορεί να βελτιστοποιηθεί η 3NF, σε κάποιες ειδικές περιπτώσεις, πετυχαίνονται ακόμη χαμηλότερα επίπεδα πλεονασμού (redundancy) σε ένα σχεσιακό σχήμα. 24-3

Boyce-Codd Κανονική Μορφή ( Εισαγωγή ) Συγκεκριμένα, εισηγήθηκε μια κανονική μορφή η οποία μειώνει τον πλεονασμό σε περιπτώσεις που έχουμε επικαλυπτόμενα σύνθετα κλειδιά (overlapping composite keys). Η κανονική μορφή αυτή ονομάζεται αργότερα Boyce-Codd Normal Form ή BCNF H BCNF, όπως και οι προκάτοχες κανονικές μορφές 2NF και 3NF στηρίζονται στις έννοιες των κλειδιών και των συναρτησιακών εξαρτήσεων. 1NF 2NF 3NF BCNF 4NF 5NF 24-4

Boyce-Codd Κανονική Μορφή ( BCNF: Boyce Codd Normal Form ) Ορισμός BCNF: Ένα σχήμα R είναι σε BCNF εάν για κάθε μη-τετριμμένη FD X Α στο R, το X είναι υπερκλειδί της R Παράδειγμα BCNF Γιατί οι BCNF σχέσεις έχουν πρόβλημα; Γιατί εάν το X δεν είναι superkey, τότε δημιουργείται πλεονασμός Redundancy! Candidate Key! Town Property_id Town Lot# ZIP 1 Strovolos 1 2330 2 Lakatamia 2 2550 ZIP 3 Strovolos 5 2330 To ΖIP δεν είναι Superkey! άρα δεν είναι BCNF Γιατί είναι 3NF; Π.χ., πλεονασμός από ZIP TOWN 24-5

Boyce-Codd Κανονική Μορφή ( BCNF: Boyce Codd Normal Form ) Εάν στο προηγούμενο παράδειγμα το ZIP ήταν κλειδί (ή υπερκλειδί) τότε δεν θα μπορούσαμε να είχαμε δυο πλειάδες με τιμή 2330 συνεπώς θα αποφεύγαμε τον πλεονασμό που πρόκυπτε πριν λόγω του ZIP TOWN. Property_id Town Lot# ZIP 1 Strovolos 1 2330 2 Lakatamia 2 2550 3 Strovolos 5 2330 BCNF ιάσπαση BCNF Property_id Lot# ZIP 1 1 2330 2 2 2550 3 5 2330 ZIP Town 2330 Strovolos 2550 Lakatamia BCNF 24-6

Boyce-Codd Κανονική Μορφή ( BCNF: Boyce Codd Normal Form ) Παράδειγμα Σχέσης 3NF αλλά BCNF {Student, Course} Instructor Ιnstructor Course Γιατί R Γιατί R 3NF; ιότι δεν υπάρχουν μεταβατικές εξαρτήσεις από το κλειδί. BCNF; ιότι o Instructor (C) ΕΝ είναι superkey. 24-7

Boyce-Codd Κανονική Μορφή (Λογική ιάσπασης σε ΒCNF) Λογική ιάσπασης σε BCNF: Για κάθε FD που παραβιάζει την ΒCNF (δηλ., X Y, όπου Χ δεν είναι υπερκλειδί), δημιούργησε μια νέα σχέση R(X Y), διατηρώντας στην αρχική σχέση το X ως ξένο κλειδί. BCNF Decomposition ( ιάσπαση) BCNF BCNF 24-8

Boyce-Codd Κανονική Μορφή (Λογική ιάσπασης σε ΒCNF) Σας δίνεται η σχέση BOOKING η οποία περιγράφει τις κρατήσεις κάποιων γηπέδων αθλητισμού. Εξηγήστε εάν BOOKING BCNF δεδομένων {Court, StartTime} EndTime και {Court,EndTime} StartTime Today's Court Bookings Court Start Time End Time 1 9:30 10:30 1 11:00 12:00 1 14:00 15:30 2 10:00 11:30 2 11:30 13:30 2 15:00 16:30 Απάντηση Εφόσον το αριστερό μέρος κάθε FD είναι superkey συνεπάγεται ότι η σχέση είναι σε BCNF 24-9

Κανονικοποιήση Ψηλότερου Βαθμού 2NF, 3NF, BCNF: Στηρίζονται στα κλειδιά & συναρτησιακές εξαρτήσεις (FDs) 4NF: Στηρίζεται στα κλειδιά & Multi-valued dependencies (MVDs) 5NF: Στηρίζεται σε κλειδιά & Join Depend. (JDs) Πρακτικά, κάθε σχήμα βάσης είναι καλό να κανονικοποιήται σε 3NF ή BCNF έτσι ώστε: «Κάθε γνώρισμα να εξαρτάται από το κλειδί, πάνω σε ολόκληρο το κλειδί και όχι σε οτιδήποτε άλλο εκτός από το κλειδί» W. Kent (1992) Για να διασφαλίσουμε ένα καλό σχεσιακό σχήμα θα πρέπει να εγγυηθούμε και άλλες ιδιότητες (lossless join, dependency preservation; Κεφ. 11) 24-10

Εισαγωγή σε Multi-valued Dependencies (MVDs) Υποθέστε την σχέση EMP_PROJ_DEP: Κάποιος υπάλληλος (Ename) δουλεύει σε κάποιο Project (Pname) και έχει εξαρτώμενους (Dname) EMP_PROJ_DEP Ename Pname Dname Smith X John Smith Y Anna Smith X Anna Smith Y John Υποθέσεις: 1. Ένας υπάλληλος μπορεί να δουλεύει σε πολλά projects 2. Ένας υπάλληλος μπορεί να έχει πολλούς εξαρτώμενους Ερώτηση: Η σχέση EMP_PROJ_DEP είναι BCNF; NAI Η σχέση περιέχει μόνο κλειδιά εν έχουμε δηλώσει κάποιες συναρτησιακές εξαρτήσεις (ούτε μπορούμε). Γιατί; 24-11

Εξαρτήσεις Πολλαπλών Τιμών (MultiValued Dependencies MVDs) Μια Εξάρτηση Πολλαπλών Τιμών (MultiValued Dependency MVD) που ορίζεται σε κάποια σχέση R (, είναι ένας περιορισμός που καθορίζεται ως εξής: Αν υπάρχουν δύο πλειάδες t1,t2 ώστε t1[x]=t2[x], τότε πρέπει επίσης να υπάρχουν πλειάδες t3, t4 με τις ακόλουθες ιδιότητες ( ): t3[x]=t4[x] = t1[x]=t2[x] t3[υ]=t1[υ] και t4[υ]=t2[υ] t3[ζ]=t2[ζ] και t4[ζ]=t1[ζ] Θα αναφερόμαστε στα MVDs ως ακολούθως: Το X πολυπροσδιορίζει το Y Λόγο συμμετρίας, όταν τότε το οποίο αναγράφεται σαν 24-12

Τέταρτη Κανονική Μορφή ( 4NF: Fourth Normal Form ) Άτυπος Ορισμός 4NF: Όλες οι εξαρτήσεις (συναρτησιακές (FDs) ή πολλαπλών τιμών (MVDs) πρέπει να εξαρτούνται αποκλειστικά από το κλειδί ή υπερκλειδί. Παράδειγμα 4NF MVD1: MVD2: Πότε συμβαίνει το πιο πάνω; Γιατί οι Non-4NF σχέσεις έχουν πρόβλημα; Γιατί και πάλι παραμένει πλεονασμός (redundancy) Είναι πιο δύσκολο όμως να ανιχνευτεί EMP_PROJ_DEP Ename Pname Dname MVD1 MVD2 Ename Pname Dname Smith X John Smith Y Anna Smith X Anna Smith Y John 24-13

Τέταρτη Κανονική Μορφή (4NF: Fourth Normal Form ) Ας ορίσουμε την 4NF κάπως πιο τυπικά. Τυπικός Ορισμός 4NF: Μια σχέση R είναι σε 4NF εάν για κάθε Εξάρτηση (FD ή MVD) που σχετίζεται με το R ισχύει ότι το Χ είναι υπερκλειδί της R. Ισχύουν τα ακόλουθα σημεία: Κάθε σχέση που αποτελείται μόνο από γνωρίσματα κλειδιά είναι σε BCNF αφού δεν αποτελείται από FDs Αν μία σχέση όπως αναφέρεται πιο πάνω περιέχει μία MVD τότε δεν είναι σε 4NF Πότε συμβαίνει αυτό; Όταν αναπαριστούμε 2 ή περισσότερες 1:Μ σχέσεις στον ίδιο πίνακα 24-14

Τέταρτη Κανονική Μορφή (Λογική ιάσπασης σε 4NF) Λογική ιάσπασης σε 4NF: Για κάθε non-trivial MVD που παραβιάζει την 4NF (δηλ., όπου Χ δεν είναι υπερκλειδί), δημιούργησε μια νέα σχέση R( ) χωρίς να διατηρήσεις την αρχική σχέση. EMP_PROJ_DEP Ename Pname Dname MVD1 MVD2 4NF Decomposition ( ιάσπαση) MVD1: MVD2: EMP_PROJ Ename Pname 4NF EMP_DEP Ename Dname 4NF 24-15

Πέμπτη Κανονική Μορφή (5NF: Fifth Normal Form ) H 5NF ορίζει ένα καινούριο είδος εξάρτησης το οποίο ονομάζεται Join Dependency (JD) Για να ανιχνευθούν απαιτείται μεγάλη κατανόηση από τους σχεδιαστές/προγραμματιστές Β Μπορούν να εκφραστούν πιο εύκολα με περιορισμούς προγραμματισμένους στην Β Τα JDs συμβολ. με JD(R 1, R 2,, R n ) και ορίζουν περιορισμούς σε καταστάσεις r μίας σχέσης R. Προϋποθέτουν m-αδικές σχέσεις με m 3 Μπορούν να εκφραστούν με non-additive-join των πλειάδων κάθε :,,,. Γι αυτό ονομάζεται επίσης και Project-Join Normal Form-PJNF. 24-16

Πέμπτη Κανονική Μορφή (5NF: Fifth Normal Form ) Παράδειγμα 4NF, 5NF Περιορισμός: Όταν κάποιος προμηθευτής s προμηθεύει κάποιο εξάρτημα p, και κάποιο project j χρησιμοποιεί το p, και ο s προμηθεύει τουλάχιστον ένα εξάρτημα στο j, τότε ο s προμηθεύει το εξάρτημα p στο project j Ο JD(R1, R2, R3) μεταφράζεται σε 3 projections: R1(Sname, PTname), R 2 (Sname, PJname), R 3 (PTname, PJname) Προβλήματα: α) πλεονασμός, β) λάθη εισαγ. SUPPLY Sname PTname PJname Smith Bolt PjX Smith Nut PjY Adam Bolt PjY Walton Nut PjZ Adam Nail PjX Adam Bolt PjX Smith Bolt PjY 24-17

Πέμπτη Κανονική Μορφή (Λογική ιάσπασης σε 5NF) Λογική ιάσπασης σε 5NF: Για κάθε non-trivial JD(R 1, R 2,, R n ) που παραβιάζει την 5NF (δηλ., R i δεν είναι υπερκλειδί της R), Ri δημιούργησε μια νέα σχέση, χωρίς να διατηρήσεις την R. SUPPLY Sname PTname PJname 5NF 5NF Decomposition ( ιάσπαση) R1 Sname PTname R2 Sname PJname 5NF R1(Sname, PTname) R2(Sname, PJname) R3(PTname, PJname) R3 PTname PJname 5NF 24-18

Πέμπτη Κανονική Μορφή ( ιάσπαση σε 5NF) R1 Sname PTname Smith Bolt Smith Nut Adam Bolt Walton Nut Adam Nail R2 Sname PJname Smith PjX Smith PjY Adam PjY Walton PjZ Adam PjX R3 PTname PJname Bolt PjX Nut PjY Bolt PjY Nut PjZ Nail PjX Η διάσπαση απαλείφει τον πλεονασμό Προσοχή: Η συνένωση μερικών projection R i μπορεί να δημιουργήσει σποραδικές πλειάδες (Παράδειγμα;) Μόνο με την συνένωση όλων των projection R i μπορούμε να δημιουργήσουμε την σχέση SUPPLY Η συνένωση πρέπει να δημιουργεί όλες τις πλειάδες της αρχικής σχέσης R 24-19

Πέμπτη Κανονική Μορφή (5NF: Fifth Normal Form ) Για να ανιχνευθούν τα JDs απαιτείται μεγάλη κατανόηση των δεδομένων από τους σχεδιαστές/προγραμματιστές Β Τα MVDs είναι ειδική περίπτωση των JDs με n=2 Βασικός στόχος μας είναι η σχεδίαση Β σε 4NF Με την εμπειρία σχεδιασμού και μελέτη των δεδομένων μπορούμε να επιτύχουμε την 5NF Πρακτικά, τα JDs μπορούν να εκφραστούν πιο εύκολα με περιορισμούς προγραμματισμένους στην Β (π.χ., check constraints βασισμένα σε UDFs ή SPs) 24-20