Ας συζητήσουμε τις διαφορές μεταξύ 3NF και BCNF με τη βοήθεια του πίνακα σύγκρισης που φαίνεται παρακάτω.
Συγκριτικό διάγραμμα
Βάση σύγκρισης | 3NF | BCNF |
---|---|---|
Εννοια | Κανένα μη βασικό χαρακτηριστικό πρέπει να εξαρτάται μεταβατικά από το κλειδί υποψηφίου. | Για κάθε ασυνήθιστη εξάρτηση σε σχέση R λέει X-> Y, X πρέπει να είναι ένα super κλειδί της σχέσης R. |
Εξάρτηση | Το 3NF μπορεί να επιτευχθεί χωρίς να θυσιάζεται όλες οι εξαρτήσεις. | Οι εξαρτήσεις ενδέχεται να μην διατηρηθούν στο BCNF. |
Αποσύνθεση | Η αποσύνθεση χωρίς απώλειες μπορεί να επιτευχθεί σε 3NF. | Η αποσύνθεση χωρίς απώλειες είναι δύσκολο να επιτευχθεί στο BCNF. |
Ορισμός του 3NF
Ένας πίνακας ή μια σχέση θεωρείται ότι βρίσκεται στην Τρίτη Κανονική Μορφή μόνο εάν ο πίνακας βρίσκεται ήδη σε 2NF και δεν υπάρχει καμία ιδιότητα μη πρωτεύοντος μεταβατικά εξαρτώμενη από το υποψήφιο κλειδί μιας σχέσης.
Επομένως, προτού ασχοληθώ με τη διαδικασία ομαλοποίησης ενός πίνακα στο 3NF, επιτρέψτε μου να συζητήσω το υποψήφιο κλειδί. Ένα υποψήφιο κλειδί είναι ένα ελάχιστο σούπερ κλειδί δηλαδή ένα σούπερ κλειδί με ελάχιστα χαρακτηριστικά που μπορούν να ορίσουν όλα τα χαρακτηριστικά μιας σχέσης. Έτσι, κατά τη διαδικασία ομαλοποίησης του τραπέζι σας, πρώτα, αναγνωρίζετε το υποψήφιο κλειδί μιας δεδομένης σχέσης. Τα χαρακτηριστικά που αποτελούν μέρος του υποψήφιου κλειδιού είναι πρωταρχικά χαρακτηριστικά και τα χαρακτηριστικά που δεν είναι το μέρος του υποψήφιου κλειδιού είναι μη πρωταρχικά χαρακτηριστικά .
Τώρα αν έχουμε σχέση R (A, B, C, D, E, F) και έχουμε τις ακόλουθες εξάρσεις λειτουργίας για τη σχέση R.
Ο πίνακας βρίσκεται σε 2NF, καθώς κανένα χαρακτηριστικό μη πρωτεύοντος εξαρτάται εν μέρει από το υποψήφιο κλειδί
Όμως, παρατηρείται μια μεταβατική εξάρτηση μεταξύ των λειτουργικών εξαρτήσεων που παρέχονται, καθώς το χαρακτηριστικό F δεν εξαρτάται άμεσα από το υποψήφιο κλειδί ΑΒ . Αντ 'αυτού, το χαρακτηριστικό F εξαρτάται μεταβατικά από το υποψήφιο κλειδί ΑΒ μέσω του χαρακτηριστικού D. Μέχρι το χαρακτηριστικό D έχει κάποια τιμή που μπορούμε να φτάσουμε στην τιμή του χαρακτηριστικού του F, από το υποψήφιο κλειδί ΑΒ. Σε περίπτωση που η τιμή του χαρακτηριστικού D είναι NULL, δεν μπορούμε ποτέ να βρούμε / αναζητήσουμε την τιμή του F με τη βοήθεια του υποψήφιου κλειδιού AB. Αυτός είναι ο λόγος για τον οποίο το 3NF ζητά να αφαιρέσει την μεταβατική εξάρτηση από τις σχέσεις.
Έτσι, για να αφαιρέσουμε αυτήν την μεταβατική εξάρτηση, πρέπει να διαιρέσουμε τη σχέση R. Ενώ διαιρούμε μια σχέση, τοποθετούμε πάντα το υποψήφιο κλειδί και όλα τα χαρακτηριστικά που εξαρτώνται από αυτό το υποψήφιο κλειδί στην πρώτη σχέση. Στην επόμενη διαιρεμένη σχέση, θα τοποθετήσουμε το χαρακτηριστικό που προκαλεί την μεταβατική εξάρτηση και επίσης τα χαρακτηριστικά που εξαρτώνται από αυτή στη δεύτερη σχέση.
Ορισμός του BCNF
Το BCNF θεωρείται το ισχυρότερο από το 3NF. Η σχέση R που βρίσκεται στο BCNF πρέπει να είναι σε 3NF . Και όπου μια μη-ασήμαντη λειτουργική εξάρτηση A -> B κρατά σε σχέση R, τότε το Α πρέπει να είναι ένα σούπερ κλειδί της σχέσης R. Όπως γνωρίζουμε, το κλειδί Super είναι ένα κλειδί που έχει ένα μοναδικό χαρακτηριστικό ή σύνολο χαρακτηριστικών που καθορίζει το σύνολο χαρακτηριστικά μιας σχέσης.
Τώρα, ας προχωρήσουμε σε ένα παράδειγμα για να κατανοήσουμε καλύτερα τον BCNF. Ας υποθέσουμε ότι έχουμε μια σχέση R (A, B, C, D, F), οι οποίες έχουν τις παρακάτω λειτουργικές εξαρτήσεις.
Αλλά μία λειτουργική εξάρτηση, δηλαδή D -> F, παραβιάζει τον ορισμό του BCNF, σύμφωνα με τον οποίο, εάν D -> F υπάρχει τότε το D θα πρέπει να είναι το σούπερ κλειδί που δεν συμβαίνει εδώ. Έτσι θα διαιρέσουμε τη σχέση R.
Βασικές διαφορές μεταξύ 3NF και BCNF
- Το 3NF δηλώνει ότι κανένα μη χαρακτηριστικό γνώρισμα δεν πρέπει να εξαρτάται μεταβατικά από το υποψήφιο κλειδί της σχέσης. Από τα άλλα χέρια, το BCNF δηλώνει ότι αν υπάρχει μια συνήθης λειτουργική εξάρτηση X -> Y για μια σχέση, τότε το Χ πρέπει να είναι ένα σούπερ κλειδί.
- 3NF μπορεί να επιτευχθεί χωρίς να θυσιάζεται η εξάρτηση της σχέσης. Ωστόσο, η εξάρτηση μπορεί να μην διατηρηθεί κατά τη λήψη του BCNF.
- Το 3NF μπορεί να επιτευχθεί χωρίς να χάσει οποιαδήποτε πληροφορία από το παλιό τραπέζι, ενώ, παράλληλα με την απόκτηση του BCNF, μπορούμε να χάσουμε κάποιες πληροφορίες από τον παλιό πίνακα.
Συμπέρασμα:
Το BCNF είναι πολύ πιο περιοριστικό από το 3NF που συμβάλλει στην ομαλοποίηση του πίνακα. Η σχέση στο 3NF έχει ελάχιστη πλεονάζουσα πλεονασμό η οποία απομακρύνεται περαιτέρω από το BCNF.