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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Lecture 23: Functional Dependencies and Normalization

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

Βάσεις εδοµένων Ευαγγελία Πιτουρά 2

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

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

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

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

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

Σχεσιακή Άλγεβρα. Σχεσιακή Άλγεβρα

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

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

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

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

Transcript:

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

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων - Αποσύνθεση (διάσπαση) καθολικού σχήµατος Επιθυµητές ιδιότητες - διατήρηση εξαρτήσεων (F + = F + ) - όχι απώλειες στη συνένωση (τοµή = κλειδί) - όχι επανάληψη πληροφορίας λόγω ΣΕ Κανονικές µορφές Έστω R(A, B, C) καµία ΣΕ, αν A B? Ευαγγελία Πιτουρά 2

Σχεδιασµός Σχεσιακών Σχηµάτων (επανάληψη) Επιθυµητές Ιδιότητες Αποσύνθεσης 1. Συνενώσεις Άνευ Απωλειών Η φυσική συνένωση των σχέσεων που προκύπτουν µας δίνει ακριβώς την αρχική σχέση (χωρίς επιπρόσθετες πλειάδες): r = π R1 (r) * π R2 (r) * π Rn (r) R1 R2 R1 ή R1 R2 R2 ανήκει στο F +, δηλαδή τα κοινά γνωρίσµατα των δύο σχηµάτων είναι κλειδί για τουλάχιστον ένα από τα δύο 2. Διατήρηση Εξαρτήσεων Στόχος: Έλεγχος διατήρησης εξαρτήσεων όταν γίνονται τροποποιήσεις χωρίς να υπολογίζουµε τις αρχικές σχέσεις (αποφυγή των συνενώσεων) F = F1 F2... Fn, πρέπει F + = F + 3. Αποφυγή Επανάληψης Πληροφορίας, πως; Κανονικές Μορφές Ευαγγελία Πιτουρά 3

Παράδειγµα Έστω R(A, B, C, D, E), F = {A D, B Ε, DE C}. Η αποσύνθεση του R σε S(A, Β, C) και T(A, B, D, E) διατηρεί τις εξαρτήσεις; Ιδιότητες της διάσπασης/αποσύνθεσης της R σε S και Τ (i) Lossless join (χωρίς απώλειες στη συνένωση, µη προσθετική συνένωση) (ii) Διατήρηση εξαρτήσεων (i) Υπολογισµός του περιορισµού της F στο S (ii) Υπολογισµός του περιορισµού της F στο T Ευαγγελία Πιτουρά 4

Κανονικές Μορφές: Εισαγωγή Στόχος: Δοσµένου ενός σχήµατος, αν είναι «καλό» ή χρειάζεται περαιτέρω διάσπαση. Πως; Κανονικές µορφές. Ξέρουµε ότι αν ένα σχήµα είναι σε κάποια Κανονική Μορφή δεν υπάρχουν συγκεκριµένα προβλήµατα Με φθίνουσα σειρά (από την πιο περιοριστική στη λιγότερο περιοριστική) BCNF 3NF 2NF 1NF Βασίζεται σε Σ.Ε., οι Σ.Ε. έχουν σχέση µε την επανάληψη πληροφορίας Ευαγγελία Πιτουρά 5

Κανονικές Μορφές: Εισαγωγή Πλεονασµός (επανάληψη πληροφορίας) Ταινία Τίτλος Έτος ιάρκεια Είδος Όνοµα-Ηθοποιού Τι συµβαίνει µε το (πρωτεύον) κλειδί και τις συναρτησιακές εξαρτήσεις; Ευαγγελία Πιτουρά 6

Boyce-Codd Κανονική Μορφή Ένα σχεσιακό σχήµα R είναι σε Κανονική Μορφή Boyce-Codd (BCNF) σε σχέση µε ένα σύνολο F συναρτησιακών εξαρτήσεων αν για όλες τις ΣΕ στο F + της µορφής X Y ισχύει τουλάχιστον ένα από τα παρακάτω: -- X Yείναι µια τετριµµένη ΣΕ ή -- X είναι υπερκλειδί (δηλαδή υποψήφιο κλειδί ή υπερσύνολο υποψήφιου κλειδιού) του σχήµατος R Δηλαδή το αριστερό µέρος κάθε µη τετριµµένης ΣΕ πρέπει να περιέχει ένα κλειδί Το σχήµα µιας ΒΔ είναι σε BCNF αν το σχήµα κάθε σχέσης της είναι σε BCNF. Ευαγγελία Πιτουρά 7

Boyce-Codd Κανονική Μορφή Παράδειγµα 1 Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος, Όνοµα-Ηθοποιού) Η σχέση Ταινία δεν είναι σε BCNF (υποψήφιο) κλειδί: {Τίτλος, Έτος, Όνοµα-Ηθοποιού} Για παράδειγµα η ΣΕ Τίτλος Έτος Διάρκεια Ευαγγελία Πιτουρά 8

Boyce-Codd Κανονική Μορφή Παράδειγµα 2 Ταινία2 (Τίτλος, Έτος, Διάρκεια, Είδος) Η σχέση Ταινία2 είναι σε BCNF Παράδειγµα 3 Οποιαδήποτε σχέση µε δύο γνωρίσµατα είναι σε BCNF Ευαγγελία Πιτουρά 9

Boyce-Codd Κανονική Μορφή Αλγόριθµος Αποσύνθεσης σε BCNF Βρες µια µη τετριµµένη ΣΕ που παραβιάζει τον BCNF ορισµό, έστω X Y και Χ Υ = Αποσύνθεση του αρχικού σχήµατος R σε δύο σχήµατα R 1 µε γνωρίσµατα Χ Y R 2 µε γνωρίσµατα R - Y Ευριστικός: στα δεξιά όσο το δυνατόν περισσότερα γνωρίσµατα Αποσύνθεση χωρίς απώλειες; Ευαγγελία Πιτουρά 10

Boyce-Codd Κανονική Μορφή Παράδειγµα 1 Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος, Όνοµα-Ηθοποιού) Τίτλος Έτος Διάρκεια Είδος Ταινία1(Τίτλος, Έτος, Διάρκεια, Είδος) Ταινία2(Τίτλος, Έτος, Όνοµα-Ηθοποιού) Ευαγγελία Πιτουρά 11

Boyce-Codd Κανονική Μορφή Μπορεί να χρειαστεί παραπάνω από µία αποσύνθεση Αποσύνθεση του αρχικού σχήµατος R σε δύο σχήµατα - R 1 µε γνωρίσµατα Χ Yκαι - R 2 µε γνωρίσµατα R - Y Συνεχείς διασπάσεις, αφού καταλήγουµε σε σχέσεις µε αυστηρά µικρότερο αριθµό γνωρισµάτων, η διαδικασία τερµατίζει Ευαγγελία Πιτουρά 12

Boyce-Codd Κανονική Μορφή Παραβίαση του BCNF σηµαίνει ότι υπάρχει X A όπου το Χ δεν είναι υπερκλειδί Περίπτωση 1: Χ είναι γνήσιο υποσύνολο κάποιου υποψήφιου κλειδιού (µερική εξάρτηση) Περίπτωση 2: Χ δεν είναι γνήσιο υποσύνολο κάποιου υποψήφιου κλειδιού Τότε έστω Κ (υποψήφιο κλειδί) Κ Χ Α(µεταβατική εξάρτηση) Δε µπορώ να συνδυάσω µια τιµή του Χ µε µια τιµή του Κ χωρίς να συνδυάσω µια τιµή Α µε µια τιµή Χ Δε µπορώ να εισάγω τιµή του Χ, χωρίς να ξέρω και το «σωστό» Α Ευαγγελία Πιτουρά 13

Συναρτησιακές Εξαρτήσεις Παράδειγµα: Θεωρούµε ότι ένας λογαριασµός µπορεί να ανήκει σε παραπάνω από έναν πελάτη και ένας πελάτης µπορεί να έχει πολλούς λογαριασµούς. Λογαριασµός Όνοµα-Υποκαταστήµατος Αριθµός-Λογαριασµού Ποσό Όνοµα-Πελάτη Παράδειγµα: Ένας Πελάτης πολλά δάνεια και ένα Δάνειο από παραπάνω από έναν πελάτη Πελάτης Όνοµα-Πελάτη Οδός Πόλη Αριθµός- ανείου ιεύθυνση πελάτη Και στις δυο περιπτώσεις έχω µερική εξάρτηση Ευαγγελία Πιτουρά 14

Boyce-Codd Κανονική Μορφή Παράδειγµα 2 Ταινία-Εταιρεία (Τίτλος, Έτος, Διάρκεια, Είδος, Εταιρεία-Παραγωγής, Διεύθυνση-Εταιρείας) Πρόβληµα: υπάρχει µια µεταβατική εξάρτηση Τίτλος Έτος Εταιρεία-Παραγωγής Εταιρεία-Παραγωγής Διεύθυνση-Εταιρείας Τίτλος Έτος Διεύθυνση-Εταιρείας Για να αντιστοιχήσουµε µια ταινία σε εταιρεία πρέπει να ξέρουµε τη διεύθυνση! Ταινία-Εταιρεία1 (Εταιρεία-Παραγωγής, Διεύθυνση-Εταιρείας) Ταινία-Εταιρεία2 (Τίτλος, Έτος, Διάρκεια, Είδος, Εταιρεία-Παραγωγής) Ευαγγελία Πιτουρά 15

Boyce-Codd Κανονική Μορφή Δεν είναι πάντα δυνατή η αποσύνθεση σε µια BCNF που να διατηρεί τις εξαρτήσεις Παράδειγµα Έστω η σχέση Παίζει(Έργο, Κινηµατογράφος, Πόλη) µε τους περιορισµούς ότι (i) δεν υπάρχουν κινηµατογράφοι µε το ίδιο όνοµα (ii) σε κάθε κινηµατογράφο παίζονται πολλά έργα (έχει πολλές αίθουσες) αλλά κάθε έργο παίζεται µόνο σε ένα κινηµατογράφο σε κάθε πόλη Κινηµατογράφος Πόλη Έργο Πόλη Κινηµατογράφος Κλειδιά; {Έργο, Πόλη} {Κινηµατογράφος, Έργο} Ευαγγελία Πιτουρά 16

Boyce-Codd Κανονική Μορφή Παίζει(Έργο, Κινηµατογράφος, Πόλη) Κινηµατογράφος Πόλη Έργο Πόλη Κινηµατογράφος Κλειδιά {Έργο, Πόλη} {Κινηµατογράφος, Έργο} Αποσύνθεση σε: R 1 {Κινηµατογράφος, Πόλη} και R 2 {Κινηµατογράφος, Έργο} Διατηρεί τις εξαρτήσεις; Κινηµατογράφος Odeon-ABANA Village Center Μαρούσι Πόλη Αθήνα Αθήνα Κινηµατογράφος Odeon-ΑΒΑΝΑ Village Center Μαρούσι Έργο Vicky Cristina Barcelona Vicky Cristina Barcelona Δε µπορώ κοιτάζοντας µόνο την R 2 (ή την R 1 ) να δω ότι η εισαγωγή της δεύτερης πλειάδας παραβιάζει µια ΣΕ (πρέπει να κάνω συνένωση!) Ευαγγελία Πιτουρά 17

Τρίτη Κανονική Μορφή Ένα σχεσιακό σχήµα R είναι σε τρίτη κανονική µορφή (3ΝF) σε σχέση µε ένα σύνολο F συναρτησιακών εξαρτήσεων αν για όλες τις ΣΕ στο F + της µορφής X Y ισχύει τουλάχιστον ένα από τα παρακάτω: -- X Yείναι µια τετριµµένη ΣΕ ή -- X είναι υπερκλειδί του σχήµατος R -- κάθε γνώρισµα Α του Υ - Χ περιέχεται σε κάποιο υποψήφιο κλειδί Πρωτεύον γνώρισµα (prime attribute): Γνώρισµα που ανήκει σε κάποιο υποψήφιο κλειδί BCNF πιο περιοριστική -- αν σε BCNF 3NF Ευαγγελία Πιτουρά 18

Τρίτη Κανονική Μορφή Παράδειγµα Παίζει(Έργο, Κινηµατογράφος, Πόλη) Έργο Πόλη Κινηµατογράφος Κινηµατογράφος Πόλη Κλειδιά {Έργο, Πόλη} {Κινηµατογράφος, Έργο} Η σχέση είναι σε 3NF Υπάρχει µια µεταβατική εξάρτηση Αλλά απαιτούµε να είναι σε πρωτεύον γνώρισµα Ευαγγελία Πιτουρά 19

Τρίτη Κανονική Μορφή Αλγόριθµος (Από) σύνθεσης σε 3NF Υπολόγισε το ελάχιστο κάλυµµα F c του F της αρχικής R Για κάθε α.µ. Χ µιας συναρτησιακής εξάρτισης του F c έστω Y το σύνολο όλων των γνωρισµάτων Α i που εµφανίζονται στο δ.µ. µιας ΣΕ του F c Χ Α i νέα σχέση µε γνωρίσµατα Χ Y Αν κανένα από τα σχήµατα που δηµιουργούνται δεν περιέχει κλειδί της R, δηµιούργησε ένα σχήµα σχέσης που να περιέχει τα γνωρίσµατα που σχηµατίζουν κλειδί (όχι απώλεια) Ευαγγελία Πιτουρά 20

Τρίτη Κανονική Μορφή Αλγόριθµος Αποσύνθεσης σε 3NF Απώλειες στη συνένωση; Διατήρηση εξαρτήσεων; Ευαγγελία Πιτουρά 21

Τρίτη Κανονική Μορφή Παράδειγµα Τραπεζίτης(Όνοµα-Υποκαταστήµατος, Όνοµα-Πελάτη, Όνοµα-Τραπεζίτη, Αριθµός Γραφείου) Όνοµα-Τραπεζίτη Όνοµα-Υποκαταστήµατος Αριθµός-Γραφείου Όνοµα-Πελάτη Όνοµα-Υποκαταστήµατος Όνοµα-Τραπεζίτη Κλειδιά {Όνοµα-Πελάτη, Όνοµα-Υποκαταστήµατος} 3NF; Τραπεζίτης1(Όνοµα-Τραπεζίτη, Όνοµα-Υποκαταστήµατος Αριθµός-Γραφείου) Τραπεζίτης2(Όνοµα-Πελάτη, Όνοµα-Υποκαταστήµατος, Όνοµα-Τραπεζίτη) BCNF; Ευαγγελία Πιτουρά 22

Σχεδιασµός Σχεσιακών Σχηµάτων (Επανάληψη) Κανονική Μορφή Boyce-Codd Ένα σχεσιακό σχήµα R είναι σε BCNF σε σχέση µε ένα σύνολο F συναρτησιακών εξαρτήσεων αν για όλες τις ΣΕ στο F + της µορφής X Y ισχύει τουλάχιστον ένα από τα παρακάτω: -- X Yείναι µια τετριµµένη ΣΕ ή -- X είναι υπερκλειδί του σχήµατος R Τρίτη Κανονική Μορφή -- κάθε γνώρισµα Α του Υ - Χ περιέχεται σε κάποιο υποψήφιο κλειδί (είναι πρωτεύον γνώρισµα) Ευαγγελία Πιτουρά 23

Σχεδιασµός Σχεσιακών Σχηµάτων (Επανάληψη) BCNF 3NF Αποφυγή επανάληψης πληροφορίας ναι όχι πάντα Αποσύνθεση χωρίς απώλειες στη συνένωση ναι ναι Διατήρηση εξαρτήσεων όχι πάντα ναι Ευαγγελία Πιτουρά 24

Πρώτη Κανονική Μορφή 1NF, 2NF ιστορικής σηµασίας 1NF (ιστορικοί λόγοι, κάθε γνώρισµα παίρνει ατοµικές τιµές) Ευαγγελία Πιτουρά 25

Δεύτερη Κανονική Μορφή X Y Υ πλήρης εξάρτηση από το Χ αν δεν υπάρχουν περιττά γνωρίσµατα στο X (στο α.µ της εξάρτησης) (αν υπάρχουν περιττά γνωρίσµατα, µερική εξάρτηση) Δε µπορούµε να αφαιρέσουµε γνωρίσµατα από το Χ και η εξάρτηση να συνεχίζει να ισχύει 2NF κάθε µη πρωτεύον γνώρισµα (γνώρισµα που δεν ανήκει στο υποψήφιο κλειδί) είναι πλήρως εξαρτώµενο από το πρωτεύον κλειδί Ισχύει: Πρωτεύον Μη πρωτεύον (το 2NF λέει ότι αυτή είναι πλήρης εξάρτηση, δεν µπορούµε στο α.µ. υποσύνολο του πρωτεύον) Προφανώς 2NF αφορά κλειδιά µε παραπάνω από ένα γνωρίσµατα Ευαγγελία Πιτουρά 26

Δεύτερη Κανονική Μορφή 2NF κάθε µη πρωτεύον γνώρισµα (γνώρισµα που δεν ανήκει στο υποψήφιο κλειδί) είναι πλήρως εξαρτώµενο από το πρωτεύον κλειδί Δηλαδή, δεν είναι σε 2ΝF αν κάποιο µη πρωτεύον γνώρισµα είναι µερικώς εξαρτηµένο από πρωτεύον, δηλαδή υπάρχει Χ -> Υ όπου Χ υποσύνολο κλειδιού και Υ µη πρωτεύον 3NF => 2NF γιατί αν X->Y τότε είτε Χ υπερκλειδί είτε Υ πρωτεύον Ευαγγελία Πιτουρά 27

Κανονικές Μορφές ΟΛΕΣ οι ΣΧΕΣΕΙΣ 1NF 2NF 3NF BCNF2NF 4NF 2NF 5NF Ευαγγελία Πιτουρά 28

Πλειότιµες Εξαρτήσεις Υπάρχει επανάληψη πληροφορίας που δεν µπορεί να εκφραστεί µε απλές ΣΕ Ευαγγελία Πιτουρά 29

Πλειότιµες Εξαρτήσεις Πλειότιµες Εξαρτήσεις Προκύπτουν όταν δυο γνωρίσµατα είναι ανεξάρτητα το ένα από το άλλο Παράδειγµα Ηθοποιός(Όνοµα, Οδός, Πόλη, Τίτλος, Έτος) Ας υποθέσουµε ότι για κάθε ηθοποιό είναι πιθανόν να υπάρχουν πολλές διευθύνσεις, και ένα ηθοποιός παίζει σε πολλές ταινίες Κανένα από τα 5 γνωρίσµατα δεν εξαρτάται συναρτησιακά από τα άλλα τέσσερα δεν υπάρχουν µη µη τετριµµένες εξαρτήσεις κλειδί? π.χ., Όνοµα Οδός Τίτλος Έτος Πόλη δεν ισχύει Ευαγγελία Πιτουρά 30

Πλειότιµες Εξαρτήσεις Παράδειγµα (συνέχεια) Ηθοποιός(Όνοµα, Οδός, Πόλη, Τίτλος, Έτος) Όλες οι εξαρτήσεις είναι τετριµµένες Το σχήµα είναι σε BCNF αλλά υπάρχει επανάληψη πληροφορίας που δεν οφείλεται όµως σε συναρτησιακές εξαρτήσεις Ευαγγελία Πιτουρά 31

Πλειότιµες Εξαρτήσεις Παράδειγµα Ηθοποιός(Όνοµα, Οδός, Πόλη, Τίτλος, Έτος) Όνοµα Οδός Πόλη Ο ηθοποιός C. Fisher έχει 2 διευθύνσεις: Όνοµα Οδός Πόλη Τίτλος Έτος C. Fisher 123 Mapple Str Hollywood Star Wars 1977 C. Fisher 5 Locust Ln Malibu Empire Strikes Back 1980?? Ευαγγελία Πιτουρά 32

Πλειότιµες Εξαρτήσεις X Y Για κάθε ζεύγος πλειάδων 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] Ευαγγελία Πιτουρά 33

Πλειότιµες Εξαρτήσεις A 1 A 2 A n B 1 B 2 B m Όνοµα Πόλη Οδός Τίτλος Έτος Χ Υ 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 t 1 c k a 1 a 2 a n b 1 b 2 b m c 1 c 2 c k t 2 t 3 t 4 Ευαγγελία Πιτουρά 34

Τιµές Null και απώλειες ΕΡΓΑΖΟΜΕΝΟΣ(ΕΡ-ΟΝΟΜΑ, ΑΤ, ΗΜ-ΓΕΝ, ΔΙΕΥΘΥΝΣΗ, ΚΩΔ-ΤΜΗΜΑΤΟΣ) ΤΜΗΜΑ(ΤΜ-ΟΝΟΜΑ, ΚΩΔ-ΤΜΗΜΑΤΟΣ) Κάποιο εργαζόµενοι δεν έχουν ανατεθεί σε τµήµατα (null στο ΚΩΔ- ΤΜΗΜΑΤΟΣ που είναι ξένο κλειδί) Θέλουµε να βρούµε τα ζεύγη (ΕΡ-ΟΝΟΜΑ, ΤΜ-ΟΝΟΜΑ) Φυσική συνένωση? Ευαγγελία Πιτουρά 35

Σχεδιασµός Σχεσιακών Σχηµάτων Η διαδικασία Κανονικοποίησης έχει και µειονεκτήµατα: o o o Δεν είναι δηµιουργική Συνήθως η κανονικοποίηση γίνεται αφού έχουµε κάποιο σχήµα (µας λέει αν είναι «καλό» ή «κακό») Δεν προσφέρει ένα εννοιολογικό σχήµα (ασχολείται µόνο µε σχέσεις και γνωρίσµατα) Όµως, είναι µια ενδιαφέρουσα και πρακτικά χρήσιµη προσπάθεια να γίνουν µε τυπικό και συστηµατικό τρόπο πράγµατα που τα κάνουµε συνήθως διαισθητικά. Ευαγγελία Πιτουρά 36

Σχεδιασµός Σχεσιακών Σχηµάτων Ένας µεγάλος αριθµός από εµπορικά εργαλεία, δοθέντων ενός συνόλου Σχηµάτων Σχέσεων/Γνωρισµάτων και ενός συνόλου συναρτησιακών εξαρτήσεων δηµιουργούν αυτόµατα σχήµατα σχέσεων σε µορφή 3NF (σπάνια πάνε σε BCNF, 4NF και 5NF) Μια άλλη χρήση τέτοιων εργαλείων είναι να ελέγχουν το επίπεδο κανονικοποίησης µιας σχέσης - γενικά, η χρήση ως ευριστικό εργαλείο επιλογής ενός σχεδιασµού έναντι κάποιου άλλου Υπάρχουν πρακτικά αποτελέσµατα της θεωρίας που επιτρέπουν σε έναν σχεδιαστή να κάνει ανάλυση της µορφής: Αν µια σχέση είναι σε 3NF και κάθε υποψήφιο κλειδί αποτελείται ακριβώς από ένα γνώρισµα, τότε είναι και σε 5NF (Fagin, 1991) Ευαγγελία Πιτουρά 37

Σχεδιασµός Σχεσιακών Σχηµάτων Η Διαδικασία Σχεδιασµού 1. Συλλογή και ανάλυση απαιτήσεων 2. Εννοιολογικός σχεδιασµός 3. Επιλογή ΣΔΒΔ 4. Απεικόνιση στο µοντέλο δεδοµένων (λογικός σχεδιασµός) 5. Φυσικός σχεδιασµός 6. Υλοποίηση Ευαγγελία Πιτουρά 38