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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Lecture 23: Functional Dependencies and Normalization

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Lecture 21: Functional Dependencies and Normalization

Lecture 24: Functional Dependencies and Normalization IV

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

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

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

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

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

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

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

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

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

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

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

Σχεσιακό Μοντέλο Δεδομένων

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

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

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

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model

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

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

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

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

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων

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

Transcript:

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

Τίτλος Έτος Διάρκεια Είδος Όνομα-Ηθοποιού Τίτλος Έτος Διάρκεια Είδος Όνομα-Ηθοποιού ιαγραφή Τι γίνεται αν διαγράψουμε και τον τελευταίο ηθοποιό ιαγραφή μιας ταινίας; Τροποποίηση Τι γίνεται αν θελήσουμε να τροποποιήσουμε τη διάρκεια μιας ταινίας; 7 8 3. Αποφυγή τιμών null 4. Αποφυγή δημιουργίας πλασματικών πλειάδων Ηθοποιός Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού (αδυναμία αναπαράστασης συγκεκριμένης πληροφορίας) Τίτλος Έτος Διάρκεια Είδος Ηθοποιός Όνομα Διεύθυνση Έτος-Γέννησης Παίζει Τίτλος Όνομα-Ηθοποιού Ζευγάρι-Ηθοποιών Όνομα Σύζυγος-Ηθοποιού Χάνουμε πληροφορία δεν μπορούμε να βρούμε ποιος ηθοποιός σε ποια ταινία Τίτλος Έτος Διάρκεια Είδος Όνομα-Ηθοποιού 9 10 Αλγόριθμος Σχεδιασμού - Εισαγωγή Οτρόπος που σχεδιάζαμε ένα σχήμα Β : Μέχρι τώρα, από το εννοιολογικό στο σχεσιακό μοντέλο Θα δούμε ένα γενικό τυπικό τρόπο κατασκευής του σχήματος Γενικά: Ξεκινάμε από το καθολικό σχήμα (όλα τα γνωρίσματα) Συνεχείς διασπάσεις έτσι ώστε τα σχήματα που προκύπτουν να ικανοποιούν κάποιες ιδιότητες (να είναι σε κάποιες κανονικές μορφές) Αλγόριθμος Σχεδιασμού Ένας γενικός (θεωρητικός) τρόπος κατασκευής του σχήματος Αποσύνθεση (decomposition) Αλγόριθμος σχεδιασμού Αρχικά ένα καθολικό σχήμα σχέσης που περιέχει όλα τα γνωρίσματα Προσδιορισμός των συναρτησιακών εξαρτήσεων ιάσπαση σε ένα σύνολο από σχήματα που ικανοποιούν κάποιες ιδιότητες 11 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 } πλειάδες 13 14 r(r) Α B C 1 2 3 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 3 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 15 16 Έστω r(r) και r i = π Ri (r), i = 1,..,n ---- r Α B C 1 2 3 r 1 A B r 2 B C 1 2 2 3 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 3 1 2 5 4 2 3 Συνενώσεις Άνευ Απωλειών Έστω το σχήμα R(A, B, C) αποσύνθεση σε R 1 (A, C) και R 2 (B, C) Τι γίνεται με τα στιγμιότυπα (σχέσεις) που ανήκουν στο R, συμβολισμός R(r) r(r) Α B C Μπορούμε να πάρουμε το 1 2 3 R 1 R 2 = C αρχικό στιγμιότυπο; Φυσική συνένωση r 1 * r 2 r 1 (R 1 ) A C r 2 (R 2 ) B C 1 3 2 3 4 5 2 5 17 18 3

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

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

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

Κανονικές Μορφές: Εισαγωγή Κανονικές Μορφές: Εισαγωγή Στόχος: οσμένου ενός σχήματος, αν είναι «καλό» ή χρειάζεται περαιτέρω διάσπαση. Πως; Κανονικές μορφές. Ξέρουμε ότι αν ένα σχήμα είναι σε κάποια Κανονική Μορφή δεν υπάρχουν συγκεκριμένα προβλήματα Με φθίνουσα σειρά (από την πιο περιοριστική στη λιγότερο περιοριστική) BCNF 3NF 2NF 1NF Βασίζεται σε Σ.Ε., οι Σ.Ε. έχουν σχέση με την επανάληψη πληροφορίας Πλεονασμός (επανάληψη πληροφορίας) Τίτλος Έτος Διάρκεια Είδος Όνομα-Ηθοποιού Τι συμβαίνει με το (πρωτεύον) κλειδί και τις συναρτησιακές εξαρτήσεις; 37 38 Ένα σχεσιακό σχήμα R είναι σε Κανονική Μορφή Boyce-Codd (BCNF) σε σχέση με ένα σύνολο F συναρτησιακών εξαρτήσεων αν για όλες τις ΣΕ στο F + της μορφής X Y ισχύει τουλάχιστον ένα από τα παρακάτω: -- X Y είναι μια τετριμμένη ΣΕ ή -- X είναι υπερκλειδί του σχήματος R ηλαδή το αριστερό μέρος κάθε μη τετριμμένης ΣΕ πρέπει να περιέχει ένα κλειδί Το σχήμα μιας Β είναι σε BCNF αν το σχήμα κάθε σχέσης της είναι σε BCNF. 1 (Τίτλος, Έτος, ιάρκεια, Είδος, Όνομα-Ηθοποιού) Ησχέση δεν είναι σε BCNF (υποψήφιο) κλειδί: {Τίτλος, Έτος, Όνομα-Ηθοποιού} Για παράδειγμα η ΣΕ Τίτλος Έτος ιάρκεια 39 40 2 2 (Τίτλος, Έτος, ιάρκεια, Είδος) Ησχέση 2 είναι σε BCNF 3 Οποιαδήποτε σχέση με δύο γνωρίσματα είναι σε BCNF Αλγόριθμος Αποσύνθεσης σε BCNF Βρες μια μη τετριμμένη ΣΕ που παραβιάζει τον BCNF ορισμό, έστω X Y και Χ Υ = Αποσύνθεση του αρχικού σχήματος R σε δύο σχήματα R 1 με γνωρίσματα Χ Y R 2 με γνωρίσματα R - Y Ευριστικός: στα δεξιά όσο το δυνατόν περισσότερα γνωρίσματα Αποσύνθεση χωρίς απώλειες; 41 42 7

1 (Τίτλος, Έτος, ιάρκεια, Είδος, Όνομα-Ηθοποιού) Τίτλος Έτος ιάρκεια Είδος 1(Τίτλος, Έτος, ιάρκεια, Είδος) 2(Τίτλος, Έτος, Όνομα-Ηθοποιού) 2 Πρόβλημα: υπάρχει μια μεταβατική εξάρτηση -Εταιρεία (Τίτλος, Έτος, ιάρκεια, Είδος, Εταιρεία-Παραγωγής, ιεύθυνση-εταιρείας) Τίτλος Έτος Εταιρεία-Παραγωγής Εταιρεία-Παραγωγής ιεύθυνση-εταιρείας Τίτλος Έτος ιεύθυνση-εταιρείας -Εταιρεία1 (Εταιρεία-Παραγωγής, ιεύθυνση-εταιρείας) -Εταιρεία2 (Τίτλος, Έτος, ιάρκεια, Είδος, Εταιρεία-Παραγωγής) 43 44 Μπορεί να χρειαστεί παραπάνω από μία αποσύνθεση Αποσύνθεση του αρχικού σχήματος R σε δύο σχήματα - R 1 με γνωρίσματα Χ Y και R 2 με γνωρίσματα R - Y η R 2 μπορεί να μην είναι σε BCNF εν είναι πάντα δυνατή η αποσύνθεση σε μια BCNF που να διατηρεί τις εξαρτήσεις Έστω η σχέση Παίζει(Έργο, Κινηματογράφος, Πόλη) με τους περιορισμούς ότι (i) δεν υπάρχουν κινηματογράφοι με το ίδιο όνομα (κάθε κινηματογράφος σε μία πόλη) (ii) κάθε κινηματογράφος έχει πολλές αίθουσες (παίζει πολλά έργα) και (iii) κάθε έργο παίζεται μόνο σε ένα κινηματογράφο σε κάθε πόλη Κινηματογράφος Πόλη Έργο Πόλη Κινηματογράφος Κλειδιά; {Έργο, Πόλη} {Κινηματογράφος, Έργο} 45 46 Τρίτη Κανονική Μορφή Παίζει(Έργο, Κινηματογράφος, Πόλη) Κινηματογράφος Πόλη Έργο Πόλη Κινηματογράφος Κλειδιά {Έργο, Πόλη} {Κινηματογράφος, Έργο} Αποσύνθεση σε: R 1 {Κινηματογράφος, Πόλη} και R 2 {Κινηματογράφος, Έργο} Κινηματογράφος Odeon-ABANA Village Center Μαρούσι Πόλη Αθήνα Αθήνα Κινηματογράφος Odeon-ΑΒΑΝΑ Village Center Μαρούσι Έργο Manderlay Manderlay ε μπορώ κοιτάζοντας μόνο την R2 να δω ότι η εισαγωγή της δεύτερης πλειάδας παραβιάζει μια ΣΕ Ένα σχεσιακό σχήμα R είναι σε τρίτη κανονική μορφή (3ΝF) σε σχέση με ένα σύνολο F συναρτησιακών εξαρτήσεων αν για όλες τις ΣΕ στο F + της μορφής X Y ισχύει τουλάχιστον ένα από τα παρακάτω: -- X Y είναι μια τετριμμένη ΣΕ ή -- X είναι υπερκλειδί του σχήματος R -- κάθε γνώρισμα Α του Υ - Χπεριέχεται σε κάποιο υποψήφιο κλειδί BCNF πιο περιοριστική -- αν σε BCNF 3NF 47 48 8

Τρίτη Κανονική Μορφή Τρίτη Κανονική Μορφή Παίζει(Έργο, Κινηματογράφος, Πόλη) Κινηματογράφος Πόλη Έργο Πόλη Κινηματογράφος Κλειδιά {Έργο, Πόλη} {Κινηματογράφος, Έργο} Ησχέση είναι σε 3NF Είδος ΣΕ: μοναδικά αντικείμενα ή με βάση πρακτικές Αλγόριθμος Αποσύνθεσης σε 3NF Υπολόγισε το ελάχιστο κάλυμμα F c του F Για κάθε α.μ. Χ μιας συναρτησιακής εξάρτισης του F c έστω Y το σύνολο όλων των γνωρισμάτων Α i που εμφανίζονται στο δ.μ. μιας ΣΕ του F c Χ Α i νέα σχέση με γνωρίσματα Χ Y Αν κανένα από τα σχήματα δεν περιέχει ένα κλειδί, δημιούργησε ένα ακόμα σχήμα σχέσης που να περιέχει γνωρίσματα που σχηματίζουν το κλειδί 49 50 Τρίτη Κανονική Μορφή Τρίτη Κανονική Μορφή Αλγόριθμος Αποσύνθεσης σε 3NF Απώλειες στη συνένωση; ιατήρηση εξαρτήσεων; Τραπεζίτης(Όνομα-Υποκαταστήματος, Όνομα-Πελάτη, Όνομα-Τραπεζίτη, Αριθμός Γραφείου) Όνομα-Τραπεζίτη Όνομα-Υποκαταστήματος Αριθμός-Γραφείου Όνομα-Πελάτη Όνομα-Υποκαταστήματος Όνομα-Τραπεζίτη Κλειδιά {Όνομα-Πελάτη, Όνομα-Υποκαταστήματος} 3NF; Τραπεζίτης1(Όνομα-Τραπεζίτη, Όνομα-Υποκαταστήματος Αριθμός-Γραφείου) Τραπεζίτης2(Όνομα-Πελάτη, Όνομα-Υποκαταστήματος, Όνομα-Τραπεζίτη) BCNF; 51 52 (Επανάληψη) (Επανάληψη) Κανονική Μορφή Boyce-Codd Ένα σχεσιακό σχήμα R είναι σε BCNF σε σχέση με ένα σύνολο F συναρτησιακών εξαρτήσεων αν για όλες τις ΣΕ στο F + της μορφής X Y ισχύει τουλάχιστον ένα από τα παρακάτω: -- X Y είναι μια τετριμμένη ΣΕ ή -- X είναι υπερκλειδί του σχήματος R BCNF 3NF Αποφυγή επανάληψης πληροφορίας ναι όχι πάντα Αποσύνθεση χωρίς απώλειες στη συνένωση ναι ναι κλειδί Τρίτη Κανονική Μορφή -- κάθε γνώρισμα Α του Υ - Χ περιέχεται σε κάποιο υποψήφιο ιατήρηση εξαρτήσεων όχι πάντα ναι 53 54 9

Κανονικές Μορφές Πρώτη Κανονική Μορφή ΟΛΕΣ οι ΣΧΕΣΕΙΣ 1NF 2NF 3NF BCNF2NF 4NF 2NF 5NF 1NF (ιστορικοί λόγοι, κάθε γνώρισμα παίρνει ατομικές τιμές) 55 56 Υπάρχει επανάληψη πληροφορίας που δεν μπορεί να εκφραστεί με απλές ΣΕ Προκύπτουν όταν δυο γνωρίσματα είναι ανεξάρτητα το ένα από το άλλο Ηθοποιός(Όνομα, Οδός, Πόλη, Τίτλος, Έτος) Yποθέτουμε ότι για κάθε ηθοποιό είναι πιθανόν να υπάρχουν πολλές διευθύνσεις Κανένα από τα 5 γνωρίσματα δεν εξαρτάται συναρτησιακά από τα άλλα τέσσερα δεν υπάρχουν μη μη τετριμμένες εξαρτήσεις κλειδί? π.χ., Όνομα Οδός Τίτλος Έτος Πόλη δεν ισχύει 57 58 (συνέχεια) Ηθοποιός(Όνομα, Οδός, Πόλη, Τίτλος, Έτος) Όλες οι εξαρτήσεις είναι τετριμμένες Το σχήμα είναι σε BCNF αλλά υπάρχει επανάληψη πληροφορίας που δεν οφείλεται όμως σε συναρτησιακές εξαρτήσεις Ηθοποιός(Όνομα, Οδός, Πόλη, Τίτλος, Έτος) Όνομα Οδός Πόλη Όνομα Οδός Πόλη Τίτλος Έτος C. Fisher 123 Mapple Str Hollywood Star Wars 1977 C. Fisher 5 Locust Ln Malibu Empire Strikes Back 1980?? 59 60 10

X Y A 1 A 2 A n B 1 B 2 B m Για κάθε ζεύγος πλειάδων 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] Όνομα Πόλη Οδός Τίτλος Έτος Χ Υ 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 c k a 1 a 2 a n b 1 b 2 b m c 1 c 2 c k t 1 t 2 t 3 t 4 61 62 Η διαδικασία Κανονικοποίησης έχει και μειονεκτήματα: o εν είναι δημιουργική o Συνήθως η κανονικοποίηση γίνεται αφού έχουμε κάποιο σχήμα (μας λέει αν είναι «καλό» ή «κακό») o εν προσφέρει ένα εννοιολογικό σχήμα (ασχολείται μόνο με σχέσεις και γνωρίσματα) Όμως, είναι μια ενδιαφέρουσα και πρακτικά χρήσιμη προσπάθεια να γίνουν με τυπικό και συστηματικό τρόπο πράγματα που τα κάνουμε συνήθως διαισθητικά. Ένας μεγάλος αριθμός από εμπορικά εργαλεία, δοθέντων ενός συνόλου Σχημάτων Σχέσεων/Γνωρισμάτων και ενός συνόλου συναρτησιακών εξαρτήσεων δημιουργούν αυτόματα σχήματα σχέσεων σε μορφή 3NF (σπάνια πάνε σε BCNF, 4NF και 5NF) Μια άλλη χρήση τέτοιων εργαλείων είναι να ελέγχουν το επίπεδο κανονικοποίησης μιας σχέσης - γενικά, η χρήση ως ευριστικό εργαλείο επιλογής ενός σχεδιασμού έναντι κάποιου άλλου Υπάρχουν πρακτικά αποτελέσματα της θεωρίας που επιτρέπουν σε έναν σχεδιαστή να κάνει ανάλυση της μορφής: Αν μια σχέση είναι σε 3NF και κάθε υποψήφιο κλειδί αποτελείται ακριβώς από ένα γνώρισμα, τότε είναι και σε 5NF (Fagin, 1991) 63 64 Η ιαδικασία Σχεδιασμού 1. Συλλογή και ανάλυση απαιτήσεων 2. Εννοιολογικός σχεδιασμός 3. Επιλογή Σ Β 4. Απεικόνιση στο μοντέλο δεδομένων (λογικός σχεδιασμός) 5. Φυσικός σχεδιασμός 6. Υλοποίηση 65 11