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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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


Η SQL ως γλώσσα τροποποίησης Δεδομένων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Lecture 21: Functional Dependencies and Normalization

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων. Εισαγωγή Ανάλυση Απαιτήσεων. Φροντιστήριο 1 ο

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

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

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

Η SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα)

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

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

Lecture 23: Functional Dependencies and Normalization

Transcript:

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

Σχεδιασμός Σχεσιακών Σχημάτων Σχεδιασμός καλών σχεσιακών σχημάτων Μη τυπικές - γενικές κατευθύνσεις Θεωρία κανονικών μορφών που βασίζεται στις συναρτησιακές εξαρτήσεις Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 3 Σχεδιασμός Σχεσιακών Σχημάτων Γενικές Κατευθύνσεις 1. Σημασιολογία 2. Ελάττωση πλεονασμού 3. Ελάττωση τιμών null 4. Μη πλασματικές πλειάδες Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 4 Βάσεις Δεδομένων 2010-2011: Αποσύνθεση Σχέσεων 2

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

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

Γενικές Κατευθύνσεις 3. Αποφυγή τιμών null Ηθοποιός Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Ηθοποιός Όνομα Διεύθυνση Έτος-Γέννησης Ζευγάρι-Ηθοποιών Όνομα Σύζυγος-Ηθοποιού Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 9 Γενικές Κατευθύνσεις 4. Αποφυγή δημιουργίας πλασματικών πλειάδων (αδυναμία αναπαράστασης συγκεκριμένης πληροφορίας) Ταινία Τίτλος Έτος Διάρκεια Είδος Παίζει Τίτλος Όνομα-Ηθοποιού Χάνουμε πληροφορία δεν μπορούμε να βρούμε ποιος ηθοποιός σε ποια ταινία Ταινία Τίτλος Έτος Διάρκεια Είδος Όνομα-Ηθοποιού Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 10 Βάσεις Δεδομένων 2010-2011: Αποσύνθεση Σχέσεων 5

Αλγόριθμος Σχεδιασμού - Εισαγωγή Ο τρόπος που σχεδιάζαμε ένα σχήμα Β μέχρι τώρα: από το εννοιολογικό στο σχεσιακό μοντέλο Θα δούμε ένα γενικό θεωρητικό (formal) τρόπο κατασκευής του σχήματος Γενικά: Ξεκινάμε από το καθολικό σχήμα (όλα τα γνωρίσματα) ιαδοχικές διασπάσεις έτσι ώστε τα σχήματα που προκύπτουν να ικανοποιούν κάποιες ιδιότητες (να είναι σε κάποιες κανονικές μορφές) -- top-down τεχνική Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 11 Αλγόριθμος Σχεδιασμού - Εισαγωγή Μπορούμε να το εφαρμόσουμε και για να «διασπάσουμε» μια «προβληματική» σχέση που προέκυψε από την μετατροπή του εννοιολογικού σχεδιασμού Μειονέκτημα των διασπάσεων: μπορεί να απαιτεί συνενώσεις (join) για να απαντηθούν ερωτήματα η να ελεγχθούν εξαρτήσεις -> αποδοτικότητα του συστήματος Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 12 Βάσεις Δεδομένων 2010-2011: Αποσύνθεση Σχέσεων 6

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

Παράδειγμα Αποσύνθεση Καθολικό Σχήμα: R = {Τίτλος, Έτος, ιάρκεια, Είδος, Όνομα- Ηθοποιού, ιεύθυνση, Έτος-Γέννησης} Σύνολο ΣΕ που ισχύουν στο πρόβλημα: Τίτλος Έτος Είδος Τίτλος Έτος ιάρκεια Όνομα Ηθοποιού ιεύθυνση Όνομα-Ηθοποιού Έτος Γέννησης Πιθανή διάσπαση: R 1 = {Τίτλος, Έτος, ιάρκεια, Είδος} R 2 = {Τίτλος, Έτος, Όνομα- Ηθοποιού, ιεύθυνση, Έτος- Γέννησης} Ποια είναι μια καλή διάσπαση; Πως μπορούμε να πάρουμε την αρχική σχέση; Μπορούμε να διασπάσουμε την R 2 με τον ίδιο τρόπο. Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 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 } [πλειάδες] Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 16 Βάσεις Δεδομένων 2010-2011: Αποσύνθεση Σχέσεων 8

Αλγόριθμος Σχεδιασμού (παράδειγμα) Έστω το (καθολικό) σχήμα 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 2 5 4 2 2 5 Μπορούμε να πάρουμε το αρχικό στιγμιότυπο; Φυσική συνένωση r 1 * r 2 ; Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 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 (r), i = 1,..,n i r r 1 * r 2 * * r n στιγμιότυπα Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 18 Βάσεις Δεδομένων 2010-2011: Αποσύνθεση Σχέσεων 9

Έστω το σχήμα R(A, B, C) αποσύνθεση σε R 1 (A, B) και R 2 (B, C) Τι γίνεται με τα στιγμιότυπα (σχέσεις) που ανήκουν στο R? Αποσύνθεση Έστω r(r) και r i = π R (r), i = 1,..,n ---- i r Παράδειγμα r Α B C 1 2 3 4 2 5 R 1 R 2 = Β r 1 A B 1 2 r 2 B C 2 3 4 2 2 5 εν μπορούμε να πάρουμε την αρχική σχέση r από τα r 1 και r 2 r 1 * r2 * * r n r 1 * r 2 A B C 1 2 3 1 2 5 4 2 3 4 2 5 Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 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 Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 20 Βάσεις Δεδομένων 2010-2011: Αποσύνθεση Σχέσεων 10

Επιθυμητές Ιδιότητες Αποσύνθεσης Επιθυμητές Ιδιότητες για την Αποσύνθεση 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) Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 21 Συνενώσεις Άνευ Απωλειών Παράδειγμα r Α B C 1 2 3 4 2 5 r 1 A B r 2 B C 1 2 2 3 4 2 2 5 A B C r 1 * r 2 1 2 3 1 2 5 4 2 3 4 2 5 r 1 A C 1 3 r 2 B C 2 3 4 5 2 5 r 1 * r 2 = ; Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 22 Βάσεις Δεδομένων 2010-2011: Αποσύνθεση Σχέσεων 11

Συνενώσεις Άνευ Απωλειών Θεώρημα Έστω R ένα σχεσιακό σχήμα και F ένα σύνολο από συναρτησιακές εξαρτήσεις στο R. Έστω R 1 και R 2 μια αποσύνθεση του R. Αν μια τουλάχιστον από τις ΣΕ R 1 R 2 R 1 ή R 1 R 2 R 2 ανήκει στο F + τότε η διάσπαση είναι χωρίς απώλειες στη συνένωση. ηλαδή τα κοινά γνωρίσματα των δύο σχημάτων είναι κλειδί για τουλάχιστον ένα από τα δύο σχήματα Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 23 Συνενώσεις Άνευ Απωλειών Παράδειγμα: R = {Τίτλος, Έτος, ιάρκεια, Είδος, Όνομα- Ηθοποιού, ιεύθυνση, Έτος-Γέννησης} Τίτλος Έτος ιάρκεια Τίτλος Έτος Είδος Όνομα Ηθοποιού ιεύθυνση Όνομα-Ηθοποιού Έτος Γέννησης R 1 = {Τίτλος, Έτος, ιάρκεια, Είδος} R 2 = {Τίτλος, Έτος, Όνομα- Ηθοποιού, ιεύθυνση, Έτος- Γέννησης} R 1 R 2 = {Τίτλος, Έτος} Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 24 Βάσεις Δεδομένων 2010-2011: Αποσύνθεση Σχέσεων 12

Επιθυμητές Ιδιότητες Αποσύνθεσης Επιθυμητές Ιδιότητες για την Αποσύνθεση 2. ιατήρηση Εξαρτήσεων Στόχος: Για να ελέγξουμε ότι διατηρούνται οι Σ.Ε. όταν γίνονται τροποποιήσεις σε μία από τις σχέσεις r i (R i ), να αρκεί να ελέγξουμε μόνο τη συγκεκριμένη σχέση (δηλαδή, να μη χρειάζεται να υπολογίσουμε τις αρχικές σχέσεις - αποφυγή των συνενώσεων) Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 25 ιατήρηση Εξαρτήσεων Έστω F ένα σύνολο από ΣΕ στο σχήμα R και {R 1, R 2,.., R n } μια αποσύνθεση του R. F i περιορισμός του F στο R i είναι το σύνολο όλων των συναρτησιακών εξαρτήσεων του F + που περιέχουν μόνο γνωρίσματα του R i. Προσοχή: F + όχι F Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 26 Βάσεις Δεδομένων 2010-2011: Αποσύνθεση Σχέσεων 13

ιατήρηση Εξαρτήσεων Παράδειγμα: Υπολογισμός του περιορισμού του 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) Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 27 ιατήρηση Εξαρτήσεων Έστω F ένα σύνολο από ΣΕ στο σχήμα R και {R 1, R 2,.., R n } μια αποσύνθεση του R. Έστω F = F 1 F 2... F n Η αποσύνθεση είναι μια αποσύνθεση που διατηρεί τις εξαρτήσεις (dependency preserving) αν F + = F + Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 28 Βάσεις Δεδομένων 2010-2011: Αποσύνθεση Σχέσεων 14

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

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