Η ακεραιότητα αναφοράς είναι μια δυνατότητα βάσης δεδομένων στα συστήματα διαχείρισης σχεσιακών βάσεων δεδομένων. Εξασφαλίζει ότι οι σχέσεις μεταξύ των πινάκων μιας βάσης δεδομένων παραμένουν ακριβείς, εφαρμόζοντας περιορισμούς για να εμποδίσουν τους χρήστες ή τις εφαρμογές να εισάγουν ανακριβή δεδομένα ή να δείξουν δεδομένα που δεν υπάρχουν.
Οι βάσεις δεδομένων χρησιμοποιούν πίνακες για να οργανώνουν τις πληροφορίες που περιέχουν. Είναι παρόμοια με υπολογιστικά φύλλα, όπως το Excel, αλλά είναι πολύ πιο ικανά για τους προχωρημένους χρήστες. Οι βάσεις δεδομένων λειτουργούν με τη χρήση πρωτεύοντων κλειδιών και ξένων κλειδιών, τα οποία διατηρούν τη σχέση μεταξύ των πινάκων.
Πρωτεύων κλειδί
Το πρωτεύον κλειδί ενός πίνακα βάσεων δεδομένων είναι ένα μοναδικό αναγνωριστικό που αντιστοιχεί σε κάθε εγγραφή. Κάθε πίνακας θα έχει μία ή περισσότερες στήλες χαρακτηρισμένες ως πρωτεύον κλειδί. Ένας αριθμός κοινωνικής ασφάλισης μπορεί να είναι ένα πρωταρχικό κλειδί για μια λίστα με βάσεις δεδομένων των υπαλλήλων επειδή κάθε αριθμός κοινωνικής ασφάλισης είναι μοναδικός.
Ωστόσο, λόγω ανησυχιών για την προστασία της ιδιωτικής ζωής, ένας αναγνωρισμένος αριθμός αναγνωριστικής εταιρείας είναι μια καλύτερη επιλογή για να λειτουργήσει ως πρωτεύον κλειδί για τους εργαζομένους. Ορισμένα λογισμικά βάσεων δεδομένων - όπως η Microsoft Access - αντιστοιχούν αυτόματα το πρωτεύον κλειδί, αλλά το τυχαίο κλειδί δεν έχει πραγματική σημασία. Είναι καλύτερα να χρησιμοποιήσετε ένα κλειδί με νόημα για την εγγραφή. Ο απλούστερος τρόπος για την επιβολή της ακεραιότητας αναφοράς είναι να μην επιτρέπονται αλλαγές σε ένα πρωτεύον κλειδί.
Ξένο κλειδί
Ένα ξένο κλειδί είναι ένα αναγνωριστικό σε έναν πίνακα που ταιριάζει με το πρωτεύον κλειδί ενός διαφορετικού πίνακα. Το ξένο κλειδί δημιουργεί τη σχέση με έναν διαφορετικό πίνακα και η ακεραιότητα αναφοράς αναφέρεται στη σχέση μεταξύ αυτών των πινάκων.
Όταν ένας πίνακας έχει ένα ξένο κλειδί σε άλλο πίνακα, η έννοια της αναφοράς ακεραιότητας δηλώνει ότι δεν μπορείτε να προσθέσετε μια εγγραφή στον πίνακα που περιέχει το ξένο κλειδί εκτός αν υπάρχει αντίστοιχη εγγραφή στον συνδεδεμένο πίνακα. Περιλαμβάνει επίσης τις τεχνικές που είναι γνωστές ως επικαιροποίηση επικαιροποίησης και διαγραφή με διαδοχικά αποτελέσματα, οι οποίες εξασφαλίζουν ότι οι αλλαγές που έγιναν στον συνδεδεμένο πίνακα αντανακλώνται στον κύριο πίνακα.
Παράδειγμα κανόνων κανόνων ακεραιότητας
Εξετάστε την κατάσταση όπου έχετε δύο πίνακες: Εργαζόμενοι και Διευθυντές. Ο πίνακας "Υπάλληλοι" έχει ένα χαρακτηριστικό ξένο κλειδί με την επωνυμία ManagedBy, το οποίο δείχνει την εγγραφή για τον διευθυντή κάθε υπαλλήλου στον πίνακα "Διευθυντές". Η ακεραιότητα αναφοράς εφαρμόζει τους ακόλουθους τρεις κανόνες:
- Δεν μπορείτε να προσθέσετε μια εγγραφή στον πίνακα "Υπάλληλοι" εκτός αν το χαρακτηριστικό ManagedBy υποδεικνύει μια έγκυρη εγγραφή στον πίνακα "Διαχειριστές". Η ακεραιότητα αναφοράς αποτρέπει την εισαγωγή λανθασμένων λεπτομερειών σε έναν πίνακα. Οποιαδήποτε ενέργεια που δεν ικανοποιεί τον κανόνα της ακεραιότητας αναφοράς αποτυγχάνει.
- Εάν αλλάξει το πρωτεύον κλειδί για μια εγγραφή στον πίνακα διαχειριστών, όλες οι αντίστοιχες εγγραφές στον πίνακα "Εργαζόμενοι" τροποποιούνται με τη χρήση μιας επικαιροποιημένης ενημερωμένης έκδοσης.
- Εάν καταργηθεί μια εγγραφή στον πίνακα "Διαχειριστές", όλες οι αντίστοιχες εγγραφές στον πίνακα "Υπάλληλοι" διαγράφονται με διαδοχική διαγραφή.
Πλεονεκτήματα των περιορισμών αναφοράς της ακεραιότητας
Η χρήση ενός συστήματος διαχείρισης σχεσιακών βάσεων δεδομένων με την ακεραιότητα αναφοράς προσφέρει πολλά πλεονεκτήματα:
- Αποτρέπει την εισαγωγή διπλών δεδομένων.
- Αποτρέπει έναν πίνακα να δείχνει σε ανύπαρκτο πεδίο σε άλλο πίνακα.
- Εγγυημένη συνοχή μεταξύ των "συνεργαζόμενων" πινάκων.
- Αποτρέπει τη διαγραφή μιας εγγραφής που περιέχει μια τιμή που αναφέρεται από ένα ξένο κλειδί σε έναν άλλο πίνακα.
- Αποτρέπει την προσθήκη μιας εγγραφής σε έναν πίνακα που περιέχει ένα ξένο κλειδί εκτός αν υπάρχει πρωτεύον κλειδί στον συνδεδεμένο πίνακα.