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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Lecture 21: Functional Dependencies and Normalization

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

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

Lecture 21: Functional Dependencies and Normalization

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

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

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

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


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

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

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

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

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

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

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

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

Lecture 23: Functional Dependencies and Normalization

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

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

Lecture 24: Functional Dependencies and Normalization IV

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

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

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

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

Επεξεργασία Ερωτήσεων

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

Transcript:

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

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

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

r(r) Α B C R 1 R 2 = C r 1 (R 1 ) A C r 2 (R 2 ) 1 3 4 5 B C 2 5 Έστω το σχήμα R(A, B, C) αποσύνθεση σε R 1 (A, C) και R 2 (B, C) Τι γίνεται με τα στιγμιότυπα (σχέσεις) που ανήκουν στο R; Μπορούμε να πάρουμε το αρχικό στιγμιότυπο; Φυσική συνένωση r 1 * r 2 Επιθυμητές Ιδιότητες Αποσύνθεσης Επιθυμητές Ιδιότητες για την Αποσύνθεση 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) Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 19 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 20 r Α B C r 1 A B r 2 B C 1 2 4 2 2 5 r 1 A C r 2 B C 1 3 4 5 2 5 r 1 * r 2 A B C 1 2 5 4 r 1 * r 2 = ; Θεώρημα Έστω R ένα σχεσιακό σχήμα και F ένα σύνολο από συναρτησιακές εξαρτήσεις στο R. Έστω R 1 και R 2 μια αποσύνθεση του R. Αν μια τουλάχιστον από τις ΣΕ R 1 R 2 R 1 ή R 1 R 2 R 2 ανήκει στο F + τότε η διάσπαση είναι χωρίς απώλειες στη συνένωση. ηλαδή τα κοινά γνωρίσματα των δύο σχημάτων είναι κλειδί για τουλάχιστον ένα από τα δύο σχήματα Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 21 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 22 Επιθυμητές Ιδιότητες Αποσύνθεσης : R = {Τίτλος, Έτος, ιάρκεια, Είδος, Όνομα- Ηθοποιού, ιεύθυνση, Έτος-Γέννησης} Τίτλος Έτος ιάρκεια Τίτλος Έτος Είδος Όνομα Ηθοποιού ιεύθυνση Όνομα-Ηθοποιού Έτος Γέννησης R 1 = {Τίτλος, Έτος, ιάρκεια, Είδος} R 2 = {Τίτλος, Έτος, Όνομα- Ηθοποιού, ιεύθυνση, Έτος- Γέννησης} R 1 R 2 = {Τίτλος, Έτος} Επιθυμητές Ιδιότητες για την Αποσύνθεση 2. Στόχος: Για να ελέγξουμε ότι διατηρούνται οι Σ.Ε. όταν γίνονται τροποποιήσεις σε μία από τις σχέσεις r i (R i ), να αρκεί να ελέγξουμε μόνο τη συγκεκριμένη σχέση (δηλαδή, να μη χρειάζεται να υπολογίσουμε τις αρχικές σχέσεις - αποφυγή των συνενώσεων) Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 23 Βάσεις Δεδομένων 2008-2009 Ευαγγελία Πιτουρά 24 Βάσεις Δεδομένων 2008-2009: Λογικός Σχεδιασμός 4

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

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