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