Συνιστάται, 2024

Επιλογή Συντάκτη

Διαφορά μεταξύ 3NF και BCNF

Η κανονικοποίηση είναι μια μέθοδος που αφαιρεί την πλεοναστικότητα από μια σχέση ελαχιστοποιώντας έτσι την εισαγωγή, διαγραφή και ενημέρωση των ανωμαλιών που υποβαθμίζουν την απόδοση των βάσεων δεδομένων. Σε αυτό το άρθρο, θα διακρίνουμε μεταξύ δύο υψηλότερων κανονικών μορφών, δηλαδή 3NF και BCNF. Η βασική διαφορά μεταξύ 3NF και BCNF είναι ότι το 3NF εξαλείφει την μεταβατική εξάρτηση από μια σχέση και έναν πίνακα που πρέπει να είναι στο BCNF, η ασήμαντη λειτουργική εξάρτηση X-> Y σε μια σχέση πρέπει να διατηρηθεί, μόνο αν το X είναι το σούπερ κλειδί.

Ας συζητήσουμε τις διαφορές μεταξύ 3NF και BCNF με τη βοήθεια του πίνακα σύγκρισης που φαίνεται παρακάτω.

Συγκριτικό διάγραμμα

Βάση σύγκρισης3NFBCNF
ΕννοιαΚανένα μη βασικό χαρακτηριστικό πρέπει να εξαρτάται μεταβατικά από το κλειδί υποψηφίου.Για κάθε ασυνήθιστη εξάρτηση σε σχέση R λέει X-> Y, X πρέπει να είναι ένα super κλειδί της σχέσης R.
ΕξάρτησηΤο 3NF μπορεί να επιτευχθεί χωρίς να θυσιάζεται όλες οι εξαρτήσεις.Οι εξαρτήσεις ενδέχεται να μην διατηρηθούν στο BCNF.
ΑποσύνθεσηΗ αποσύνθεση χωρίς απώλειες μπορεί να επιτευχθεί σε 3NF.Η αποσύνθεση χωρίς απώλειες είναι δύσκολο να επιτευχθεί στο BCNF.

Ορισμός του 3NF

Ένας πίνακας ή μια σχέση θεωρείται ότι βρίσκεται στην Τρίτη Κανονική Μορφή μόνο εάν ο πίνακας βρίσκεται ήδη σε 2NF και δεν υπάρχει καμία ιδιότητα μη πρωτεύοντος μεταβατικά εξαρτώμενη από το υποψήφιο κλειδί μιας σχέσης.

Επομένως, προτού ασχοληθώ με τη διαδικασία ομαλοποίησης ενός πίνακα στο 3NF, επιτρέψτε μου να συζητήσω το υποψήφιο κλειδί. Ένα υποψήφιο κλειδί είναι ένα ελάχιστο σούπερ κλειδί δηλαδή ένα σούπερ κλειδί με ελάχιστα χαρακτηριστικά που μπορούν να ορίσουν όλα τα χαρακτηριστικά μιας σχέσης. Έτσι, κατά τη διαδικασία ομαλοποίησης του τραπέζι σας, πρώτα, αναγνωρίζετε το υποψήφιο κλειδί μιας δεδομένης σχέσης. Τα χαρακτηριστικά που αποτελούν μέρος του υποψήφιου κλειδιού είναι πρωταρχικά χαρακτηριστικά και τα χαρακτηριστικά που δεν είναι το μέρος του υποψήφιου κλειδιού είναι μη πρωταρχικά χαρακτηριστικά .

Τώρα αν έχουμε σχέση R (A, B, C, D, E, F) και έχουμε τις ακόλουθες εξάρσεις λειτουργίας για τη σχέση R.

Παρατηρώντας τις λειτουργικές εξαρτήσεις, μπορούμε να καταλήξουμε στο συμπέρασμα ότι το ΑΒ είναι υποψήφιο κλειδί για τη σχέση R επειδή χρησιμοποιώντας το πλήκτρο ΑΒ μπορούμε να αναζητήσουμε την τιμή για όλο το χαρακτηριστικό σε μια σχέση R. Έτσι A, B γίνεται πρωταρχικά χαρακτηριστικά καθώς μαζί δημιουργούν το υποψήφιο κλειδί. Τα χαρακτηριστικά C, D, E, F καθίστανται μη χαρακτηριστικά, επειδή κανένα από αυτά δεν αποτελεί μέρος ενός υποψήφιου κλειδιού.

Ο πίνακας βρίσκεται σε 2NF, καθώς κανένα χαρακτηριστικό μη πρωτεύοντος εξαρτάται εν μέρει από το υποψήφιο κλειδί

Όμως, παρατηρείται μια μεταβατική εξάρτηση μεταξύ των λειτουργικών εξαρτήσεων που παρέχονται, καθώς το χαρακτηριστικό F δεν εξαρτάται άμεσα από το υποψήφιο κλειδί ΑΒ . Αντ 'αυτού, το χαρακτηριστικό F εξαρτάται μεταβατικά από το υποψήφιο κλειδί ΑΒ μέσω του χαρακτηριστικού D. Μέχρι το χαρακτηριστικό D έχει κάποια τιμή που μπορούμε να φτάσουμε στην τιμή του χαρακτηριστικού του F, από το υποψήφιο κλειδί ΑΒ. Σε περίπτωση που η τιμή του χαρακτηριστικού D είναι NULL, δεν μπορούμε ποτέ να βρούμε / αναζητήσουμε την τιμή του F με τη βοήθεια του υποψήφιου κλειδιού AB. Αυτός είναι ο λόγος για τον οποίο το 3NF ζητά να αφαιρέσει την μεταβατική εξάρτηση από τις σχέσεις.

Έτσι, για να αφαιρέσουμε αυτήν την μεταβατική εξάρτηση, πρέπει να διαιρέσουμε τη σχέση R. Ενώ διαιρούμε μια σχέση, τοποθετούμε πάντα το υποψήφιο κλειδί και όλα τα χαρακτηριστικά που εξαρτώνται από αυτό το υποψήφιο κλειδί στην πρώτη σχέση. Στην επόμενη διαιρεμένη σχέση, θα τοποθετήσουμε το χαρακτηριστικό που προκαλεί την μεταβατική εξάρτηση και επίσης τα χαρακτηριστικά που εξαρτώνται από αυτή στη δεύτερη σχέση.

Τώρα, οι πίνακες R1 και R2 βρίσκονται σε 3NF καθώς δεν έχουν μείνει μερικές και μεταβατικές εξαρτήσεις. Η σχέση R1 (A, B, C, D, E) έχει ένα υποψήφιο κλειδί AB ενώ η σχέση R2 (D, E) έχει ως υποψήφιο κλειδί D.

Ορισμός του BCNF

Το BCNF θεωρείται το ισχυρότερο από το 3NF. Η σχέση R που βρίσκεται στο BCNF πρέπει να είναι σε 3NF . Και όπου μια μη-ασήμαντη λειτουργική εξάρτηση A -> B κρατά σε σχέση R, τότε το Α πρέπει να είναι ένα σούπερ κλειδί της σχέσης R. Όπως γνωρίζουμε, το κλειδί Super είναι ένα κλειδί που έχει ένα μοναδικό χαρακτηριστικό ή σύνολο χαρακτηριστικών που καθορίζει το σύνολο χαρακτηριστικά μιας σχέσης.

Τώρα, ας προχωρήσουμε σε ένα παράδειγμα για να κατανοήσουμε καλύτερα τον BCNF. Ας υποθέσουμε ότι έχουμε μια σχέση R (A, B, C, D, F), οι οποίες έχουν τις παρακάτω λειτουργικές εξαρτήσεις.

Παρατηρώντας τη σχέση R, μπορούμε να πούμε ότι τα Α και BF είναι υποψήφια κλειδιά της σχέσης R, διότι μόνο αυτά μπορούν να αναζητήσουν την τιμή για όλα τα χαρακτηριστικά στη σχέση R. Έτσι τα A, B, F είναι τα πρωταρχικά χαρακτηριστικά ενώ τα C και D είναι μη χαρακτηριστικές ιδιότητες. Δεν παρατηρείται μεταβατική εξάρτηση στις λειτουργικές εξαρτήσεις που υπάρχουν παραπάνω. Ως εκ τούτου, ο πίνακας R είναι σε 3NF.

Αλλά μία λειτουργική εξάρτηση, δηλαδή D -> F, παραβιάζει τον ορισμό του BCNF, σύμφωνα με τον οποίο, εάν D -> F υπάρχει τότε το D θα πρέπει να είναι το σούπερ κλειδί που δεν συμβαίνει εδώ. Έτσι θα διαιρέσουμε τη σχέση R.

Τώρα, οι πίνακες R1 και R2 βρίσκονται στο BCNF. Η σχέση R1 έχει δύο υποψήφια κλειδιά Α και Β, η ασήμαντη λειτουργική εξάρτηση του R1 δηλαδή Α-> BCD και B-> ACD, που κρατούν το BCNF ως Α και Β είναι τα σούπερ κλειδιά για σχέση. Η σχέση R2 έχει ως υποψήφιο κλειδί D και η λειτουργική εξάρτηση D -> F ισχύει επίσης για το BCNF καθώς το D είναι ένα Super Key.

Βασικές διαφορές μεταξύ 3NF και BCNF

  1. Το 3NF δηλώνει ότι κανένα μη χαρακτηριστικό γνώρισμα δεν πρέπει να εξαρτάται μεταβατικά από το υποψήφιο κλειδί της σχέσης. Από τα άλλα χέρια, το BCNF δηλώνει ότι αν υπάρχει μια συνήθης λειτουργική εξάρτηση X -> Y για μια σχέση, τότε το Χ πρέπει να είναι ένα σούπερ κλειδί.
  2. 3NF μπορεί να επιτευχθεί χωρίς να θυσιάζεται η εξάρτηση της σχέσης. Ωστόσο, η εξάρτηση μπορεί να μην διατηρηθεί κατά τη λήψη του BCNF.
  3. Το 3NF μπορεί να επιτευχθεί χωρίς να χάσει οποιαδήποτε πληροφορία από το παλιό τραπέζι, ενώ, παράλληλα με την απόκτηση του BCNF, μπορούμε να χάσουμε κάποιες πληροφορίες από τον παλιό πίνακα.

Συμπέρασμα:

Το BCNF είναι πολύ πιο περιοριστικό από το 3NF που συμβάλλει στην ομαλοποίηση του πίνακα. Η σχέση στο 3NF έχει ελάχιστη πλεονάζουσα πλεονασμό η οποία απομακρύνεται περαιτέρω από το BCNF.

Top