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

Σχετικά έγγραφα
καλών σχεσιακών σχημάτων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Lecture 23: Functional Dependencies and Normalization

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

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

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

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

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

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

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

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

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

Lecture 24: Functional Dependencies and Normalization IV

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Lecture 21: Functional Dependencies and Normalization

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

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

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

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

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

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

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης

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

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

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

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

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

Transcript:

Κανονικές Μορφές Σύντομη επανάληψη αποσύνθεσης Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 2 Αλγόριθμος Σχεδιασμού Αλγόριθμος Σχεδιασμού Ένας γενικός (θεωρητικός) τρόπος κατασκευής του σχήματος Αποσύνθεση (decomposition) Αλγόριθμος σχεδιασμού 1. Αρχικά ένα καθολικό (universal) σχήμα σχέσης που περιέχει όλα τα γνωρίσματα 2. Προσδιορισμός των συναρτησιακών εξαρτήσεων 3. ιάσπαση σε ένα σύνολο από σχήματα σχέσεων που ικανοποιούν κάποιες ιδιότητες Τυπικός ορισμός Αρχικά ένα καθολικό σχήμα R = {A 1, A 2,, A n } αποσύνθεση (decomposition) σε δύο σχήματα R 1 = {B 1, B 2,, B m } και R 2 = {C 1, C 2,, C k } τέτοια ώστε: 1. {A 1, A 2,, A n } = {B 1, B 2,, B m } {C 1, C 2,, C k } (διατήρηση γνωρισμάτων) γνωρίσματα 2. Οι πλειάδες της r 1 (R 1 ) είναι η προβολή των πλειάδων της r(r) στα {B 1, B 2,, B m } πλειάδες 3. Οι πλειάδες της r 2 (R 2 ) είναι η προβολή των πλειάδων της r(r) στα {C 1, C 2,, C k } πλειάδες Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 3 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 4 Αποσύνθεση γνωρίσματα Έστω ένα σχεσιακό σχήμα R. Ένα σύνολο από σχεσιακά σχήματα {R 1, R 2,.., R n } είναι μια αποσύνθεση του R αν R = R 1 R 2 R n ηλαδή, i = 1,.., n R i R στιγμιότυπα Έστω r(r) και r i = π Ri (r), i = 1,..,n r r 1 * r 2 * * r n - Αποσύνθεση καθολικού σχήματος Επιθυμητές ιδιότητες 1. όχι απώλειες στη συνένωση 2. διατήρηση εξαρτήσεων - όχι επανάληψη πληροφορίας λόγω ΣΕ Κανονικές μορφές Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 5 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 6 1

Επιθυμητές Ιδιότητες Αποσύνθεσης Συνενώσεις Άνευ Απωλειών Επιθυμητές Ιδιότητες για την Αποσύνθεση 1. Συνενώσεις Άνευ Απωλειών Έστω C το σύνολο περιορισμών. Μια αποσύνθεση του R σε {R 1, R 2,.., R n } είναι μια αποσύνθεση άνευ απωλειών στη συνένωση (lossless join decomposition) αν για όλες τις σχέσεις r(r) που είναι νόμιμες στο C ισχύει r = π R1 (r) * π R2 (r) * π Rn (r) Ονομάζεται και μη προσθετική συνένωση (non-additive join) Θεώρημα Έστω R ένα σχεσιακό σχήμα και F ένα σύνολο από συναρτησιακές εξαρτήσεις στο R. Έστω R 1 και R 2 μια αποσύνθεση του R. Αν μια τουλάχιστον από τις ΣΕ R 1 R 2 R 1 ή R 1 R 2 R 2 ανήκει στο F + τότε η διάσπαση είναι χωρίς απώλειες στη συνένωση. ηλαδή τα κοινά γνωρίσματα των δύο σχημάτων είναι κλειδί για τουλάχιστον ένα από τα δύο σχήματα Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 7 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 8 Επιθυμητές Ιδιότητες Αποσύνθεσης ιατήρηση Εξαρτήσεων Επιθυμητές Ιδιότητες για την Αποσύνθεση 2. ιατήρηση Εξαρτήσεων Στόχος: Για να ελέγξουμε ότι διατηρούνται οι Σ.Ε. όταν γίνονται τροποποιήσεις σε μία από τις σχέσεις r i (R i ), να αρκεί να ελέγξουμε μόνο τη συγκεκριμένη σχέση (δηλαδή, να μη χρειάζεται να υπολογίσουμε τις αρχικές σχέσεις - αποφυγή των συνενώσεων) Έστω F ένα σύνολο από ΣΕ στο σχήμα R και {R 1, R 2,.., R n } μια αποσύνθεση του R. F i περιορισμός του F στο R i είναι το σύνολο όλων των συναρτησιακών εξαρτήσεων του F + που περιέχουν μόνο γνωρίσματα του R i. Έστω F = F 1 F 2... F n Προσοχή: F + όχι F Η αποσύνθεση είναι μια αποσύνθεση που διατηρεί τις εξαρτήσεις (dependency preserving) αν F + = F + Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 9 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 10 ιατήρηση Εξαρτήσεων ιατήρηση Εξαρτήσεων : Υπολογισμός του περιορισμού του F σε ένα σχήμα Εφαρμογή 1: Έστω R(A, B, C, D), F = {A B, B C}. Περιορισμός του F στο S(A, C) (δηλαδή ποιες ΣΕ του F + ισχύουν στο S) : Πως δείχνουμε αν μια αποσύνθεση διατηρεί τις εξαρτήσεις Έστω R(A, B, C, D), F = {C D, A B, Β D, C A}. Έστω η αποσύνθεση S(A, C) και Τ(Α, Β, D) Εφαρμογή 2: Έστω R(A, B, C, D, E), F = {A D, B Ε, DE C}. Περιορισμός του F στο S(A, B, C) Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 11 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 12 2

ιατήρηση Εξαρτήσεων ιατήρηση Εξαρτήσεων Μερικά ακόμα παραδείγματα: 1. Έστω R(A, B, C, D), F = {A C, B C, ΒD A}. Η αποσύνθεση του R σε S(A, C) και Τ(Α, Β, D) διατηρεί τις εξαρτήσεις; 2. Έστω R(A, B, C, D, E), F = {A D, B Ε, DE C}. Η αποσύνθεση του R σε S(A, Β, C) και T(A, B, D, E) διατηρεί τις εξαρτήσεις; 3. Έστω R(A, B, C, D), F = {A C, B C, ΒD A} και η αποσύνθεση του R σε R 1 (A, C) και R 2 (Α, Β, D). (α) ιατηρεί τις εξαρτήσεις; (β) Είναι χωρίς απώλειες; Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 13 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 14 Συνενώσεις Άνευ Απωλειών Προσοχή με τις τιμές null στην αποσύνθεση Αιωρούμενες πλειάδες (dangling tuples) : Εργαζόμενος - Τμήμα - Αποσύνθεση καθολικού σχήματος Επιθυμητές ιδιότητες - διατήρηση εξαρτήσεων (F + = F + ) - όχι απώλειες στη συνένωση (τομή = κλειδί) - όχι επανάληψη πληροφορίας λόγω ΣΕ Κανονικές μορφές Έστω R(A, B, C) καμία ΣΕ, αν A B? Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 15 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 16 Κανονικές Μορφές: Εισαγωγή Κανονικές Μορφές: Εισαγωγή Στόχος: οσμένου ενός σχήματος, αν είναι «καλό» ή χρειάζεται περαιτέρω διάσπαση. Πως; Κανονικές μορφές. Ξέρουμε ότι αν ένα σχήμα είναι σε κάποια Κανονική Μορφή δεν υπάρχουν συγκεκριμένα προβλήματα Με φθίνουσα σειρά (από την πιο περιοριστική στη λιγότερο περιοριστική) BCNF 3NF 2NF 1NF Βασίζεται σε Σ.Ε., οι Σ.Ε. έχουν σχέση με την επανάληψη πληροφορίας Πλεονασμός (επανάληψη πληροφορίας) Ταινία Τίτλος Έτος Διάρκεια Είδος Όνομα-Ηθοποιού Τι συμβαίνει με το (πρωτεύον) κλειδί και τις συναρτησιακές εξαρτήσεις; Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 17 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 18 3

Ένα σχεσιακό σχήμα R είναι σε Κανονική Μορφή Boyce-Codd (BCNF) σε σχέση με ένα σύνολο F συναρτησιακών εξαρτήσεων αν για όλες τις ΣΕ στο F + της μορφής X Y ισχύει τουλάχιστον ένα από τα παρακάτω: -- X Y είναι μια τετριμμένη ΣΕ ή -- X είναι υπερκλειδί (δηλαδή υποψήφιο κλειδί ή υπερσύνολο υποψήφιου κλειδιού) του σχήματος R ηλαδή το αριστερό μέρος κάθε μη τετριμμένης ΣΕ πρέπει να περιέχει ένα κλειδί Το σχήμα μιας Β είναι σε BCNF αν το σχήμα κάθε σχέσης της είναι σε BCNF. 1 Ταινία (Τίτλος, Έτος, ιάρκεια, Είδος, Όνομα-Ηθοποιού) Η σχέση Ταινία δεν είναι σε BCNF (υποψήφιο) κλειδί: {Τίτλος, Έτος, Όνομα-Ηθοποιού} Για παράδειγμα η ΣΕ Τίτλος Έτος ιάρκεια Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 19 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 20 2 Ταινία2 (Τίτλος, Έτος, ιάρκεια, Είδος) Η σχέση Ταινία2 είναι σε BCNF 3 Οποιαδήποτε σχέση με δύο γνωρίσματα είναι σε BCNF Αλγόριθμος Αποσύνθεσης σε BCNF Βρες μια μη τετριμμένη ΣΕ που παραβιάζει τον BCNF ορισμό, έστω X Y και Χ Υ = Αποσύνθεση του αρχικού σχήματος R σε δύο σχήματα R 1 με γνωρίσματα Χ Y R 2 με γνωρίσματα R - Y Ευριστικός: στα δεξιά όσο το δυνατόν περισσότερα γνωρίσματα Αποσύνθεση χωρίς απώλειες; Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 21 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 22 1 Ταινία (Τίτλος, Έτος, ιάρκεια, Είδος, Όνομα-Ηθοποιού) Τίτλος Έτος ιάρκεια Είδος Ταινία1(Τίτλος, Έτος, ιάρκεια, Είδος) Ταινία2(Τίτλος, Έτος, Όνομα-Ηθοποιού) Μπορεί να χρειαστεί παραπάνω από μία αποσύνθεση Αποσύνθεση του αρχικού σχήματος R σε δύο σχήματα -R 1 με γνωρίσματα Χ Y και -R 2 με γνωρίσματα R - Y η R 2 μπορείναμηνείναισεbcnf Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 23 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 24 4

Παραβίαση του BCNF σημαίνει ότι υπάρχει X A όπου το Χ δεν είναι υπερκλειδί Περίπτωση 1: Χ είναι γνήσιο υποσύνολο κάποιου υποψήφιου κλειδιού (μερική εξάρτηση) Περίπτωση 2: Χ δεν είναι γνήσιο υποσύνολο κάποιου υποψήφιου κλειδιού Τότε έστω Κ (υποψήφιο κλειδί) Κ ΧκαιΧ Α (μεταβατική εξάρτηση) εμπορώναεισάγωτιμήτουχ, χωρίς να ξέρω και το «σωστό» Α 2 Πρόβλημα: υπάρχει μια μεταβατική εξάρτηση Ταινία-Εταιρεία (Τίτλος, Έτος, ιάρκεια, Είδος, Εταιρεία-Παραγωγής, ιεύθυνση-εταιρείας) -- {Tίτλος, Έτος} (υποψήφιο) κλειδί Τίτλος Έτος Εταιρεία-Παραγωγής Εταιρεία-Παραγωγής ιεύθυνση-εταιρείας Τίτλος Έτος ιεύθυνση-εταιρείας Ταινία-Εταιρεία1 (Εταιρεία-Παραγωγής, ιεύθυνση-εταιρείας) Ταινία-Εταιρεία2 (Τίτλος, Έτος, ιάρκεια, Είδος, Εταιρεία-Παραγωγής) Γιανααντιστοιχήσουμεμιαταινίασεεταιρείαπρέπειναξέρουμετηδιεύθυνση! Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 25 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 26 εν είναι πάντα δυνατήηαποσύνθεσησεμιαbcnf που να διατηρεί τις εξαρτήσεις Έστω η σχέση Παίζει(Έργο, Κινηματογράφος, Πόλη) με τους περιορισμούς ότι (i) δεν υπάρχουν κινηματογράφοι με το ίδιο όνομα (ii) κάθε κινηματογράφος έχει πολλές αίθουσες (παίζει πολλά έργα) αλλά κάθε έργο παίζεται μόνο σε ένα κινηματογράφο σε κάθε πόλη Κινηματογράφος Πόλη Έργο Πόλη Κινηματογράφος Κλειδιά; {Έργο, Πόλη} {Κινηματογράφος, Έργο} Παίζει(Έργο, Κινηματογράφος, Πόλη) Κινηματογράφος Πόλη Έργο Πόλη Κινηματογράφος Κλειδιά {Έργο, Πόλη} {Κινηματογράφος, Έργο} Αποσύνθεση σε: R 1 {Κινηματογράφος, Πόλη} και R 2 {Κινηματογράφος, Έργο} Κινηματογράφος Odeon-ABANA Village Center Μαρούσι Πόλη Αθήνα Αθήνα Κινηματογράφος Odeon-ΑΒΑΝΑ Village Center Μαρούσι Έργο Vicky Cristina Barcelona Vicky Cristina Barcelona ε μπορώ κοιτάζοντας μόνο την R 2 (ήτηνr 1 ) να δω ότι η εισαγωγή της δεύτερης πλειάδας παραβιάζει μια ΣΕ (πρέπει να κάνω συνένωση!) Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 27 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 28 Ένα σχεσιακό σχήμα R είναι σε τρίτη κανονική μορφή (3ΝF) σε σχέση με ένα σύνολο F συναρτησιακώνεξαρτήσεωνανγιαόλεςτις ΣΕ στο F + της μορφής X Y ισχύει τουλάχιστον ένα από τα παρακάτω: -- X Y είναι μια τετριμμένη ΣΕ ή -- X είναι υπερκλειδί του σχήματος R -- κάθε γνώρισμα Α του Υ - Χπεριέχεται σε κάποιο υποψήφιο κλειδί Πρωτεύον γνώρισμα (prime attribute): Γνώρισμα που ανήκει σε κάποιο υποψήφιο κλειδί BCNF πιο περιοριστική -- αν σε BCNF 3NF Παίζει(Έργο, Κινηματογράφος, Πόλη) Έργο Πόλη Κινηματογράφος Κινηματογράφος Πόλη Κλειδιά {Έργο, Πόλη} {Κινηματογράφος, Έργο} Ησχέσηείναισε3NF Υπάρχει μια μεταβατική εξάρτηση Αλλά απαιτούμε να είναι σε πρωτεύον γνώρισμα Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 29 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 30 5

Αλγόριθμος (Από) σύνθεσης σε 3NF Υπολόγισε το ελάχιστο κάλυμμα F c του F Για κάθε α.μ. Χ μιας συναρτησιακής εξάρτισης του F c έστω Y το σύνολο όλων των γνωρισμάτων Α i που εμφανίζονται στο δ.μ. μιας ΣΕ του F c Χ Α i νέα σχέση με γνωρίσματα Χ Y Αν κανένα από τα σχήματα που δημιουργούνται δεν περιέχει κλειδί, δημιούργησε ένα σχήμα που να περιέχει τα γνωρίσματα που σχηματίζουν κλειδί Αλγόριθμος Αποσύνθεσης σε 3NF Απώλειες στη συνένωση; ιατήρηση εξαρτήσεων; Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 31 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 32 Τραπεζίτης(Όνομα-Υποκαταστήματος, Όνομα-Πελάτη, Όνομα-Τραπεζίτη, Αριθμός Γραφείου) Όνομα-Τραπεζίτη Όνομα-Υποκαταστήματος Αριθμός-Γραφείου Όνομα-Πελάτη Όνομα-Υποκαταστήματος Όνομα-Τραπεζίτη Κλειδιά {Όνομα-Πελάτη, Όνομα-Υποκαταστήματος} 3NF; Τραπεζίτης1(Όνομα-Τραπεζίτη, Όνομα-Υποκαταστήματος Αριθμός-Γραφείου) Τραπεζίτης2(Όνομα-Πελάτη, Όνομα-Υποκαταστήματος, Όνομα-Τραπεζίτη) BCNF; (Επανάληψη) Κανονική Μορφή Boyce-Codd Ένα σχεσιακό σχήμα R είναι σε BCNF σε σχέση με ένα σύνολο F συναρτησιακών εξαρτήσεων αν για όλες τις ΣΕ στο F + της μορφής X Y ισχύει τουλάχιστον ένα από τα παρακάτω: -- X Y είναι μια τετριμμένη ΣΕ ή -- X είναι υπερκλειδί του σχήματος R -- κάθε γνώρισμα Α του Υ - Χπεριέχεταισεκάποιουποψήφιοκλειδί (είναι πρωτεύον γνώρισμα) Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 33 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 34 (Επανάληψη) Κανονικές Μορφές BCNF 3NF Αποφυγή επανάληψης πληροφορίας ναι όχι πάντα Αποσύνθεση χωρίς απώλειες στη συνένωση ναι ναι ΟΛΕΣ οι ΣΧΕΣΕΙΣ 1NF 2NF 3NF BCNF2NF 4NF 2NF 5NF ιατήρηση εξαρτήσεων όχι πάντα ναι Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 35 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 36 6

ΠρώτηΚανονικήΜορφή εύτερη Κανονική Μορφή X Y 1NF (ιστορικοί λόγοι, κάθε γνώρισμα παίρνει ατομικές τιμές) Υ πλήρης εξάρτηση από το Χ αν δεν υπάρχουν περιττά γνωρίσματα στο X (στο α.μ τηςεξάρτησης) (αν υπάρχουν, μερική εξάρτηση) 2NF κάθε μη πρωτεύον γνώρισμα (γνώρισμα που δεν ανήκει στο υποψήφιο κλειδί) είναι πλήρως εξαρτώμενο από το πρωτεύον κλειδί ηλαδή, αφορά κλειδιά με παραπάνω από ένα γνωρίσματα, Όχι Χ Υ, όπου Χ γνήσιο υποσύνολο του πρωτεύοντος κλειδιού και Y μη πρωτεύον γνώρισμα Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 37 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 38 Υπάρχει επανάληψη πληροφορίας που δεν μπορεί να εκφραστεί με απλές ΣΕ Προκύπτουν όταν δυο γνωρίσματα είναι ανεξάρτητα το ένα από το άλλο Ηθοποιός(Όνομα, Οδός, Πόλη, Τίτλος, Έτος) Yποθέτουμε ότι για κάθε ηθοποιό είναι πιθανόν να υπάρχουν πολλές διευθύνσεις Κανένα από τα 5 γνωρίσματα δεν εξαρτάται συναρτησιακά από τα άλλα τέσσερα δεν υπάρχουν μη μη τετριμμένες εξαρτήσεις κλειδί? π.χ., ΌνομαΟδόςΤίτλοςΈτος Πόλη δεν ισχύει Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 39 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 40 (συνέχεια) Ηθοποιός(Όνομα, Οδός, Πόλη, Τίτλος, Έτος) Όλες οι εξαρτήσεις είναι τετριμμένες Ηθοποιός(Όνομα, Οδός, Πόλη, Τίτλος, Έτος) Όνομα Οδός Πόλη Όνομα Οδός Πόλη Τίτλος Έτος Το σχήμα είναι σε BCNF αλλά υπάρχει επανάληψη πληροφορίας που δεν οφείλεται όμως σε συναρτησιακές εξαρτήσεις C. Fisher 123 Mapple Str Hollywood Star Wars 1977 C. Fisher 5 Locust Ln Malibu Empire Strikes Back 1980?? Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 41 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 42 7

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 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 43 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 44 Η διαδικασία Κανονικοποίησης έχει και μειονεκτήματα: o εν είναι δημιουργική o Συνήθως η κανονικοποίηση γίνεται αφού έχουμε κάποιο σχήμα (μας λέει αν είναι «καλό» ή «κακό») o εν προσφέρει ένα εννοιολογικό σχήμα (ασχολείται μόνο με σχέσεις και γνωρίσματα) Όμως, είναι μια ενδιαφέρουσα και πρακτικά χρήσιμη προσπάθεια να γίνουν με τυπικό και συστηματικό τρόπο πράγματα που τα κάνουμε συνήθως διαισθητικά. Ένας μεγάλος αριθμός από εμπορικά εργαλεία, δοθέντων ενός συνόλου Σχημάτων Σχέσεων/Γνωρισμάτων και ενός συνόλου συναρτησιακών εξαρτήσεων δημιουργούν αυτόματα σχήματα σχέσεων σε μορφή 3NF (σπάνια πάνε σε BCNF, 4NF και 5NF) Μια άλλη χρήση τέτοιων εργαλείων είναι να ελέγχουν το επίπεδο κανονικοποίησης μιας σχέσης - γενικά, η χρήση ως ευριστικό εργαλείο επιλογής ενός σχεδιασμού έναντι κάποιου άλλου Υπάρχουν πρακτικά αποτελέσματα της θεωρίας που επιτρέπουν σε έναν σχεδιαστή να κάνει ανάλυση της μορφής: Αν μια σχέση είναι σε 3NF και κάθε υποψήφιο κλειδί αποτελείται ακριβώς από ένα γνώρισμα, τότε είναι και σε 5NF (Fagin, 1991) Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 45 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 46 Εκπαιδευτικό Εργαλείο Η ιαδικασία Σχεδιασμού 1. Συλλογή και ανάλυση απαιτήσεων 2. Εννοιολογικός σχεδιασμός 3. Επιλογή Σ Β 4. Απεικόνιση στο μοντέλο δεδομένων (λογικός σχεδιασμός) 5. Φυσικός σχεδιασμός 6. Υλοποίηση Εργαλείο για υπολογισμό κλειδιού κλπ: http://dbtools.cs.cornell.edu/norm_index.html Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 47 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 48 8