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

Συγγραφέας: Laura McKinney
Ημερομηνία Δημιουργίας: 1 Απρίλιος 2021
Ημερομηνία Ενημέρωσης: 17 Ενδέχεται 2024
Anonim
Διαφορά μεταξύ 3NF και BCNF - Τεχνολογία
Διαφορά μεταξύ 3NF και BCNF - Τεχνολογία

Περιεχόμενο


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

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

  1. Συγκριτικό διάγραμμα
  2. Ορισμός
  3. Βασικές διαφορές
  4. συμπέρασμα

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

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


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

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

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


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

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

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

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

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

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

Ορισμός του BCNF

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

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

Παρατηρώντας τη σχέση R, μπορούμε να το πούμε ΕΝΑ και BF είναι υποψήφια κλειδιά της σχέσης R, επειδή μόνοι τους μπορούν να αναζητήσουν την τιμή για όλα τα χαρακτηριστικά στη σχέση R. Έτσι Α, Β, ΣΤ είναι το πρωταρχική χαρακτηριστικά, ενώ, ντο και ρε είναι μη-prime γνωρίσματα. Δεν παρατηρείται μεταβατική εξάρτηση στις λειτουργικές εξαρτήσεις που υπάρχουν παραπάνω. Ως εκ τούτου, ο πίνακας R είναι σε 3NF.

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

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

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

Συμπέρασμα:

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