Ποια είναι η διαφορά μεταξύ περιορισμού ακεραιότητας και αναφοράς ακεραιότητας; https://en.wikipedia.org/wiki/Referential_integrity


Απάντηση 1:

Όταν ένας πίνακας έχει δεδομένα που «αναφέρονται» σε μια άλλη στη βάση δεδομένων, η ακρίβεια αυτών των αναφορών ονομάζεται αναφορά ακεραιότητας. Εάν έχετε έναν πίνακα που ονομάζεται CLASSES που αποθηκεύει σειρές με τάξεις που έχουν διδαχθεί και ένα δεύτερο πίνακα που ονομάζεται CLASS_ROSTERS με γραμμές που περιέχουν δεδομένα για μαθητές που έχουν εγγραφεί σε αυτές τις κλάσεις, τότε το CLASS_ROSTERS αναφέρεται σε ΚΛΑΣΕΙΣ. Δεν πρέπει να έχετε ποτέ ένα αρχείο σπουδαστών σε CLASS_ROSTERS για το οποίο δεν υπάρχει εγγραφή ανάλογης κλάσης στον πίνακα CLASSES. Αν συμβεί κάτι τέτοιο, τότε η ακεραιότητα αναφοράς έχει χαθεί μεταξύ των δύο πινάκων.

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

Άλλοι τύποι περιορισμών ακεραιότητας περιλαμβάνουν περιορισμούς πρωτογενούς κλειδιού, αποκλειστικούς περιορισμούς κλειδιών και περιορισμούς NOT NULL. Αυτοί είναι μηχανισμοί βάσης δεδομένων που έχουν σχεδιαστεί για να διατηρούν την ακεραιότητα των δεδομένων. Ο ρόλος τους είναι να αποφευχθεί η εισαγωγή (ή η αλλαγή) των δεδομένων στη βάση δεδομένων που θα διασπάσουν κανόνες ενσωματωμένους στο μοντέλο δεδομένων.


Απάντηση 2:

Με απλά λόγια.

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

Η ακεραιότητα αναφοράς είναι η σχέση αυτής της στιγμής στοιχείου δεδομένων με άλλα δεδομένα. Αυτό γίνεται πιο συχνά με κλειδιά «ξένο». Για παράδειγμα, ενδέχεται να μην επιτρέψετε την δημοσίευση τιμολογίου για λογαριασμό που δεν υπάρχει.