Παρουσίαση του powerpointeclass.teipir.gr/openeclass/modules/document/file.php... ·...
Post on 11-Jul-2020
5 Views
Preview:
TRANSCRIPT
Βάσεις Δεδομένων Ενότητα 6: Κανονικοποίηση
Αθανάσιος Σπυριδάκος
Τμήμα Διοίκησης Επιχειρήσεων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα
Άδειες Χρήσης
• Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
• Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς.
2
Χρηματοδότηση • Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια
του εκπαιδευτικού έργου του διδάσκοντα.
• Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού.
• Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.
3
Σκοποί Ενότητας
Ο φοιτητής που θα παρακολουθήσει με επιτυχία την ενότητα αυτή θα διαθέτει τις απαιτούμενες θεωρητικές και πρακτικές γνώσεις ώστε: • Να αναπτύσσει εφαρμογές διεπαφής για γραφικό
παραθυρικό περιβάλλον (client-server) και για περιβάλλον WEB (n-tier).
4
Περιεχόμενα Ενότητας
• Κανονικοποιημένη Βάση Δεδομένων
• Τα βήματα της Κανονικοποίησης
• Ορισμός της Λειτουργικής Εξάρτησης
• Οι Νόμοι της Κανονικοποίησης
• Τεχνικές Κανονικοποίησης
• Παραδείγματα - Εφαρμογές
5
Κανονικοποίηση • Εξελίσσεται σε τέσσερα στάδια με βάση τους κανόνες
κανονικοποίησης: Πρώτος (1NF), Δεύτερος (2NF), Τρίτος (3NF) και Boyce-Codd (BCNF) κανόνες κανονικοποίησης.
• Βασίζεται στην συναρτησιακή εξάρτηση ανάμεσα στα χαρακτηριστικά των σχέσεων.
• Μια σχέση μπορεί να κανονικοποιηθεί, έτσι ώστε να αντιμετωπίζονται οι περιπτώσεις δημιουργίας προβλημάτων ενημέρωσης της Βάσης Δεδομένων.
• Καταλήγει στην κατασκευή ενός σχεσιακού μοντέλου (πίνακες- σχέσεις) από την αρχική περιγραφή των δεδομένων που αφορούν στη λειτουργία της περίπτωσης που μελετάμε
• Η διαδικασία ξεκινά από μια αρχική σχέση (μη κανονικοποιημένη) και με διαδοχικά βήματα (αποδόμησης) καταλήγει στην κανονικοποιημένη βάση δεδομένων.
6
Πλεονασμός Δεδομένων
• Κύριος στόχος είναι να ομαδοποιήσουμε τα χαρακτηριστικά σε πίνακες έτσι ώστε να ελαχιστοποιήσουμε τον πλεονασμό δεδομένων, να μειώσουμε τις απαιτήσεις σε χώρο αποθήκευσης και να βελτιστοποιήσουμε την απόδοση του Σ.Δ.Β.Δ.
• Στο παράδειγμα που ακολουθεί στον μεν πρώτο πίνακα υπάρχει πλεονασμός δεδομένων, ενώ με τη διάσπαση ο πλεονασμός εκλείπει. 7
Παράδειγμα Πλεονασμού Δεδομένων - Αποδόμηση
8
Πλεονασμός
Με τη Διάσπαση σε δύο πίνακες δεν υπάρχει
πλεονασμός
StudentNo SFname Sfname Address DepartmentCode
1234 Γεωργίου Νικόλαος Ανθέων 20, 10101
Πάτρα ΔΕ
3421 Νικολάου Γεώργιος Πόρου 101, 12200
Αθηνα ΛΟ
6743 Πέτρου Πέτρος Κερκύρας 101, 12111,
Αθήνα ΔΕ
5411 Αθανασίο
υ Νάσος Κύπρου 201, 1002,
Σπάρτη ΗΛ
9921 Ιωάννου Χρήστος Κήπων 154, 12200,
Αιγαλεω ΛΟ
DepartmentCode Title Building
ΔΕ Διοίκησης
Επιχειρήσεων Δ-1 ΛΟ Λογιστικής Δ-2 ΗΛ Ηλεκτρολογίας Α-2
StudentNo SFname Sfname Address DepartmentCode Title Building
1234 Γεωργίου Νικόλαος Ανθέων 20, 10101 Πάτρα ΔΕ Διοίκησης Επιχειρήσεων Δ-1
3421 Νικολάου Γεώργιος Πόρου 101, 12200 Αθηνα ΛΟ Λογιστικής Δ-2
6743 Πέτρου Πέτρος Κερκύρας 101, 12111, Αθήνα ΔΕ Διοίκησης Επιχειρήσεων Δ-1
5411 Αθανασίου Νάσος Κύπρου 201, 1002, Σπάρτη ΗΛ Ηλεκτρολογίας Α-2
9921 Ιωάννου Χρήστος Κήπων 154, 12200, Αιγαλεω ΛΟ Λογιστικής Δ-2
Δυσκολίες στην Ενημέρωση • Αν στη Βάση Δεδομένων υπάρχει πλεονασμός δεδομένων τότε δυνητικά
υποφέρει από προβλήματα στην ενημέρωση (εισαγωγή, μεταβολή, διαγραφή δεδομένων)
• Παράδειγμα: Αν ένα τμήμα αλλάξει Διεύθυνση (Κτήριο) τότε θα πρέπει να αλλάξουμε τη Διεύθυνση σε όλες τις γραμμές του Πίνακα που εμφανίζεται το Τμήμα
9
StudentNo SFname Sfname Address DepartmentCode Title Building
1234 Γεωργίου Νικόλαος Ανθέων 20, 10101 Πάτρα ΔΕ Διοίκησης Επιχειρήσεων Δ-1
3421 Νικολάου Γεώργιος Πόρου 101, 12200 Αθηνα ΛΟ Λογιστικής Δ-2
6743 Πέτρου Πέτρος Κερκύρας 101, 12111, Αθήνα ΔΕ Διοίκησης Επιχειρήσεων Δ-1
5411 Αθανασίου Νάσος Κύπρου 201, 1002, Σπάρτη ΗΛ Ηλεκτρολογίας Α-2
9921 Ιωάννου Χρ'ηστος Κήπων 154, 12200, Αιγαλεω ΛΟ Λογιστικής Δ-2
Το τμήμα ΔΕ μετακομίζει στο κτήριο Δ-3
Βασικές Ιδιότητες στην Αποδόμηση
• Δύο είναι οι βασικές ιδιότητες της αποδόμησης.
– Μη Απώλειας: (Lossless-join property) Η δομή της Βάσης Δεδομένων θα πρέπει να είναι τέτοια ώστε να μπορούμε να βρούμε οποιαδήποτε εικόνα της αρχικής κατάστασης από τη διασύνδεση των επιμέρους σχέσεων στις οποίες έχουμε αποδομήσει την Αρχική Σχέση.
– Διατήρηση Εξάρτησης (Dependency preservation
property): Επιτρέπει να έχουμε τους περιορισμούς που ισχύουν στην αρχική κατάσταση της Σχέσης με την τοποθέτηση περιορισμών στις μικρότερες σχέσεις.
10
Λειτουργική Εξάρτηση • Λειτουργική ή Συναρτησιακή Εξάρτηση
– Περιγράφει τη σχέση ανάμεσα σε δυο χαρακτηριστικά μιας σχέσης.
– Αν A και B είναι χαρακτηριστικά μιας σχέσης το B είναι λειτουργικά – συναρτησιακά εξαρτημένο από το A
(σημειώνεται A B), αν κάθε τιμή του Α είναι συσχετισμένη με ακριβώς μία τιμή του B. • Παράδειγμα:
11
StudentNo SFname Sfname Address Region Municipality
1234 Γεωργίου Νικόλαος Ανθέων 20 Αττικής Αθηναίων
3421 Νικολάου Γεώργιος Πόρου 101 Θεσσαλίας Λάρισα
6743 Πέτρου Πέτρος Κερκύρας 101 Αττικής Αιγάλεω
5411 Αθανασίου Νάσος Κύπρου 201 Κρήτης Χανιά
9921 Ιωάννου Χρ'ηστος Κήπων 154 Κρήτης Ηράκλειο
Η περιφέρεια είναι εξαρτημένη από την
Πόλη
Municipality - Region
Λειτουργική ή Συναρτησιακή Εξάρτηση
• Διαγραμματική Παρουσίαση.
• Ο προσδιοριστής (determinant) μιας λειτουργικής εξάρτησης είναι το ή τα χαρακτηριστικά τους αριστερού τμήματος της συναρτησιακής εξάρτησης.
• Ουσιαστικά, υπάρχει συναρτησιακή εξάρτηση όταν γνωρίζοντας την τιμή του Α μπορούμε να βρούμε την τιμή του Β.
• Αν γνωρίζουμε τον Νομό (πχ Γρεβενά) μπορούμε να βρούμε την
Περιφέρεια (Δυτικής Μακεδονίας). Το αντίστροφο δεν ισχύει.
12
Το B είναι εξαρτημένο από το A Α Β
Παραδείγματα Συναρτησιακής Εξάρτησης
13
ΑΜΚΑ Θέση
Η θέση είναι Συναρτησιακά Εξαρτημένη από τον κωδικό
του προσωπικού
10021960022111 Αναπληρωτής Καθηγητής
Θέση ΑΜΚΑ
Ο κωδικός του Προσωπικου δεν είναι συναρτησιακά
εηξαρτημπενος απο τη θέση
Αναπληρωτής Καθηγητής ……….
Η Διαδικασία της Κανονικοποίησης
• Τεχνικές για την αποδόμηση μιας σχέσης σε άλλες βασισμένες στο πρωτεύων κλειδί και τις λειτουργικές εξαρτήσεις ανάμεσα στα χαρακτηριστικά της σχέσης
• Υλοποιείται με μια σειρά από βήματα.
• Κάθε βήμα αντιστοιχεί και σε ένα κανόνα κανονικοποίησης.
• Όπως προχωρά η κανονικοποίηση, οι σχέσεις προοδευτικά γίνονται περισσότερο περιοριστικές στη μορφή και εξασφαλίζουν την ικανοποίηση των δύο βασικών ιδιοτήτων της κανονικοποίησης.
14
Τα Βήματα της Κανονικοποίησης
15
1ος Κανόνας Κανονικοποίησης (1NF)
2ος Κανόνας Κανονικοποίησης (2NF)
3ος Κανόνας Κανονικοποίησης (3NF)
Ανώτεροι Κανόνες Κανονικοποίησης
Μη Κανονικοποιημένη προς Κανονικοποιημένη Σχέση κατά τον 1ο Κανόνα
• Μη κανονικοποιημένος πίνακας είναι εκείνος που έχει ένα ή περισσότερα επαναλαμβανόμενα στοιχεία
• Για να δημιουργήσουμε ένα μη κανονικοποιημένο πίνακα αρκεί να μεταφέρουμε μια φόρμα (καρτέλα) σε πίνακα
16
Η καρτέλα του Φοιτητή • ΚΑΡΤΕΛΑ ΦΟΙΤΗΤΗ
Α.Μ.: 10021
Ονοματεπώνυμο: Νικολάου Νικόλαος
Όνομα Πατρός: Γεώργιος
Διεύθυνση: Π. Ράλλη 432, Αιγάλεω
Ημερομηνία Γέννησης: 10.5.1993
Δηλώσεις Μαθημάτων:
17
Κωδικός Μαθήματος
Μάθημα Εξάμηνο Μαθήματος
Εξάμηνο Δήλωσης
Βαθμός Κωδικός Διδάσκοντος
Ονοματεπώνυμο Διδασκοντος
M6.1 Βάσεις Δεδομένων
Στ Εαρινό 2012-13 7 10121 Παναγιώτης Παναγιώτου
Μ4.2 Οργάνωση και Διοίκηση
Δ Χειμερινό 2011-12
5 11001 Πέτρος Γεωργίου
Η καρτέλα του Φοιτητή σε Μορφή Πίνακα
• Παραδοχές: Ο Φοιτητής δηλώνει το μάθημα μία μόνο φορά. • ‘Ενα μάθημα το διδάσκει μόνο ένας καθηγητής
18
Κωδικός Φοιτητή
Ονοματεπώνυμο
Ονομα Πατρός Διεύθυνση
Ημερομηνία Γέννησης
Κωδικός Μαθήματος
Μάθημα Εξάμηνο Μαθήματος
Εξάμηνο Δήλωσης
Βαθμός Κωδικός Διδάσκοντος
Ονοματεπώνυμο
Scode SName Fname Address dob Mcode Title Semester Ssemester Grade Pcode Pname
10021 Νικολάου Νικόλαος Γεώργιος Π. Ράλλη 432,
Αιγάλεω 10/5/1993 M6.1 Βάσεις Δεδομένων Στ Εαρινό 2012-13 7 10121
Παναγιώτης
Ππαναγιώτου
Μ4.2 Οργάνωση και Διοίκηση Δ Χειμερινό 2011-
12 5 11001 Πέτρος Γεωργίου
10022 Πέτρου Πέτρος Αθηνών 102, Αθήνα 29/9/1992 Μ5.1 Προγραμματισμ
ός ΗΥ Ε Εαρινό 2012-13 6 10121
Παναγιώτης
Απαναγιώτου
Μ4.2 Οργάνωση και Διοίκηση Δ Εαρινό 2011-12 7 11002 Πέτρος Α
Πρώτος Κανόνας (1NF) • Μια σχέση είναι κανονικοποιημένη κατά τον πρώτο κανόνα
όταν σε ένα κελί έχει μια και μόνο μία τιμής.
19
Κωδικός Φοιτητή
Ονοματεπώνυμο
Ονομα Πατρός Διεύθυνση
Ημερομηνία Γέννησης
Κωδικός Μαθήματος
Μάθημα Εξάμηνο Μαθήματος
Εξάμηνο Δήλωσης
Βαθμός Κωδικός Διδάσκοντος
Ονοματεπώνυμο
Scode SName Fname Address dob Mcode Title Semester Ssemester Grade Pcode Pname
10021 Νικολάου Νικόλαος Γεώργιος Π. Ράλλη 432,
Αιγάλεω 10/5/1993 M6.1 Βάσεις Δεδομένων Στ Εαρινό 2012-13 7 10121
Παναγιώτης
Ππαναγιώτου
Μ4.2 Οργάνωση και Διοίκηση Δ Χειμερινό 2011-
12 5 11001 Πέτρος Γεωργίου
10022 Πέτρου Πέτρος Αθηνών 102, Αθήνα 29/9/1992 Μ5.1 Προγραμματισμ
ός ΗΥ Ε Εαρινό 2012-13 6 10121
Παναγιώτης
Απαναγιώτου
Μ4.2 Οργάνωση και Διοίκηση Δ Εαρινό 2011-12 7 11002 Πέτρος Α
Μη κανονικοποιημενη σχέση κατά 1 ΝF
Από μη Κανονικοποιημένη Μορφή σε Κανονικοποιημένη κατά 1NF
• Προσδιορίστε ένα η περισσότερα χαρακτηριστικά τα οποία θα χρησιμοποιηθούν σαν κλειδί για τον μη κανονικοποιημένο πίνακα.
• Προσδιορίστε τα πεδία που επαναλαμβάνονται στον μη κανονικοποιημένο πίνακα
• Μετακινήστε τα επαναλαμβανόμενα πεδία με: 1η Μέθοδος - Εισαγωγή των κατάλληλων δεδομένων στα κενά κελιά επαναλαμβάνοντας τις τιμές ή με 2η Μέθοδος - Μετακίνηση των επαναλαμβανόμενων δεδομένων σε έναν νέο πίνακα μαζί με αντίγραφο του κλειδιού
20
Κανονικοποίηση κατά 1 ΝF (1η μέθοδος)
21
Κωδικός Φοιτητή
Ονοματεπώνυμο
Ονομα Πατρός Διεύθυνση Ημερομηνία
Γέννησης Κωδικός
Μαθήματος Μάθημα Εξάμηνο Μαθήματος Εξάμηνο Δήλωσης Βαθμός Κωδικός
Διδάσκοντος Ονοματεπών
υμο Scode SName Fname Address dob Mcode Title Semester Ssemester Grade Pcode Pname
10021 Νικολάου Νικόλαος Γεώργιος
Π. Ράλλη 432, Αιγάλεω 10/5/1993
M6.1 Βάσεις Δεδομένων Στ Εαρινό 2012-13 7 10121 Παναγιώτης Απαναγιώτου
Μ4.2 Οργάνωση και
Διοίκηση Δ Χειμερινό 2011-12 5 11001 Πέτρος
Γεωργίου
10022 Πέτρου Πέτρος Αθηνών 102, Αθήνα 29/9/1992
Μ5.1 Προγραμματισμός ΗΥ Ε Εαρινό 2012-13 6 10121 Παναγιώτης Απαναγιώτου
Μ4.2 Οργάνωση και
Διοίκηση Δ Εαρινό 2011-12 7 11001 Πέτρος
Γεωργίου
Κωδικός Φοιτητή
Ονοματεπώνυμο
Ονομα Πατρός Διεύθυνση Ημερομηνία
Γέννησης Κωδικός
Μαθήματος Μάθημα Εξάμηνο Μαθήματος Εξάμηνο Δήλωσης Βαθμός Κωδικός
Διδάσκοντος Ονοματεπώ
νυμο Scode SName Fname Address dob Mcode Title Semester Ssemester Grade Pcode Pname
10021 Νικολάου Νικόλαος Γεώργιος Π. Ράλλη 432,
Αιγάλεω 10/5/1993 M6.1 Βάσεις Δεδομένων Στ Εαρινό 2012-13 7 10121 Παναγιώτης Απαναγιώτο
υ
10021 Νικολάου Νικόλαος Γεώργιος Π. Ράλλη 432,
Αιγάλεω 10/5/1993 Μ4.2 Οργάνωση και Διοίκηση Δ Χειμερινό 2011-12 5 11001 Πέτρος
Γεωργίου
10022 Πέτρου Πέτρος Αθηνών 102, Αθήνα 29/9/1992 Μ5.1 Προγραμματισμός
ΗΥ Ε Εαρινό 2012-13 6 10121 Παναγιώτης Απαναγιώτο
υ
10022 Πέτρου Πέτρος Αθηνών 102, Αθήνα 29/9/1992 Μ4.2 Οργάνωση και
Διοίκηση Δ Εαρινό 2011-12 7 11001 Πέτρος Γεωργίου
Εισαγωγή των κατάλληλων δεδομένων στα κενά κελιά επαναλαμβάνοντας τις τιμές
Κλειδί- Κωδικός Φοιτητή, Κωδικός Μαθήματος
Κανονικοποίηση κατά 1 ΝF ( 2η μέθοδος)
22
Κωδικός Φοιτητή
Κωδικός Μαθήματος
Μάθημα Εξάμηνο Μαθήματος
Εξάμηνο Δήλωσης
Βαθμός Κωδικός Διδάσκοντος
Ονοματεπώνυμο
Scode Mcode Title Semester Ssemester Grade Pcode Pname
10021 M6.1 Βάσεις
Δεδομένων Στ Εαρινό 2012-
13 7 10121 Παναγιώτης
Απαναγιώτου
10021 Μ4.2 Οργάνωση
και Διοίκηση Δ Χειμερινό
2011-12 5 11001 Πέτρος
Γεωργίου
10022 Μ5.1 Προγραμματι
σμός ΗΥ Ε Εαρινό 2012-
13 6 10121 Παναγιώτης
Απαναγιώτου
10022 Μ4.2 Οργάνωση
και Διοίκηση Δ Εαρινό 2011-
12 7 11001 Πέτρος
Γεωργίου
Κωδικός Φοιτητή
Ονοματεπώνυμο Ονομα Πατρός Διεύθυνση Ημερομηνία
Γέννησης Scode SName Fname Address dob
10021 Νικολάου Νικόλαος Γεώργιος
Π. Ράλλη 432, Αιγάλεω 10/5/1993
10022 Πέτρου Πέτρος Αθηνών 102,
Αθήνα 29/9/1992
Μετακίνηση των επαναλαμβανόμενων δεδομένων σε έναν
νέο πίνακα μαζί με αντίγραφο του
κλειδιού που αφορά τα
επαναλαμβανόμενα δεδομένα
Δεύτερος Κανόνας Κανονικοποίησης (2NF)
• Βασίζεται στην πλήρη συναρτησιακή εξάρτηση.
• Πλήρη λειτουργική εξάρτηση έχουμε όταν: – A και B είναι χαρακτηριστικά μιας σχέσης, – Το B είναι πλήρως εξαρτημένο από το Α αν το Β είναι εξαρτημένο από
το Α αλλά όχι από κάθε υποσύνολο του Α.
• Σε αντίθετη περίπτωση έχουμε μερική συναρτησιακή εξάρτηση.
• Μια σχέση είναι κανονικοποιημένη κατά 2 NF αν είναι κανονικοποιημένη κατά 1NF και κάθε χαρακτηριστικό που δεν είναι πρωτεύον κλειδί είναι πλήρως εξαρτημένο στο πρωτεύον κλειδί.
23
Βήματα της Κανονικοποίησης (2NF)
• Προσδιορίστε το πρωτεύον κλειδί της 1NF σχέσης
• Προσδιορίστε τις λειτουργικές εξαρτήσεις στη σχέση
• Αν υπάρχουν μερικές λειτουργικές εξαρτήσεις τότε μετακινήστε τες σε νέους πίνακες μαζί με ένα αντίγραφο του προσδιοριστή τους.
24
Συναρτησιακές Εξαρτήσεις
25
Σ.Ε.
Scode SName Fname Address dob Mcode Title Semester Ssemester Grade Pcode Pname
Π.Κ. (PK)
Μ. Σ.Ε. 1
Μ. Σ.Ε. 2
Σ.Ε. 3
Εφαρμογή της Τεχνικής για Κανονικοποίηση κατά 2NF
26
Scode SName Fname Address dob Mcode Title Semester Ssemester Grade Pcode Pname
Π.Κ. (PK)
Μ. Σ.Ε. 1
Scode SName Fname Address dob
Scode Mcode Title Semester Ssemester Grade Pcode Pname
Μ. Σ.Ε. 2
Εφαρμογή της Τεχνικής για Κανονικοποίηση κατά 2NF (2)
27
Scode SName Fname Address dob Mcode Title Semester Ssemester Grade Pcode Pname
Π.Κ. (PK)
Μ. Σ.Ε. 1
Scode SName Fname Address dob
Mcode Title Semester
Μ. Σ.Ε. 2
Scode Mcode Ssemester Grade Pcode Pname
Κανονικοποιημένη κατά 2 NF
28
Scode SName Fname Address dob
Mcode Title Semester
Scode Mcode Ssemester Grade Pcode Pname
Σ.Ε. 3
Κανονικοποιημένη κατά 2 NF (2)
29
Κωδικός Φοιτητή
Ονοματεπώνυμο
Ονομα Πατρός Διεύθυνση
Ημερομηνία Γέννησης
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 Εαρινό 2012-13 7 10121 Παναγιώτης
Απαναγιώτου
10021 Μ4.2 Χειμερινό 2011-
12 5 11001 Πέτρος Γεωργίου
10022 Μ5.1 Εαρινό 2012-13 6 10121 Παναγιώτης
Απαναγιώτου
10022 Μ4.2 Εαρινό 2011-12 7 11001 Πέτρος Γεωργίου
Τρίτος κανόνας κανονικοποίησης (3NF)
• Βασίζεται στην Μεταβατική Συναρτησιακή Εξάρτηση. • Μεταβατική Λειτουργική εξάρτηση έχουμε όταν: -A, B και C είναι χαρακτηριστικά μιας σχέσης τέτοια ώστε A B and B C και Α C. -Το C είναι μεταβατικά εξαρτώμενο στο Α μέσω του Β.
Μια σχέση που είναι κανονικοποιημένη κατά 1NF και 2NF είναι κανονικοποιημένη κατά 3NF όταν δεν υπάρχει χαρακτηριστικό που: α) δεν είναι ή δεν μετέχει σε πρωτεύον κλειδί και β) είναι μεταβατικά συναρτησιακά εξαρτημένο στο πρωτεύον κλειδί.
30
Βήματα της Κανονικοποίησης κατά 3 NF
• Προσδιορίστε το πρωτεύον κλειδί στη κανονικοποιημένη κατά 2NF σχέση. • Προσδιορίστε τις λειτουργικές εξαρτήσεις. • Αν υπάρχει μεταβατική συναρτησιακή εξάρτηση εξάρτηση στο πρωτεύον
κλειδί τότε μετακινήστε την σε έναν νέο πίνακα μαζί με ένα αντίγραφο του προσδιοριστή.
31
Scode Mcode Ssemester Grade Pcode Pname
ΣΕ 3
Mcode Pcode, Pcode Pname Mcode PName
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 Εαρινό 2012-13 7 10121
10021 Μ4.2 Χειμερινό 2011-
12 5 11001
10022 Μ5.1 Εαρινό 2012-13 6 10121
10022 Μ4.2 Εαρινό 2011-12 7 11001
Κωδικός Διδάσκοντος
Ονοματεπώνυμο
Pcode Pname
10121 Παναγιώτης Παναγιώτου
11001 Πέτρος Γεωργίου
Κανόνας Boyce-Codd (BCNF) • Βασίζεται στη λειτουργική εξάρτηση λαμβάνοντας υπόψη
όλα τα υποψήφια κλειδιά σε μία σχέση.
• Σε μία σχέση με ένα υποψήφιο κλειδί συμπίπτει με τον τρίτο κανόνα.
• Μια σχέση είναι BCNF, αν και μόνο αν κάθε προσδιοριστής είναι ένα υποψήφιο κλειδί.
• Χρησιμοποιείται για τον έλεγχο της κανονικοποίησης σε Σχεσιακά Σχήματα Β.Δ.
33
Βήματα για την Κανονικοποίηση κατά BCNF
• Προσδιορίστε όλα τα υποψήφια κλειδιά στη σχέση.
• Προσδιορίστε όλες τις Συναρτησιακές εξαρτήσεις στη σχέση
• Αν υπάρχουν Συναρτησιακές εξαρτήσεις στη σχέση που οι προσδιοριστές τους δεν είναι υποψήφια κλειδιά, μετακινήστε τις εξαρτήσεις σε νέους πίνακες μαζί με ένα αντίγραφο του προσδιοριστή τους.
34
Άσκηση 1 (α) • Δίδεται ο παρακάτω πίνακας της απασχόλησης του προσωπικού σε μια
κατασκευαστική εταιρεία
35
AMKA Ονομ/μο Διεύθυνση Ειδικότητα Κωδ. Έργου Τίτλος Έργου Προϋπολογ
ισμός Αντικείμενο Εργασίας Από Έως
Κωδικός Τμήματος
που εργάζεται
Τίτλος Μονάδας
AMKA Sname Address Speciality ProjectID ProjectTitle Budget Job Start Fnish BrankchNo BranchTitle
1010001101 Κώτσος Κ. Αθηνών
101 Ηλεκτρολόγος
101 Κτήριο Εταιρείας ABC 12000000 Ηλεκτρολογικό Δίκτυο 2/3/201
3 31/3/2013 Τ1 Τεχνική Μονάδα
102 Νοσοκομείο Α 40000000 Φωτισμοί Εξ. Χώρων 1/4/2013 10/4/1013 Τ1 Τεχνική
Μονάδα
101 Κτήριο Εταιρείας ABC 12000000 Τοποθέτηση ηλ.
Συσκευών 2/3/201
3 31/3/2013 Τ1 Τεχνική Μονάδα
1010001101
Σωτηρίου Π.
Πάτρας 201
Πολιτικός Μηχανικός
102 Νοσοκομείο Α 40000000 Μελέτη 1/1/2013 31/1/2013 Τ3 Μελετών
101 Κτήριο Εταιρείας ABC 12000000 Μελέτη 1/9/201
2 10/1/1012 Τ3 Μελετών
105 Νοσοκομείο Α 40000000 Επίβλεψη 1/1/2013
31/12/2013 Τ3 Μελετών
Άσκηση 1 (α) - Ζητούμενα a) Γιατί ο πίνακας δεν είναι κανονικοποιημένος κατά 1NF; b) Ποιές είναι οι δυσλειτουργίες που θα έχουμε αν αφήσουμε τη Σχεση σε
αυτή τη μορφή; c) Ποιες από τις παρακάτω Εξαρτήσεις είναι πραγματικές; d) AMKA Speciality, ProjectTitle job, AMKA BranchTitle e) AMKA Address, Address BranchTitle, ProjectTitle Budget f) ProjectID Job, AMKA Job, Job ProjectID g) Να φερετε στον πίνακα σε κανονικοποιημένη μορφή κατά Ι NF h) Ποιό είναι το πρωτεύον κλειδί που θα επιλέξετε; i) Ποιές είναι συναρτησιακές εξαρτήσεις στον πίνακα 1 (Ολικές, μερικές,
μεταβατικές) j) Κανονικοποιήστε τον πίνακα κατά 2NF.
36
Άσκηση 2: Καρτέλα Δανειστικής Βιβλιοθήκης
• ΚΑΡΤΕΛΑ ΣΥΝΔΡΟΜΗΤΗ ΒΙΒΛΙΟΘΗΚΗΣ
Α/Α.: 10024
Ονοματεπώνυμο: Νικολάου Νικόλαος
Όνομα Πατρός: Γεώργιος
Διεύθυνση: Π. Ράλλη 432, Αιγάλεω
Τηλ: 210-3232455
Ημερομηνία Γέννησης: 10.5.1993
Δανεισμός Βιβλίων:
37
Κωδικός Βιβλίου
Τίτλος Είδος
Αντικειμένου
Αντικείμενο Συγγραφέας Ημερομηνία Δανεισμού
Ημερομηνία Επιστροφής
1001 Βάσεις Δεδομένων ΠΛ Πληροφορικής Πέτρου Π 20/3/2012 28/3/2012
10234 Οργάνωση και
Διοίκηση Επιχειρησεων
ΟΑ Οργάνωσης και
Διοίκησης Κωστής Κ. 20/4/2012
1256 Προγραμματισμός
ΗΥ ΠΜ Πληροφορικής
Παναγιώτου Μ,
11/6/2012 2862-12
Να εφαρμόσετε τις διαδικασίες που απορρέουν από τους κανόνες
κανονικοποίησης για το σχεδιασμό της Βάσης Δεδομένων της Δανειστικής Βιβλιοθηκης
Άσκηση 3
• Δίδεται η παραπάνω σχέση με τις συναρτησιακές εξαρτήσεις: – Προσδιορίστε τα πιθανά κλειδιά και καθορίστε το πρωτεύον κλειδί
– Υποθέστε ότι η σχέση είναι σε 1NF (πρώτη κανονική μορφή), Περιγράψτε και επεξηγήστε τη διαδικασία της κανονικοποίησης των σχεσιακών σχημάτων στη δεύτερη (2NF) και τρίτη (3NF) κανονική μορφή.
– Προσδιορίστε τα πρωτεύοντα και ξένα κλειδιά στην τελική μορφή (3ΝF).
38
Α Β Γ Δ Ε Ζ Η
Τέλος Ενότητας
top related