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

Σχετικά έγγραφα
Lecture 24: Functional Dependencies and Normalization IV

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

Lecture 23: Functional Dependencies and Normalization

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

Lecture 21: Functional Dependencies and Normalization

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

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

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

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

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

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

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

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


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

Lecture 22: Functional Dependencies and Normalization

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

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

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

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

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

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

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

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

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

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

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

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

Lecture 21: Functional Dependencies and Normalization

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Principles of Database Systems

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

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

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

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

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

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

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

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

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

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

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

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

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

Lecture 12: SQL DDL I

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

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

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

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

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

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

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

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

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

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

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

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

Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL. Διδάσκων: Παναγιώτης Ανδρέου


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

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

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

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

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

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

2. Να τροποποιηθεί κατάλληλα η παραπάνω παράσταση ώστε στο αποτέλεσµα να προκύπτουν τα ονοµατα των προµηθευτών και όχι οι κωδικοί τους (Μονάδες 1,0)

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

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

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

Transcript:

Διάλεξη 23: Κανονικοποίηση και Συναρτησιακές Εξαρτήσεις ΙV Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Κανονικές Μορφές (BCNF, Τέταρτη/4NF, Πέμπτη/5NF) Διδάσκων: Παναγιώτης Ανδρέου EPL342: Databases Panayiotis Andreou (University of Cyprus) 1

Περιεχόμενο Διάλεξης Η Κανονική Μορφή Boyce Codd (Boyce Codd Normal Form (BCNF)) Η 4η Κανονική Μορφή (4NF) Η 5η Κανονική Μορφή (5NF) EPL342: Databases Panayiotis Andreou (University of Cyprus) 2

Boyce Codd Κανονική Μορφή (BCNF) 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) σε ένα σχεσιακό σχήμα. EPL342: Databases Panayiotis Andreou (University of Cyprus) 3

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

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

Boyce Codd Κανονική Μορφή (BCNF) Εάν στο προηγούμενο παράδειγμα το 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 EPL342: Databases Panayiotis Andreou (University of Cyprus) 6

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

Λογική Διάσπασης σε ΒCNF Λογική ιάσπασης σε BCNF: Για κάθε FD που παραβιάζει την ΒCNF (δηλ., X Y, όπου Χ δεν είναι υπερκλειδί), δημιούργησε μια νέα σχέση R(X Y), διατηρώντας στην αρχική σχέση το X ως ξένο κλειδί. BCNF Decomposition ( ιάσπαση) BCNF BCNF EPL342: Databases Panayiotis Andreou (University of Cyprus) 8

Λογική Διάσπασης σε Β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 EPL342: Databases Panayiotis Andreou (University of Cyprus) 9

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

Εξαρτήσεις Πολλαπλών Τιμών (MVDs) Εξαρτήσεις Πολλαπλών Τιμών (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 Λόγο συμμετρίας, όταν τότε το οποίο αναγράφεται σαν EPL342: Databases Panayiotis Andreou (University of Cyprus) 12

Τέταρτη Κανονική Μορφή (4NF) Άτυπος Ορισμός 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 EPL342: Databases Panayiotis Andreou (University of Cyprus) 13

Τέταρτη Κανονική Μορφή (4NF) Ας ορίσουμε την 4NF κάπως πιο τυπικά. Τυπικός Ορισμός 4NF: Μια σχέση R είναι σε 4NF εάν για κάθε Εξάρτηση (FD ή MVD) που σχετίζεται με το R ισχύει ότι το Χ είναι υπερκλειδί της R. Ισχύουν τα ακόλουθα σημεία: Κάθε σχέση που αποτελείται μόνο από γνωρίσματα κλειδιά είναι σε BCNF αφού δεν αποτελείται από FDs Αν μία σχέση όπως αναφέρεται πιο πάνω περιέχει μία MVD τότε δεν είναι σε 4NF Πότε συμβαίνει αυτό; Όταν αναπαριστούμε 2 ή περισσότερες 1:Μ σχέσεις στον ίδιο πίνακα EPL342: Databases Panayiotis Andreou (University of Cyprus) 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 EPL342: Databases Panayiotis Andreou (University of Cyprus) 15

Πέμπτη Κανονική Μορφή (5NF) 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. EPL342: Databases Panayiotis Andreou (University of Cyprus) 16

Πέμπτη Κανονική Μορφή (5NF) Παράδειγμα 4NF, 5NF Περιορισμός: Όταν κάποιος προμηθευτής s προμηθεύει κάποιο εξάρτημα p, και κάποιο project j χρησιμοποιεί το p, και ο s προμηθεύει τουλάχιστον ένα εξάρτημα στο j, τότε ο s προμηθεύει το εξάρτημα p στο project j 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 Ο JD(R1, R2, R3) μεταφράζεται σε 3 projections: R1(Sname, PTname), R 2 (Sname, PJname), R 3 (PTname, PJname) Προβλήματα: α) πλεονασμός, β) λάθη εισαγ. EPL342: Databases Panayiotis Andreou (University of Cyprus) 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 EPL342: Databases Panayiotis Andreou (University of Cyprus) 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 EPL342: Databases Panayiotis Andreou (University of Cyprus) 19

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