Skip to main content

Ένας οδηγός για την κατανόηση εξαρτήσεων βάσεων δεδομένων

Access - Οι δύο απαράβατοι κανόνες για την σωστή σχεδίαση πινάκων στις βάσεις δεδομένων. (Ενδέχεται 2024)

Access - Οι δύο απαράβατοι κανόνες για την σωστή σχεδίαση πινάκων στις βάσεις δεδομένων. (Ενδέχεται 2024)
Anonim

Μια εξάρτηση είναι ένας περιορισμός που ισχύει ή καθορίζει τη σχέση μεταξύ χαρακτηριστικών. Εμφανίζεται σε μια βάση δεδομένων όταν οι πληροφορίες που είναι αποθηκευμένες στον ίδιο πίνακα βάσης δεδομένων καθορίζουν με μοναδικό τρόπο άλλες πληροφορίες που είναι αποθηκευμένες στον ίδιο πίνακα. Μπορείτε επίσης να το περιγράψετε ως σχέση όπου η γνώση της αξίας ενός χαρακτηριστικού (ή ενός συνόλου χαρακτηριστικών) αρκεί για να σας πει την αξία ενός άλλου χαρακτηριστικού (ή ενός συνόλου χαρακτηριστικών) στον ίδιο πίνακα.

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

Εξαρτήσεις βάσης δεδομένων και λειτουργικές εξαρτήσεις

Το να λέμε ότι υπάρχει μια εξάρτηση μεταξύ των χαρακτηριστικών σε έναν πίνακα είναι το ίδιο με το να λέμε ότι υπάρχει μια λειτουργική εξάρτηση μεταξύ αυτών των ιδιοτήτων. Αν υπάρχει εξάρτηση σε μια βάση δεδομένων έτσι ώστε το χαρακτηριστικό Β να εξαρτάται από το χαρακτηριστικό Α, θα γράψετε αυτό ως εξής:

Α -> Β

Για παράδειγμα, σε έναν πίνακα με τα χαρακτηριστικά των εργαζομένων, συμπεριλαμβανομένου του αριθμού κοινωνικής ασφάλισης (SSN) και του ονόματος, μπορεί να ειπωθεί ότι το όνομα εξαρτάται από SSN (ή όνομα SSN ->) επειδή το όνομα ενός υπαλλήλου μπορεί να προσδιοριστεί με μοναδικό τρόπο από SSN. Ωστόσο, η αντίστροφη δήλωση (όνομα -> SSN) δεν είναι αληθής επειδή περισσότεροι από ένας υπάλληλοι μπορούν να έχουν το ίδιο όνομα αλλά πάντα να έχουν διαφορετικά SSN.

Τριπλές λειτουργικές εξαρτήσεις

Μια ασήμαντη λειτουργική εξάρτηση προκύπτει όταν περιγράφετε μια λειτουργική εξάρτηση ενός χαρακτηριστικού σε μια συλλογή χαρακτηριστικών που περιλαμβάνει το πρωτότυπο χαρακτηριστικό. Για παράδειγμα, τα {A, B} -> B είναι μια ασήμαντη λειτουργική εξάρτηση, όπως είναι η {name, SSN} -> SSN. Αυτός ο τύπος λειτουργικής εξάρτησης ονομάζεται ασήμαντος επειδή μπορεί να προέλθει από την κοινή λογική. Είναι προφανές ότι εάν γνωρίζετε ήδη την τιμή του Β, τότε η τιμή του Β μπορεί να προσδιοριστεί με μοναδικό τρόπο από αυτή τη γνώση.

Πλήρεις λειτουργικές εξαρτήσεις

Μια πλήρης λειτουργική εξάρτηση εμφανίζεται όταν ικανοποιείτε ήδη τις απαιτήσεις για μια λειτουργική εξάρτηση και το σύνολο των χαρακτηριστικών στην αριστερή πλευρά της δήλωσης λειτουργικής εξάρτησης δεν μπορεί να μειωθεί περαιτέρω. Για παράδειγμα, το όνομα {SSN, age} -> είναι μια λειτουργική εξάρτηση, αλλά δεν είναι μια πλήρη λειτουργική εξάρτηση επειδή μπορείτε να καταργήσετε την ηλικία από την αριστερή πλευρά της δήλωσης χωρίς να επηρεάσετε τη σχέση εξάρτησης.

Μεταβατικές εξαρτήσεις

Οι μεταβατικές εξαρτήσεις εμφανίζονται όταν υπάρχει έμμεση σχέση που προκαλεί λειτουργική εξάρτηση. Για παράδειγμα, το A -> C είναι μια μεταβατική εξάρτηση όταν είναι αληθές μόνο και επειδή και οι δύο A -> B και B -> C είναι αληθινοί.

Πολύτιμες εξαρτήσεις

Οι εξαρτήσεις πολλαπλών τιμών εμφανίζονται όταν η παρουσία μιας ή περισσοτέρων σειρών σε έναν πίνακα υποδηλώνει την παρουσία μιας ή περισσοτέρων άλλων σειρών στον ίδιο πίνακα. Για παράδειγμα, φανταστείτε μια εταιρεία αυτοκινήτων που κατασκευάζει πολλά μοντέλα αυτοκινήτων, αλλά πάντα κάνει κόκκινα και μπλε χρώματα για κάθε μοντέλο. Εάν έχετε έναν πίνακα που περιέχει το όνομα του μοντέλου, το χρώμα και το έτος κάθε αυτοκινήτου που κατασκευάζει η εταιρεία, υπάρχει μια πολυεπίπεδη εξάρτηση σε αυτόν τον πίνακα. Εάν υπάρχει μια σειρά για ένα συγκεκριμένο όνομα μοντέλου και ένα έτος με μπλε χρώμα, πρέπει να υπάρχει και μια παρόμοια σειρά που αντιστοιχεί στην κόκκινη έκδοση του ίδιου αυτοκινήτου.

Σημασία εξαρτήσεων

Οι εξαρτήσεις βάσεων δεδομένων είναι σημαντικές για την κατανόηση επειδή παρέχουν τα βασικά δομικά στοιχεία που χρησιμοποιούνται στην εξομάλυνση της βάσης δεδομένων, τη διαδικασία της αποτελεσματικής οργάνωσης των δεδομένων σε μια βάση δεδομένων. Για παράδειγμα:

  • Για να υπάρχει ένας πίνακας σε δεύτερη κανονική μορφή (2NF), δεν πρέπει να υπάρχει περίπτωση ενός χαρακτηριστικού nonprime στον πίνακα που εξαρτάται λειτουργικά από ένα υποσύνολο ενός υποψήφιου κλειδιού.
  • Για να υπάρχει ένας πίνακας σε τρίτη κανονική μορφή (3NF), κάθε χαρακτηριστικό nonprime πρέπει να έχει μη μεταβατική λειτουργική εξάρτηση από κάθε υποψήφιο κλειδί.
  • Για να υπάρχει ένας πίνακας σε κανονική μορφή Boyce-Codd (BCNF), κάθε λειτουργική εξάρτηση (εκτός από τις ασήμαντες εξαρτήσεις) πρέπει να είναι σε ένα σούπερ κλειδί.
  • Για να υπάρχει ένας πίνακας στην τέταρτη κανονική μορφή (4NF), δεν πρέπει να υπάρχουν εξαρτήσεις πολλαπλών τιμών.