Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Βάσεις Δεδομένων Ενότητα 6: Κανονικοποίηση Αθανάσιος Σπυριδάκος

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Βάσεις Δεδομένων Ενότητα 6: Κανονικοποίηση Αθανάσιος Σπυριδάκος"— Μεταγράφημα παρουσίασης:

1 Βάσεις Δεδομένων Ενότητα 6: Κανονικοποίηση Αθανάσιος Σπυριδάκος
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Βάσεις Δεδομένων Ενότητα 6: Κανονικοποίηση Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

2 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς.

3 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

4 Σκοποί Ενότητας Ο φοιτητής που θα παρακολουθήσει με επιτυχία την ενότητα αυτή θα διαθέτει τις απαιτούμενες θεωρητικές και πρακτικές γνώσεις ώστε: Να αναπτύσσει εφαρμογές διεπαφής για γραφικό παραθυρικό περιβάλλον (client-server) και για περιβάλλον WEB (n-tier).

5 Περιεχόμενα Ενότητας Κανονικοποιημένη Βάση Δεδομένων
Τα βήματα της Κανονικοποίησης Ορισμός της Λειτουργικής Εξάρτησης Οι Νόμοι της Κανονικοποίησης Τεχνικές Κανονικοποίησης Παραδείγματα - Εφαρμογές

6 Κανονικοποίηση Εξελίσσεται σε τέσσερα στάδια με βάση τους κανόνες κανονικοποίησης: Πρώτος (1NF), Δεύτερος (2NF), Τρίτος (3NF) και Boyce-Codd (BCNF) κανόνες κανονικοποίησης. Βασίζεται στην συναρτησιακή εξάρτηση ανάμεσα στα χαρακτηριστικά των σχέσεων. Μια σχέση μπορεί να κανονικοποιηθεί, έτσι ώστε να αντιμετωπίζονται οι περιπτώσεις δημιουργίας προβλημάτων ενημέρωσης της Βάσης Δεδομένων. Καταλήγει στην κατασκευή ενός σχεσιακού μοντέλου (πίνακες- σχέσεις) από την αρχική περιγραφή των δεδομένων που αφορούν στη λειτουργία της περίπτωσης που μελετάμε Η διαδικασία ξεκινά από μια αρχική σχέση (μη κανονικοποιημένη) και με διαδοχικά βήματα (αποδόμησης) καταλήγει στην κανονικοποιημένη βάση δεδομένων.

7 Πλεονασμός Δεδομένων Κύριος στόχος είναι να ομαδοποιήσουμε τα χαρακτηριστικά σε πίνακες έτσι ώστε να ελαχιστοποιήσουμε τον πλεονασμό δεδομένων, να μειώσουμε τις απαιτήσεις σε χώρο αποθήκευσης και να βελτιστοποιήσουμε την απόδοση του Σ.Δ.Β.Δ. Στο παράδειγμα που ακολουθεί στον μεν πρώτο πίνακα υπάρχει πλεονασμός δεδομένων, ενώ με τη διάσπαση ο πλεονασμός εκλείπει.

8 Παράδειγμα Πλεονασμού Δεδομένων - Αποδόμηση
Πλεονασμός StudentNo SFname Sfname Address DepartmentCode Title Building 1234 Γεωργίου Νικόλαος Ανθέων 20, Πάτρα ΔΕ Διοίκησης Επιχειρήσεων Δ-1 3421 Νικολάου Γεώργιος Πόρου 101, Αθηνα ΛΟ Λογιστικής Δ-2 6743 Πέτρου Πέτρος Κερκύρας 101, 12111, Αθήνα 5411 Αθανασίου Νάσος Κύπρου 201, 1002, Σπάρτη ΗΛ Ηλεκτρολογίας Α-2 9921 Ιωάννου Χρήστος Κήπων 154, 12200, Αιγαλεω StudentNo SFname Sfname Address DepartmentCode 1234 Γεωργίου Νικόλαος Ανθέων 20, Πάτρα ΔΕ 3421 Νικολάου Γεώργιος Πόρου 101, Αθηνα ΛΟ 6743 Πέτρου Πέτρος Κερκύρας 101, 12111, Αθήνα 5411 Αθανασίου Νάσος Κύπρου 201, 1002, Σπάρτη ΗΛ 9921 Ιωάννου Χρήστος Κήπων 154, 12200, Αιγαλεω DepartmentCode Title Building ΔΕ Διοίκησης Επιχειρήσεων Δ-1 ΛΟ Λογιστικής Δ-2 ΗΛ Ηλεκτρολογίας Α-2 Με τη Διάσπαση σε δύο πίνακες δεν υπάρχει πλεονασμός

9 Δυσκολίες στην Ενημέρωση
Αν στη Βάση Δεδομένων υπάρχει πλεονασμός δεδομένων τότε δυνητικά υποφέρει από προβλήματα στην ενημέρωση (εισαγωγή, μεταβολή, διαγραφή δεδομένων) Παράδειγμα: Αν ένα τμήμα αλλάξει Διεύθυνση (Κτήριο) τότε θα πρέπει να αλλάξουμε τη Διεύθυνση σε όλες τις γραμμές του Πίνακα που εμφανίζεται το Τμήμα Το τμήμα ΔΕ μετακομίζει στο κτήριο Δ-3 StudentNo SFname Sfname Address DepartmentCode Title Building 1234 Γεωργίου Νικόλαος Ανθέων 20, Πάτρα ΔΕ Διοίκησης Επιχειρήσεων Δ-1 3421 Νικολάου Γεώργιος Πόρου 101, Αθηνα ΛΟ Λογιστικής Δ-2 6743 Πέτρου Πέτρος Κερκύρας 101, 12111, Αθήνα 5411 Αθανασίου Νάσος Κύπρου 201, 1002, Σπάρτη ΗΛ Ηλεκτρολογίας Α-2 9921 Ιωάννου Χρ'ηστος Κήπων 154, 12200, Αιγαλεω

10 Βασικές Ιδιότητες στην Αποδόμηση
Δύο είναι οι βασικές ιδιότητες της αποδόμησης. Μη Απώλειας: (Lossless-join property) Η δομή της Βάσης Δεδομένων θα πρέπει να είναι τέτοια ώστε να μπορούμε να βρούμε οποιαδήποτε εικόνα της αρχικής κατάστασης από τη διασύνδεση των επιμέρους σχέσεων στις οποίες έχουμε αποδομήσει την Αρχική Σχέση. Διατήρηση Εξάρτησης (Dependency preservation property): Επιτρέπει να έχουμε τους περιορισμούς που ισχύουν στην αρχική κατάσταση της Σχέσης με την τοποθέτηση περιορισμών στις μικρότερες σχέσεις.

11 Λειτουργική Εξάρτηση Λειτουργική ή Συναρτησιακή Εξάρτηση
Περιγράφει τη σχέση ανάμεσα σε δυο χαρακτηριστικά μιας σχέσης. Αν A και B είναι χαρακτηριστικά μιας σχέσης το B είναι λειτουργικά – συναρτησιακά εξαρτημένο από το A (σημειώνεται A  B), αν κάθε τιμή του Α είναι συσχετισμένη με ακριβώς μία τιμή του B. Παράδειγμα: Municipality - Region StudentNo SFname Sfname Address Region Municipality 1234 Γεωργίου Νικόλαος Ανθέων 20 Αττικής Αθηναίων 3421 Νικολάου Γεώργιος Πόρου 101 Θεσσαλίας Λάρισα 6743 Πέτρου Πέτρος Κερκύρας 101 Αιγάλεω 5411 Αθανασίου Νάσος Κύπρου 201 Κρήτης Χανιά 9921 Ιωάννου Χρ'ηστος Κήπων 154 Ηράκλειο Η περιφέρεια είναι εξαρτημένη από την Πόλη

12 Λειτουργική ή Συναρτησιακή Εξάρτηση
Λειτουργική ή Συναρτησιακή Εξάρτηση Διαγραμματική Παρουσίαση. Ο προσδιοριστής (determinant) μιας λειτουργικής εξάρτησης είναι το ή τα χαρακτηριστικά τους αριστερού τμήματος της συναρτησιακής εξάρτησης. Ουσιαστικά, υπάρχει συναρτησιακή εξάρτηση όταν γνωρίζοντας την τιμή του Α μπορούμε να βρούμε την τιμή του Β. Αν γνωρίζουμε τον Νομό (πχ Γρεβενά) μπορούμε να βρούμε την Περιφέρεια (Δυτικής Μακεδονίας). Το αντίστροφο δεν ισχύει. Το B είναι εξαρτημένο από το A Α Β

13 Παραδείγματα Συναρτησιακής Εξάρτησης
Παραδείγματα Συναρτησιακής Εξάρτησης Η θέση είναι Συναρτησιακά Εξαρτημένη από τον κωδικό του προσωπικού ΑΜΚΑ Θέση  Αναπληρωτής Καθηγητής Ο κωδικός του Προσωπικου δεν είναι συναρτησιακά εηξαρτημπενος απο τη θέση Θέση ΑΜΚΑ Αναπληρωτής Καθηγητής  ……….

14 Η Διαδικασία της Κανονικοποίησης
Τεχνικές για την αποδόμηση μιας σχέσης σε άλλες βασισμένες στο πρωτεύων κλειδί και τις λειτουργικές εξαρτήσεις ανάμεσα στα χαρακτηριστικά της σχέσης Υλοποιείται με μια σειρά από βήματα. Κάθε βήμα αντιστοιχεί και σε ένα κανόνα κανονικοποίησης. Όπως προχωρά η κανονικοποίηση, οι σχέσεις προοδευτικά γίνονται περισσότερο περιοριστικές στη μορφή και εξασφαλίζουν την ικανοποίηση των δύο βασικών ιδιοτήτων της κανονικοποίησης.

15 Τα Βήματα της Κανονικοποίησης
Ανώτεροι Κανόνες Κανονικοποίησης 3ος Κανόνας Κανονικοποίησης (3NF) 2ος Κανόνας Κανονικοποίησης (2NF) 1ος Κανόνας Κανονικοποίησης (1NF)

16 Μη Κανονικοποιημένη προς Κανονικοποιημένη Σχέση κατά τον 1ο Κανόνα
Μη κανονικοποιημένος πίνακας είναι εκείνος που έχει ένα ή περισσότερα επαναλαμβανόμενα στοιχεία Για να δημιουργήσουμε ένα μη κανονικοποιημένο πίνακα αρκεί να μεταφέρουμε μια φόρμα (καρτέλα) σε πίνακα

17 Η καρτέλα του Φοιτητή ΚΑΡΤΕΛΑ ΦΟΙΤΗΤΗ Α.Μ.: 10021
Ονοματεπώνυμο: Νικολάου Νικόλαος Όνομα Πατρός: Γεώργιος Διεύθυνση: Π. Ράλλη 432, Αιγάλεω Ημερομηνία Γέννησης: Δηλώσεις Μαθημάτων: Κωδικός Μαθήματος Μάθημα Εξάμηνο Μαθήματος Εξάμηνο Δήλωσης Βαθμός Κωδικός Διδάσκοντος Ονοματεπώνυμο Διδασκοντος M6.1 Βάσεις Δεδομένων Στ Εαρινό 7 10121 Παναγιώτης Παναγιώτου Μ4.2 Οργάνωση και Διοίκηση Δ Χειμερινό 5 11001 Πέτρος Γεωργίου

18 Η καρτέλα του Φοιτητή σε Μορφή Πίνακα
Η καρτέλα του Φοιτητή σε Μορφή Πίνακα Κωδικός Φοιτητή Ονοματεπώνυμο Ονομα Πατρός Διεύθυνση Ημερομηνία Γέννησης Κωδικός Μαθήματος Μάθημα Εξάμηνο Μαθήματος Εξάμηνο Δήλωσης Βαθμός Κωδικός Διδάσκοντος Scode SName Fname Address dob Mcode Title Semester Ssemester Grade Pcode Pname 10021 Νικολάου Νικόλαος Γεώργιος Π. Ράλλη 432, Αιγάλεω 10/5/1993 M6.1 Βάσεις Δεδομένων Στ Εαρινό 7 10121 Παναγιώτης Ππαναγιώτου Μ4.2 Οργάνωση και Διοίκηση Δ Χειμερινό 5 11001 Πέτρος Γεωργίου 10022 Πέτρου Πέτρος Αθηνών 102, Αθήνα 29/9/1992 Μ5.1 Προγραμματισμός ΗΥ Ε 6 Παναγιώτης Απαναγιώτου Εαρινό 11002 Πέτρος Α Παραδοχές: Ο Φοιτητής δηλώνει το μάθημα μία μόνο φορά. ‘Ενα μάθημα το διδάσκει μόνο ένας καθηγητής

19 Πρώτος Κανόνας (1NF) Μια σχέση είναι κανονικοποιημένη κατά τον πρώτο κανόνα όταν σε ένα κελί έχει μια και μόνο μία τιμής. Κωδικός Φοιτητή Ονοματεπώνυμο Ονομα Πατρός Διεύθυνση Ημερομηνία Γέννησης Κωδικός Μαθήματος Μάθημα Εξάμηνο Μαθήματος Εξάμηνο Δήλωσης Βαθμός Κωδικός Διδάσκοντος Scode SName Fname Address dob Mcode Title Semester Ssemester Grade Pcode Pname 10021 Νικολάου Νικόλαος Γεώργιος Π. Ράλλη 432, Αιγάλεω 10/5/1993 M6.1 Βάσεις Δεδομένων Στ Εαρινό 7 10121 Παναγιώτης Ππαναγιώτου Μ4.2 Οργάνωση και Διοίκηση Δ Χειμερινό 5 11001 Πέτρος Γεωργίου 10022 Πέτρου Πέτρος Αθηνών 102, Αθήνα 29/9/1992 Μ5.1 Προγραμματισμός ΗΥ Ε 6 Παναγιώτης Απαναγιώτου Εαρινό 11002 Πέτρος Α Μη κανονικοποιημενη σχέση κατά 1 ΝF

20 Από μη Κανονικοποιημένη Μορφή σε Κανονικοποιημένη κατά 1NF
Προσδιορίστε ένα η περισσότερα χαρακτηριστικά τα οποία θα χρησιμοποιηθούν σαν κλειδί για τον μη κανονικοποιημένο πίνακα. Προσδιορίστε τα πεδία που επαναλαμβάνονται στον μη κανονικοποιημένο πίνακα Μετακινήστε τα επαναλαμβανόμενα πεδία με: 1η Μέθοδος - Εισαγωγή των κατάλληλων δεδομένων στα κενά κελιά επαναλαμβάνοντας τις τιμές ή με 2η Μέθοδος - Μετακίνηση των επαναλαμβανόμενων δεδομένων σε έναν νέο πίνακα μαζί με αντίγραφο του κλειδιού

21 Κανονικοποίηση κατά 1 ΝF (1η μέθοδος)
Κωδικός Φοιτητή Ονοματεπώνυμο Ονομα Πατρός Διεύθυνση Ημερομηνία Γέννησης Κωδικός Μαθήματος Μάθημα Εξάμηνο Μαθήματος Εξάμηνο Δήλωσης Βαθμός Κωδικός Διδάσκοντος Scode SName Fname Address dob Mcode Title Semester Ssemester Grade Pcode Pname 10021 Νικολάου Νικόλαος Γεώργιος Π. Ράλλη 432, Αιγάλεω 10/5/1993 M6.1 Βάσεις Δεδομένων Στ Εαρινό 7 10121 Παναγιώτης Απαναγιώτου Μ4.2 Οργάνωση και Διοίκηση Δ Χειμερινό 5 11001 Πέτρος Γεωργίου 10022 Πέτρου Πέτρος Αθηνών 102, Αθήνα 29/9/1992 Μ5.1 Προγραμματισμός ΗΥ Ε 6 Εαρινό Κλειδί- Κωδικός Φοιτητή, Κωδικός Μαθήματος Εισαγωγή των κατάλληλων δεδομένων στα κενά κελιά επαναλαμβάνοντας τις τιμές Κωδικός Φοιτητή Ονοματεπώνυμο Ονομα Πατρός Διεύθυνση Ημερομηνία Γέννησης Κωδικός Μαθήματος Μάθημα Εξάμηνο Μαθήματος Εξάμηνο Δήλωσης Βαθμός Κωδικός Διδάσκοντος Scode SName Fname Address dob Mcode Title Semester Ssemester Grade Pcode Pname 10021 Νικολάου Νικόλαος Γεώργιος Π. Ράλλη 432, Αιγάλεω 10/5/1993 M6.1 Βάσεις Δεδομένων Στ Εαρινό 7 10121 Παναγιώτης Απαναγιώτου Μ4.2 Οργάνωση και Διοίκηση Δ Χειμερινό 5 11001 Πέτρος Γεωργίου 10022 Πέτρου Πέτρος Αθηνών 102, Αθήνα 29/9/1992 Μ5.1 Προγραμματισμός ΗΥ Ε 6 Εαρινό

22 Κανονικοποίηση κατά 1 ΝF ( 2η μέθοδος)
Μετακίνηση των επαναλαμβανόμενων δεδομένων σε έναν νέο πίνακα μαζί με αντίγραφο του κλειδιού που αφορά τα επαναλαμβανόμενα δεδομένα Κωδικός Φοιτητή Ονοματεπώνυμο Ονομα Πατρός Διεύθυνση Ημερομηνία Γέννησης Scode SName Fname Address dob 10021 Νικολάου Νικόλαος Γεώργιος Π. Ράλλη 432, Αιγάλεω 10/5/1993 10022 Πέτρου Πέτρος Αθηνών 102, Αθήνα 29/9/1992 Κωδικός Φοιτητή Κωδικός Μαθήματος Μάθημα Εξάμηνο Μαθήματος Εξάμηνο Δήλωσης Βαθμός Κωδικός Διδάσκοντος Ονοματεπώνυμο Scode Mcode Title Semester Ssemester Grade Pcode Pname 10021 M6.1 Βάσεις Δεδομένων Στ Εαρινό 7 10121 Παναγιώτης Απαναγιώτου Μ4.2 Οργάνωση και Διοίκηση Δ Χειμερινό 5 11001 Πέτρος Γεωργίου 10022 Μ5.1 Προγραμματισμός ΗΥ Ε 6 Εαρινό

23 Δεύτερος Κανόνας Κανονικοποίησης (2NF)
Βασίζεται στην πλήρη συναρτησιακή εξάρτηση. Πλήρη λειτουργική εξάρτηση έχουμε όταν: A και B είναι χαρακτηριστικά μιας σχέσης, Το B είναι πλήρως εξαρτημένο από το Α αν το Β είναι εξαρτημένο από το Α αλλά όχι από κάθε υποσύνολο του Α. Σε αντίθετη περίπτωση έχουμε μερική συναρτησιακή εξάρτηση. Μια σχέση είναι κανονικοποιημένη κατά 2 NF αν είναι κανονικοποιημένη κατά 1NF και κάθε χαρακτηριστικό που δεν είναι πρωτεύον κλειδί είναι πλήρως εξαρτημένο στο πρωτεύον κλειδί.

24 Βήματα της Κανονικοποίησης (2NF)
Προσδιορίστε τις λειτουργικές εξαρτήσεις στη σχέση Αν υπάρχουν μερικές λειτουργικές εξαρτήσεις τότε μετακινήστε τες σε νέους πίνακες μαζί με ένα αντίγραφο του προσδιοριστή τους.

25 Συναρτησιακές Εξαρτήσεις
Π.Κ. (PK) Scode SName Fname Address dob Mcode Title Semester Ssemester Grade Pcode Pname Σ.Ε. Μ. Σ.Ε. 1 Μ. Σ.Ε. 2 Σ.Ε. 3

26 Εφαρμογή της Τεχνικής για Κανονικοποίηση κατά 2NF
Π.Κ. (PK) Scode SName Fname Address dob Mcode Title Semester Ssemester Grade Pcode Pname Μ. Σ.Ε. 1 Μ. Σ.Ε. 2 Scode SName Fname Address dob Scode Mcode Title Semester Ssemester Grade Pcode Pname

27 Εφαρμογή της Τεχνικής για Κανονικοποίηση κατά 2NF (2)
Π.Κ. (PK) Scode SName Fname Address dob Mcode Title Semester Ssemester Grade Pcode Pname Μ. Σ.Ε. 1 Μ. Σ.Ε. 2 Scode SName Fname Address dob Mcode Title Semester Scode Mcode Ssemester Grade Pcode Pname

28 Κανονικοποιημένη κατά 2 NF
Scode SName Fname Address dob Mcode Title Semester Scode Mcode Ssemester Grade Pcode Pname Σ.Ε. 3

29 Κανονικοποιημένη κατά 2 NF (2)
Κωδικός Φοιτητή Ονοματεπώνυμο Ονομα Πατρός Διεύθυνση Ημερομηνία Γέννησης Scode SName Fname Address dob 10021 Νικολάου Νικόλαος Γεώργιος Π. Ράλλη 432, Αιγάλεω 10/5/1993 10022 Πέτρου Πέτρος Αθηνών 102, Αθήνα 29/9/1992 Κωδικός Μαθήματος Μάθημα Εξάμηνο Μαθήματος Mcode Title Semester M6.1 Βάσεις Δεδομένων Στ Μ4.2 Οργάνωση και Διοίκηση Δ Μ5.1 Προγραμματισμός ΗΥ Ε Κωδικός Φοιτητή Κωδικός Μαθήματος Εξάμηνο Δήλωσης Βαθμός Κωδικός Διδάσκοντος Ονοματεπώνυμο Scode Mcode Ssemester Grade Pcode Pname 10021 M6.1 Εαρινό 7 10121 Παναγιώτης Απαναγιώτου Μ4.2 Χειμερινό 5 11001 Πέτρος Γεωργίου 10022 Μ5.1 6 Εαρινό

30 Τρίτος κανόνας κανονικοποίησης (3NF)
Βασίζεται στην Μεταβατική Συναρτησιακή Εξάρτηση. Μεταβατική Λειτουργική εξάρτηση έχουμε όταν: -A, B και C είναι χαρακτηριστικά μιας σχέσης τέτοια ώστε A B and B C και Α C. -Το C είναι μεταβατικά εξαρτώμενο στο Α μέσω του Β. Μια σχέση που είναι κανονικοποιημένη κατά 1NF και 2NF είναι κανονικοποιημένη κατά 3NF όταν δεν υπάρχει χαρακτηριστικό που: α) δεν είναι ή δεν μετέχει σε πρωτεύον κλειδί και β) είναι μεταβατικά συναρτησιακά εξαρτημένο στο πρωτεύον κλειδί.

31 Βήματα της Κανονικοποίησης κατά 3 NF
Προσδιορίστε τις λειτουργικές εξαρτήσεις. Αν υπάρχει μεταβατική συναρτησιακή εξάρτηση εξάρτηση στο πρωτεύον κλειδί τότε μετακινήστε την σε έναν νέο πίνακα μαζί με ένα αντίγραφο του προσδιοριστή. Scode Mcode Ssemester Grade Pcode Pname Mcode  Pcode, Pcode  Pname Mcode PName ΣΕ 3 Scode Mcode Ssemester Grade Pcode Pcode Pname

32 Παναγιώτης Παναγιώτου
Τελική Μορφή Κωδικός Φοιτητή Ονοματεπώνυμο Ονομα Πατρός Διεύθυνση Ημερομηνία Γέννησης Scode SName Fname Address dob 10021 Νικολάου Νικόλαος Γεώργιος Π. Ράλλη 432, Αιγάλεω 10/5/1993 10022 Πέτρου Πέτρος Αθηνών 102, Αθήνα 29/9/1992 Κωδικός Μαθήματος Μάθημα Εξάμηνο Μαθήματος Mcode Title Semester M6.1 Βάσεις Δεδομένων Στ Μ4.2 Οργάνωση και Διοίκηση Δ Μ5.1 Προγραμματισμός ΗΥ Ε Κωδικός Φοιτητή Κωδικός Μαθήματος Εξάμηνο Δήλωσης Βαθμός Κωδικός Διδάσκοντος Scode Mcode Ssemester Grade Pcode 10021 M6.1 Εαρινό 7 10121 Μ4.2 Χειμερινό 5 11001 10022 Μ5.1 6 Εαρινό Κωδικός Διδάσκοντος Ονοματεπώνυμο Pcode Pname 10121 Παναγιώτης Παναγιώτου 11001 Πέτρος Γεωργίου

33 Κανόνας Boyce-Codd (BCNF)
Βασίζεται στη λειτουργική εξάρτηση λαμβάνοντας υπόψη όλα τα υποψήφια κλειδιά σε μία σχέση. Σε μία σχέση με ένα υποψήφιο κλειδί συμπίπτει με τον τρίτο κανόνα. Μια σχέση είναι BCNF, αν και μόνο αν κάθε προσδιοριστής είναι ένα υποψήφιο κλειδί. Χρησιμοποιείται για τον έλεγχο της κανονικοποίησης σε Σχεσιακά Σχήματα Β.Δ.

34 Βήματα για την Κανονικοποίηση κατά BCNF
Προσδιορίστε όλα τα υποψήφια κλειδιά στη σχέση. Προσδιορίστε όλες τις Συναρτησιακές εξαρτήσεις στη σχέση Αν υπάρχουν Συναρτησιακές εξαρτήσεις στη σχέση που οι προσδιοριστές τους δεν είναι υποψήφια κλειδιά, μετακινήστε τις εξαρτήσεις σε νέους πίνακες μαζί με ένα αντίγραφο του προσδιοριστή τους.

35 Κωδικός Τμήματος που εργάζεται
Άσκηση 1 (α) Δίδεται ο παρακάτω πίνακας της απασχόλησης του προσωπικού σε μια κατασκευαστική εταιρεία AMKA Ονομ/μο Διεύθυνση Ειδικότητα Κωδ. Έργου Τίτλος Έργου Προϋπολογισμός Αντικείμενο Εργασίας Από Έως Κωδικός Τμήματος που εργάζεται Τίτλος Μονάδας Sname Address Speciality ProjectID ProjectTitle Budget Job Start Fnish BrankchNo BranchTitle Κώτσος Κ. Αθηνών 101 Ηλεκτρολόγος 101 Κτήριο Εταιρείας ABC Ηλεκτρολογικό Δίκτυο 2/3/2013 31/3/2013 Τ1 Τεχνική Μονάδα 102 Νοσοκομείο Α Φωτισμοί Εξ. Χώρων 1/4/2013 10/4/1013 Τοποθέτηση ηλ. Συσκευών Σωτηρίου Π. Πάτρας 201 Πολιτικός Μηχανικός Μελέτη 1/1/2013 31/1/2013 Τ3 Μελετών 1/9/2012 10/1/1012 105 Επίβλεψη 31/12/2013

36 Άσκηση 1 (α) - Ζητούμενα Γιατί ο πίνακας δεν είναι κανονικοποιημένος κατά 1NF; Ποιές είναι οι δυσλειτουργίες που θα έχουμε αν αφήσουμε τη Σχεση σε αυτή τη μορφή; Ποιες από τις παρακάτω Εξαρτήσεις είναι πραγματικές; AMKA  Speciality, ProjectTitle  job, AMKA  BranchTitle AMKA  Address, Address  BranchTitle, ProjectTitle  Budget ProjectID  Job, AMKA  Job, Job  ProjectID Να φερετε στον πίνακα σε κανονικοποιημένη μορφή κατά Ι NF Ποιό είναι το πρωτεύον κλειδί που θα επιλέξετε; Ποιές είναι συναρτησιακές εξαρτήσεις στον πίνακα 1 (Ολικές, μερικές, μεταβατικές) Κανονικοποιήστε τον πίνακα κατά 2NF.

37 Άσκηση 2: Καρτέλα Δανειστικής Βιβλιοθήκης
ΚΑΡΤΕΛΑ ΣΥΝΔΡΟΜΗΤΗ ΒΙΒΛΙΟΘΗΚΗΣ Α/Α.: 10024 Ονοματεπώνυμο: Νικολάου Νικόλαος Όνομα Πατρός: Γεώργιος Διεύθυνση: Π. Ράλλη 432, Αιγάλεω Τηλ: Ημερομηνία Γέννησης: Δανεισμός Βιβλίων: Να εφαρμόσετε τις διαδικασίες που απορρέουν από τους κανόνες κανονικοποίησης για το σχεδιασμό της Βάσης Δεδομένων της Δανειστικής Βιβλιοθηκης Κωδικός Βιβλίου Τίτλος Είδος Αντικειμένου Αντικείμενο Συγγραφέας Ημερομηνία Δανεισμού Ημερομηνία Επιστροφής 1001 Βάσεις Δεδομένων ΠΛ Πληροφορικής Πέτρου Π 20/3/2012 28/3/2012 10234 Οργάνωση και Διοίκηση Επιχειρησεων ΟΑ Οργάνωσης και Διοίκησης Κωστής Κ. 20/4/2012 1256 Προγραμματισμός ΗΥ ΠΜ Παναγιώτου Μ, 11/6/2012

38 Άσκηση 3 Δίδεται η παραπάνω σχέση με τις συναρτησιακές εξαρτήσεις: Α Β
Γ Δ Ε Ζ Η Δίδεται η παραπάνω σχέση με τις συναρτησιακές εξαρτήσεις: Προσδιορίστε τα πιθανά κλειδιά και καθορίστε το πρωτεύον κλειδί Υποθέστε ότι η σχέση είναι σε 1NF (πρώτη κανονική μορφή), Περιγράψτε και επεξηγήστε τη διαδικασία της κανονικοποίησης των σχεσιακών σχημάτων στη δεύτερη (2NF) και τρίτη (3NF) κανονική μορφή. Προσδιορίστε τα πρωτεύοντα και ξένα κλειδιά στην τελική μορφή (3ΝF).

39 Τέλος Ενότητας


Κατέβασμα ppt "Βάσεις Δεδομένων Ενότητα 6: Κανονικοποίηση Αθανάσιος Σπυριδάκος"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google