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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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


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


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

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

Lecture 21: Functional Dependencies and Normalization

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

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

Σχεσιακός Λογισμός. Σχεσιακός Λογισμός Πλειάδων. σχεσιακά πλήρης γλώσσα

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

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

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

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

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

Σχεσιακός Λογισµός. Σχεσιακός Λογισµός Πλειάδων. σχεσιακά πλήρης γλώσσα

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

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

Lecture 21: Functional Dependencies and Normalization

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

Lecture 23: Functional Dependencies and Normalization

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχεσιακός Λογισµός. Σχεσιακό Μοντέλο. Έννοιες Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Πλειάδων Σχεσιακός Λογισµός Πεδίου

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

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

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

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

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

Lecture 24: Functional Dependencies and Normalization IV

Transcript:

Εισαγωγή Θα εξετάσουμε πότε ένα σχεσιακό σχήμα για μια βάση δεδομένων είναι «καλό» Λογικός Σχεδιασμός Σχεσιακών Σχημάτων Γενικές Οδηγίες Η Μέθοδος της Αποσύνθεσης (γενική μεθοδολογία) Επιθυμητές Ιδιότητες της Αποσύνθεσης Συνένωση Άνευ Απωλειών Αποφυγή Επανάληψης Πληροφορίας Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Σχεδιασμός Σχεσιακών Σχημάτων Σχεδιασμός Σχεσιακών Σχημάτων Σχεδιασμός καλών σχεσιακών σχημάτων Μη τυπικές - γενικές κατευθύνσεις Θεωρία κανονικών μορφών που βασίζεται στις συναρτησιακές εξαρτήσεις 1. Σημασιολογία 2. Ελάττωση πλεονασμού 3. Ελάττωση τιμών null 4. Μη πλασματικές πλειάδες Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 3 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 4 1. Σημασιολογία Τίτλος Έτος Διάρκεια Είδος Παίζει Όνομα Τίτλος Έτος Εύκολη η εξήγηση της σημασίας του Αποφυγή συνδυασμού γνωρισμάτων από πολλές οντότητες και συσχετίσεις στην ίδια σχέση Ηθοποιός Όνομα Διεύθυνση Έτος-Γέννησης 2. Πλεονασμός (επανάληψη πληροφορίας) Εισαγωγή Για την εισαγωγή μιας νέας ταινίας πρέπει να εισάγουμε τουλάχιστον έναν ηθοποιό (τιμή null;) Για την εισαγωγή ενός ηθοποιού στην ταινία πρέπει να επαναλάβουμε τα της ταινίας Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 5 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 6 1

ιαγραφή Τι γίνεται αν διαγράψουμε και τον τελευταίο ηθοποιό ιαγραφή μιας ταινίας; Τροποποίηση Τι γίνεται αν θελήσουμε να τροποποιήσουμε τη διάρκεια μιας ταινίας; Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 7 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 8 3. Αποφυγή τιμών null 4. Αποφυγή δημιουργίας πλασματικών πλειάδων Ηθοποιός Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού (αδυναμία αναπαράστασης συγκεκριμένης πληροφορίας) Τίτλος Έτος Διάρκεια Είδος Ηθοποιός Όνομα Διεύθυνση Έτος-Γέννησης Παίζει Τίτλος Όνομα-Ηθοποιού Ζευγάρι-Ηθοποιών Όνομα Σύζυγος-Ηθοποιού Χάνουμε πληροφορία δεν μπορούμε να βρούμε ποιος ηθοποιός σε ποια ταινία Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 9 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 10 Αλγόριθμος Σχεδιασμού - Εισαγωγή Οτρόπος που σχεδιάζαμε ένα σχήμα Β : Μέχρι τώρα, από το εννοιολογικό στο σχεσιακό μοντέλο Θα δούμε ένα γενικό τυπικό τρόπο κατασκευής του σχήματος Γενικά: Ξεκινάμε από το καθολικό σχήμα (όλα τα ) Συνεχείς διασπάσεις έτσι ώστε τα σχήματα που προκύπτουν να ικανοποιούν κάποιες ιδιότητες (να είναι σε κάποιες κανονικές μορφές) Αλγόριθμος Σχεδιασμού Ένας γενικός (θεωρητικός) τρόπος κατασκευής του σχήματος Αποσύνθεση (decomposition) Αλγόριθμος σχεδιασμού 1. Αρχικά ένα καθολικό σχήμα σχέσης που περιέχει όλα τα 2. Προσδιορισμός των συναρτησιακών εξαρτήσεων 3. ιάσπαση σε ένα σύνολο από σχήματα που ικανοποιούν κάποιες ιδιότητες Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 11 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 12 2

Παράδειγμα Αποσύνθεση R = {Τίτλος, Έτος, ιάρκεια, Είδος, Όνομα-Ηθοποιού, ιεύθυνση, Έτος-Γέννησης} Τίτλος Έτος Είδος ιάρκεια Όνομα Ηθοποιού ιεύθυνση Όνομα-Ηθοποιού Έτος Γέννησης Πως μπορούμε να πάρουμε την αρχική σχέση; R 1 = {Τίτλος, Έτος, ιάρκεια, Είδος} R 2 = {Τίτλος, Έτος, Όνομα- Ηθοποιού, ιεύθυνση, Έτος- Γέννησης} Μπορούμε να διασπάσουμε την R 2 με τον ίδιο τρόπο. Τυπικός ορισμός Αλγόριθμος Σχεδιασμού Αρχικά ένα καθολικό σχήμα 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 } πλειάδες Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 13 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 14 r(r) Α B C r 1 (R 1 ) A B 1 2 4 2 Αλγόριθμος Σχεδιασμού (παράδειγμα) Έστω το (καθολικό) σχήμα R(A, B, C) αποσύνθεση σε R 1 (A, B) και R 2 (B, C) Τι γίνεται με τα στιγμιότυπα (σχέσεις) που ανήκουν στο R, συμβολισμός r(r) r 2 (R 2 ) B C 2 5 R 1 R 2 = Β Μπορούμε να πάρουμε το αρχικό στιγμιότυπο; Φυσική συνένωση r 1 * r 2 Αποσύνθεση Έστω ένα σχεσιακό σχήμα 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 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 15 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 16 Έστω r(r) και r i = π Ri (r), i = 1,..,n ---- Παράδειγμα r Α B C r 1 A B r 2 B C 1 2 4 2 2 5 εν μπορούμε να πάρουμε την αρχική σχέση r από τα r 1 και r 2 Αποσύνθεση Έστω το σχήμα R(A, B, C) αποσύνθεση σε R 1 (A, B) και R 2 (B, C) Τι γίνεται με τα στιγμιότυπα (σχέσεις) που ανήκουν στο R, συμβολισμός r(r) ή r r r 1 * r2 * * r n r 1 * r 2 A B C 1 2 5 4 Έστω το σχήμα R(A, B, C) αποσύνθεση σε R 1 (A, C) και R 2 (B, C) Τι γίνεται με τα στιγμιότυπα (σχέσεις) που ανήκουν στο R, συμβολισμός R(r) r(r) Α B C Μπορούμε να πάρουμε το R 1 R 2 = C αρχικό στιγμιότυπο; Φυσική συνένωση r 1 * r 2 r 1 (R 1 ) A C r 2 (R 2 ) B C 1 3 4 5 2 5 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 17 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 18 3

Επιθυμητές Ιδιότητες Αποσύνθεσης Επιθυμητές Ιδιότητες για την Αποσύνθεση Παράδειγμα 1. Έστω C το σύνολο περιορισμών. Μια αποσύνθεση του R σε {R 1, R 2,.., R n } είναι μια αποσύνθεση άνευ απωλειών στη συνένωση (lossless join decomposition) αν για όλες τις σχέσεις r(r) που είναι νόμιμες στο C ισχύει r Α B C r 1 A B r 2 B C 1 2 4 2 2 5 r 1 * r 2 A B C 1 2 5 4 r = π R1 (r) * π R2 (r) * π Rn (r) r 1 A C r 2 B C 1 3 4 5 2 5 r 1 * r 2 = ; Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 19 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 20 Θεώρημα Έστω R ένα σχεσιακό σχήμα και F ένα σύνολο από συναρτησιακές εξαρτήσεις στο R. Έστω R 1 και R 2 μια αποσύνθεση του R. Αν μια τουλάχιστον από τις ΣΕ R 1 R 2 R 1 ή R 1 R 2 R 2 ανήκει στο F + τότε η διάσπαση είναι χωρίς απώλειες στη συνένωση. ηλαδή τα κοινά των δύο σχημάτων είναι κλειδί για τουλάχιστον ένα από τα δύο σχήματα Παράδειγμα: R = {Τίτλος, Έτος, ιάρκεια, Είδος, Όνομα- Ηθοποιού, ιεύθυνση, Έτος-Γέννησης} Τίτλος Έτος ιάρκεια Τίτλος Έτος Είδος Όνομα Ηθοποιού ιεύθυνση Όνομα-Ηθοποιού Έτος Γέννησης R 1 = {Τίτλος, Έτος, ιάρκεια, Είδος} R 2 = {Τίτλος, Έτος, Όνομα- Ηθοποιού, ιεύθυνση, Έτος- Γέννησης} R 1 R 2 = {Τίτλος, Έτος} Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 21 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 22 Επιθυμητές Ιδιότητες Αποσύνθεσης Επιθυμητές Ιδιότητες για την Αποσύνθεση 2. Στόχος: Για να ελέγχουμε ότι διατηρούνται οι Σ.Ε. όταν γίνονται τροποποιήσεις σε μία από τις σχέσεις r i (R i ) να αρκεί να ελέγξουμε τι συγκεκριμένη σχέση (δηλαδή, να μη χρειάζεται να υπολογίσουμε τις αρχικές σχέσεις - αποφυγή των συνενώσεων) Έστω F ένα σύνολο από ΣΕ στο σχήμα R και {R 1, R 2,.., R n } μια αποσύνθεση του R. F i περιορισμός του F στο R i είναι το σύνολο όλων των συναρτησιακών εξαρτήσεων του F + που περιέχουν μόνο του R i. Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 23 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 24 4

Παράδειγμα: Υπολογισμός του περιορισμού του F σε ένα σχήμα Εφαρμογή 1: Έστω R(A, B, C, D), F = {A B, B C}. Περιορισμός του F στο S(A, C) (δηλαδή ποιες ΣΕ του F + ισχύουν στο S) Εφαρμογή 2: Έστω R(A, B, C, D, E), F = {A D, B Ε, DE C}. Περιορισμός του F στο S(A, B, C) Έστω F ένα σύνολο από ΣΕ στο σχήμα R και {R 1, R 2,.., R n } μια αποσύνθεση του R. Έστω F = F 1 F 2... F n Η αποσύνθεση είναι μια αποσύνθεση που διατηρεί τις εξαρτήσεις (dependency preserving) αν F + = F + Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 25 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 26 Παράδειγμα: Πως δείχνουμε αν μια διάσπαση διατηρεί τις εξαρτήσεις Έστω R(A, B, C, D), F = {A C, B C, Β A}. Έστω η αποσύνθεση S(A, C) και Τ(Α, Β, D) Μερικά ακόμα παραδείγματα: 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) διατηρεί τις εξαρτήσεις ; Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 27 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 28 Σχεδιασμός Σχεσιακών Σχημάτων - Αποσύνθεση καθολικού σχήματος Επιθυμητές ιδιότητες - διατήρηση εξαρτήσεων - όχι απώλειες στη συνένωση - όχι επανάληψη πληροφορίας λόγω ΣΕ Παράδειγμα 1. Έστω R(A, B, C, D), F = {A C, B C, ΒD A} και η αποσύνθεση του R σε R 1 (A, C) και R 2 (Α, Β, D). (α) ιατηρεί τις εξαρτήσεις; (β) Είναι χωρίς απώλειες; - Συνέχεια: Κανονικές Μορφές BCNF 3NF Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 29 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 30 5

Σχεδιασμός Σχεσιακών Σχημάτων (επανάληψη) Σχεδιασμός Σχεσιακών Σχημάτων (επανάληψη) Σχεδιασμός καλών σχεσιακών σχημάτων Μη τυπικές - γενικές κατευθύνσεις 1. Σημασιολογία 2. Ελάττωση πλεονασμού 3. Ελάττωση τιμών null 4. Μη πλασματικές πλειάδες Αποσύνθεση (decomposition) Αλγόριθμος σχεδιασμού Αρχικά ένα καθολικό σχήμα σχέσης που περιέχει όλα τα Προσδιορισμός των συναρτησιακών εξαρτήσεων ιάσπαση σε ένα σύνολο από σχήματα που ικανοποιούν κάποιες ιδιότητες Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 31 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 32 Σχεδιασμός Σχεσιακών Σχημάτων (επανάληψη) Έστω ένα σχεσιακό σχήμα R. Ένα σύνολο από σχεσιακά σχήματα {R 1, R 2,.., R n } είναι μια αποσύνθεση του R αν R = R 1, R 2,, R n Σχεδιασμός Σχεσιακών Σχημάτων (επανάληψη) Επιθυμητές Ιδιότητες Αποσύνθεσης 1. Η φυσική συνένωση των σχέσεων που προκύπτουν μας δίνει ακριβώς την αρχική σχέση (χωρίς επιπρόσθετες πλειάδες): r = π R1 (r) * π R2 (r) * π Rn (r) R1 R2 R1 ή R1 R2 R2 ανήκει στο F +, δηλαδή τα κοινά των δύο σχημάτων είναι κλειδί για τουλάχιστον ένα από τα δύο ηλαδή, i = 1,..,n R i R Έστω r(r) και r i = π Ri (r), i = 1,..,n r r 1 * r2 * * r n πλειάδες 2. Στόχος: Έλεγχος διατήρησης εξαρτήσεων όταν γίνονται τροποποιήσεις χωρίς να υπολογίζουμε τις αρχικές σχέσεις (αποφυγή των συνενώσεων) F = F1 F2... Fn, πρέπει F + = F + 3. Αποφυγή Επανάληψης Πληροφορίας, πως; Κανονικές Μορφές Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 33 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 34 6