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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Lecture 21: Functional Dependencies and Normalization

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Transcript:

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

Εισαγωγή Θα εξετάσουµε πότε ένα σχεσιακό σχήµα για µια βάση δεδοµένων είναι «καλό» Γενικές Οδηγίες Η Μέθοδος της Αποσύνθεσης (γενική µεθοδολογία) Επιθυµητές Ιδιότητες της Αποσύνθεσης Συνένωση Άνευ Απωλειών Διατήρηση Εξαρτήσεων Αποφυγή Επανάληψης Πληροφορίας Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 2

Σχεδιασµός Σχεσιακών Σχηµάτων Σχεδιασµός καλών σχεσιακών σχηµάτων Μη τυπικές - γενικές κατευθύνσεις Θεωρία κανονικών µορφών που βασίζεται στις συναρτησιακές εξαρτήσεις Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 3

Σχεδιασµός Σχεσιακών Σχηµάτων Γενικές Κατευθύνσεις 1. Σηµασιολογία 2. Ελάττωση πλεονασµού 3. Ελάττωση τιµών null 4. Μη πλασµατικές πλειάδες Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 4

Γενικές Κατευθύνσεις 1. Σηµασιολογία Εύκολη η εξήγηση της σηµασίας του Αποφυγή συνδυασµού γνωρισµάτων από πολλές οντότητες και συσχετίσεις στην ίδια σχέση Ταινία Τίτλος Έτος ιάρκεια Είδος Παίζει Όνοµα Τίτλος Έτος Ηθοποιός Όνοµα ιεύθυνση Έτος-Γέννησης Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 5

Γενικές Κατευθύνσεις 2. Πλεονασµός (επανάληψη πληροφορίας) Ταινία εδώ βοηθούν οι συναρτησιακές εξαρτήσεις Τίτλος Έτος ιάρκεια Είδος Όνοµα-Ηθοποιού Εισαγωγή Για την εισαγωγή µιας νέας ταινίας πρέπει να εισάγουµε τουλάχιστον έναν ηθοποιό (τιµή null;) Για την εισαγωγή ενός ηθοποιού στην ταινία πρέπει να επαναλάβουµε τα γνωρίσµατα (διάρκεια, είδος) της ταινίας Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 6

Γενικές Κατευθύνσεις Ταινία Τίτλος Έτος ιάρκεια Είδος Όνοµα-Ηθοποιού Διαγραφή Τι γίνεται αν διαγράψουµε και τον τελευταίο ηθοποιό Διαγραφή µιας ταινίας; Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 7

Γενικές Κατευθύνσεις Ταινία Τίτλος Έτος ιάρκεια Είδος Όνοµα-Ηθοποιού Τροποποίηση Τι γίνεται αν θελήσουµε να τροποποιήσουµε τη διάρκεια µιας ταινίας; Σύνοψη Προβληµάτων Λόγω Πλεονασµού Πλεονασµός στην αποθήκευση Προβληµατική ενηµέρωση Προβληµατική εισαγωγή Προβληµατική διαγραφή Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 8

Γενικές Κατευθύνσεις 3. Αποφυγή τιµών null Ηθοποιός Όνοµα ιεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Ηθοποιός Ζευγάρι-Ηθοποιών Όνοµα Όνοµα ιεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 9

Γενικές Κατευθύνσεις 4.Αποφυγή δηµιουργίας πλασµατικών πλειάδων (αδυναµία αναπαράστασης συγκεκριµένης πληροφορίας) Ταινία Τίτλος Έτος ιάρκεια Είδος Παίζει Τίτλος Όνοµα-Ηθοποιού Χάνουµε πληροφορία δεν µπορούµε να βρούµε ποιος ηθοποιός σε ποια ταινία Ταινία Τίτλος Έτος ιάρκεια Είδος Όνοµα-Ηθοποιού Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 10

Αλγόριθµος Σχεδιασµού - Εισαγωγή Ο τρόπος που σχεδιάζαµε ένα σχήµα ΒΔ µέχρι τώρα: από το εννοιολογικό στο σχεσιακό µοντέλο Θα δούµε ένα γενικό θεωρητικό (formal) τρόπο κατασκευής του σχήµατος Γενικά: Ξεκινάµε από το καθολικό σχήµα (που περιέχει όλα τα γνωρίσµατα) Διαδοχικές διασπάσεις έτσι ώστε τα σχήµατα που προκύπτουν να ικανοποιούν κάποιες ιδιότητες (να είναι σε κάποιες κανονικές µορφές) -- top-down τεχνική Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 11

Αλγόριθµος Σχεδιασµού - Εισαγωγή Μπορούµε να το εφαρµόσουµε και για να «διασπάσουµε» µια «προβληµατική» σχέση που προέκυψε από την µετατροπή του εννοιολογικού σχεδιασµού Μειονέκτηµα των διασπάσεων: µπορεί να απαιτεί συνενώσεις (join) για να απαντηθούν ερωτήµατα η να ελεγχθούν εξαρτήσεις -> αποδοτικότητα του συστήµατος Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 12

Αλγόριθµος Σχεδιασµού Ένας γενικός (θεωρητικός) τρόπος κατασκευής του σχήµατος Αποσύνθεση (decomposition) Αλγόριθµος σχεδιασµού 1. Αρχικά ένα καθολικό (universal) σχήµα σχέσης που περιέχει όλα τα γνωρίσµατα 2. Προσδιορισµός των συναρτησιακών εξαρτήσεων 3. Διάσπαση σε ένα σύνολο από σχήµατα σχέσεων που ικανοποιούν κάποιες ιδιότητες Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 13

Σχεδιασµός Σχεσιακών Σχηµάτων - Αποσύνθεση καθολικού σχήµατος Επιθυµητές ιδιότητες 1. διατήρηση εξαρτήσεων 2. όχι απώλειες στη συνένωση 3. όχι επανάληψη πληροφορίας λόγω ΣΕ Κανονικές µορφές Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 14

Παράδειγµα Αποσύνθεση Καθολικό Σχήµα: R = {Τίτλος, Έτος, Διάρκεια, Είδος, Όνοµα- Ηθοποιού, Διεύθυνση, Έτος-Γέννησης} Σύνολο ΣΕ που ισχύουν στο πρόβληµα: Τίτλος Έτος Είδος Τίτλος Έτος Διάρκεια Όνοµα Ηθοποιού Διεύθυνση Όνοµα-Ηθοποιού Έτος Γέννησης Πιθανή διάσπαση: R 1 = {Τίτλος, Έτος, Διάρκεια, Είδος} R 2 = {Τίτλος, Έτος, Όνοµα- Ηθοποιού, Διεύθυνση, Έτος- Γέννησης} Ποια είναι µια καλή διάσπαση; Πως µπορούµε να πάρουµε την αρχική σχέση; Μπορούµε να διασπάσουµε την R 2 µε τον ίδιο τρόπο. Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 15

Αλγόριθµος Σχεδιασµού Αρχικά ένα καθολικό σχήµα 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 } [πλειάδες] Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 16

Αλγόριθµος Σχεδιασµού (παράδειγµα) Έστω το (καθολικό) σχήµα R(A, B, C) αποσύνθεση σε R 1 (A, B) και R 2 (B, C) Τι γίνεται µε τα στιγµιότυπα (σχέσεις) που ανήκουν στο R (συµβολισµός r(r) ή r)? r(r) - r Α B C r 1 (R 1 ) A B r 2 (R 2 ) B C 1 2 3 1 2 2 3 4 5 5 4 5 5 5 Μπορούµε να πάρουµε το αρχικό στιγµιότυπο; Φυσική συνένωση r 1 * r 2 ; Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 17

Αποσύνθεση Έστω ένα σχεσιακό σχήµα 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 = π R i (r), i = 1,..,n r r 1 * r 2 * * r n Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 18

Έστω το σχήµα R(A, B, C) αποσύνθεση σε R 1 (A, B) και R 2 (B, C) Τι γίνεται µε τα στιγµιότυπα (σχέσεις) που ανήκουν στο R? Αποσύνθεση Έστω r(r) και r i = π R i (r), i = 1,..,n ---- r r 1 * r2 * * r n Παράδειγµα r Α B C 1 2 3 4 2 5 R 1 R 2 = Β r 1 A B r 2 B C 1 2 4 2 2 3 2 5 Δεν µπορούµε να πάρουµε την αρχική σχέση r από τα r 1 και r 2 r 1 * r 2 A B C 1 2 3 1 2 5 4 2 3 4 2 5 Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 19

Συνενώσεις Άνευ Απωλειών Έστω το σχήµα R(A, B, C) αποσύνθεση σε R 1 (A, C) και R 2 (B, C) Τι γίνεται µε τα στιγµιότυπα (σχέσεις) που ανήκουν στο R; r(r) Α B C 1 2 3 4 2 5 R 1 R 2 = C Μπορούµε να πάρουµε το αρχικό στιγµιότυπο; Φυσική συνένωση r 1 * r 2 r 1 (R 1 ) r 2 (R 2 ) A C 1 3 4 5 B C 2 3 2 5 Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 20

Επιθυµητές Ιδιότητες Αποσύνθεσης Επιθυµητές Ιδιότητες για την Αποσύνθεση 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) Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 21

Συνενώσεις Άνευ Απωλειών Παράδειγµα r Α B C 1 2 3 4 2 5 r 1 A B r 2 B C 1 2 4 2 2 3 2 5 r 1 * r 2 A B C 1 2 3 1 2 5 4 2 3 4 2 5 r 1 A C r 2 B C 1 3 2 3 4 5 2 5 r 1 * r 2 = ; Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 22

Συνενώσεις Άνευ Απωλειών Θεώρηµα Έστω R ένα σχεσιακό σχήµα και F ένα σύνολο από συναρτησιακές εξαρτήσεις στο R. Έστω R 1 και R 2 µια αποσύνθεση του R. Αν µια τουλάχιστον από τις ΣΕ R 1 R 2 R 1 ή R 1 R 2 R 2 ανήκει στο F + τότε η διάσπαση είναι χωρίς απώλειες στη συνένωση. Δηλαδή τα κοινά γνωρίσµατα των δύο σχηµάτων είναι κλειδί για τουλάχιστον ένα από τα δύο σχήµατα Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 23

Συνενώσεις Άνευ Απωλειών Παράδειγµα: R = {Τίτλος, Έτος, Διάρκεια, Είδος, Όνοµα- Ηθοποιού, Διεύθυνση, Έτος-Γέννησης} Τίτλος Έτος Διάρκεια Τίτλος Έτος Είδος Όνοµα Ηθοποιού Διεύθυνση Όνοµα-Ηθοποιού Έτος Γέννησης R 1 = {Τίτλος, Έτος, Διάρκεια, Είδος} R 2 = {Τίτλος, Έτος, Όνοµα- Ηθοποιού, Διεύθυνση, Έτος- Γέννησης} R 1 R 2 = {Τίτλος, Έτος} Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 24

Επιθυµητές Ιδιότητες Αποσύνθεσης Επιθυµητές Ιδιότητες για την Αποσύνθεση Στόχος: 2. Διατήρηση Εξαρτήσεων Για να ελέγξουµε ότι διατηρούνται οι Σ.Ε. όταν γίνονται τροποποιήσεις σε µία από τις σχέσεις r i (R i ), να αρκεί να ελέγξουµε µόνο τη συγκεκριµένη σχέση (δηλαδή, να µη χρειάζεται να υπολογίσουµε τις αρχικές σχέσεις - αποφυγή των συνενώσεων) Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 25

Διατήρηση Εξαρτήσεων Έστω F ένα σύνολο από ΣΕ στο σχήµα R και {R 1, R 2,.., R n } µια αποσύνθεση του R. F i περιορισµός του F στο R i είναι το σύνολο όλων των συναρτησιακών εξαρτήσεων του F + που περιέχουν µόνο γνωρίσµατα του R i. Προσοχή: F + όχι F Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 26

Διατήρηση Εξαρτήσεων Παράδειγµα: Υπολογισµός του περιορισµού του 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) Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 27

Διατήρηση Εξαρτήσεων Έστω F ένα σύνολο από ΣΕ στο σχήµα R και {R 1, R 2,.., R n } µια αποσύνθεση του R. Έστω F = F 1 F 2... F n Η αποσύνθεση είναι µια αποσύνθεση που διατηρεί τις εξαρτήσεις (dependency preserving) αν F + = F + Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 28

Διατήρηση Εξαρτήσεων Παράδειγµα: Πως δείχνουµε αν µια αποσύνθεση διατηρεί τις εξαρτήσεις Έστω R(A, B, C, D), F = {C D, A B, Β D, C A}. Έστω η αποσύνθεση S(A, C) και Τ(Α, Β, D) Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 29

Διατήρηση Εξαρτήσεων Μερικά ακόµα παραδείγµατα: Έστω R(A, B, C, D, E), F = {A D, B Ε, DE C, B C}. (a) Η αποσύνθεση του R σε S(A, Β, C) και T(A, B, D, E) διατηρεί τις εξαρτήσεις; (β) Είναι χωρίς απώλειες (lossless join); Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 30

Διατήρηση Εξαρτήσεων Παράδειγµα Έστω R(A, B, C, D), F = {A C, B C, ΒD A} και η αποσύνθεση του R σε R 1 (A, C) και R 2 (Α, Β, D). (α) Διατηρεί τις εξαρτήσεις; (β) Είναι χωρίς απώλειες (lossless join); Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 31

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