Ποιες είναι οι βάσεις δεδομένων;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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