Διαφορά μεταξύ πρωτεύοντος κλειδιού και ξένου κλειδιού στο ΣΔΒΔ

Συγγραφέας: Laura McKinney
Ημερομηνία Δημιουργίας: 1 Απρίλιος 2021
Ημερομηνία Ενημέρωσης: 12 Ενδέχεται 2024
Anonim
ΠΑΡΑΔΕΙΓΜΑ ΔΙΑΘΕΜΑΤΙΚΗ ΠΡΑΚΤΙΚΗ ΑΣΚΗΣΗ
Βίντεο: ΠΑΡΑΔΕΙΓΜΑ ΔΙΑΘΕΜΑΤΙΚΗ ΠΡΑΚΤΙΚΗ ΑΣΚΗΣΗ

Περιεχόμενο


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

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

  1. Συγκριτικό διάγραμμα
  2. Ορισμός
  3. Βασικές διαφορές
  4. συμπέρασμα

Συγκριτικό διάγραμμα

Βάση σύγκρισηςΠρωτεύων κλειδίΞένο κλειδί
ΒασικόςΤο πρωτεύον κλειδί είναι ένα επιλεγμένο υποψήφιο κλειδί που ορίζει με μοναδικό τρόπο μια πλειάδα σε μια σχέση.Το ξένο κλειδί σε έναν πίνακα αναφέρεται στο πρωτεύον κλειδί του άλλου πίνακα.
ΜΗΔΕΝΙΚΟΗ τιμή του πρωτεύοντος κλειδιού δεν μπορεί ποτέ να είναι NULL.Το ξένο κλειδί δέχεται τιμή NULL.
ΑντίγραφοΔεν υπάρχουν δύο πλειάδες σε μια σχέση που φέρουν διπλές τιμές για ένα χαρακτηριστικό πρωτεύοντος κλειδιού.Τα Tuples μπορούν να φέρουν διπλή τιμή για ένα χαρακτηριστικό ξένο κλειδί.
ΕύροςΜπορεί να υπάρχει μόνο ένα πρωτεύον κλειδί μιας σχέσης.Μπορεί να υπάρχουν πολλά ξένα κλειδιά σε μια σχέση.
Προσωρινός πίνακαςΟ περιορισμός πρωτεύοντος κλειδιού μπορεί να οριστεί στους προσωρινούς πίνακες.Ο περιορισμός του ξένου κλειδιού δεν μπορεί να οριστεί στους προσωρινούς πίνακες.
Ομαδοποιημένος δείκτηςΑπό προεπιλογή, ένα πρωτεύον κλειδί είναι ευρετηριασμένο σε ομάδες.Το ξένο κλειδί δεν είναι συγκεντρωμένο με αυτόματη ευρετηρίαση. πρέπει να γίνει με το χέρι.
ΕισαγωγήΜπορούμε να εισαγάγουμε μια τιμή σε ένα χαρακτηριστικό πρωτεύοντος κλειδιού, ακόμα και αν το ξένο κλειδί αναφοράς δεν έχει αυτή την τιμή στη στήλη του.Δεν μπορούμε να εισαγάγουμε μια τιμή σε ξένο κλειδί, αν αυτή η τιμή δεν υπάρχει στη στήλη πρωτεύοντος κλειδιού αναφοράς.
ΔιαγραφήΠριν διαγράψετε μια τιμή πρωτογενούς κλειδιού, βεβαιωθείτε ότι η τιμή δεν υπάρχει ακόμα στη στήλη αναφοράς του ξένου κλειδιού του πίνακα αναφοράς.Μπορείτε να διαγράψετε μια τιμή από τη στήλη ξένου κλειδιού χωρίς να ενοχλείτε, αν αυτή η τιμή είναι παρούσα στη στήλη πρωτεύοντος κλειδιού αναφοράς της αναφερόμενης σχέσης.


Ορισμός του πρωτεύοντος κλειδιού

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

Ο σχεδιαστής βάσης δεδομένων επιλέγει ένα από τα υποψήφια κλειδιά ως πρωτεύον κλειδί, λαμβάνοντας υπόψη ορισμένα σημεία. Το πρώτο ζήτημα είναι ότι μια τιμή χαρακτηριστικού πρωτεύοντος κλειδιού δεν μπορεί ποτέ να περιέχει ΜΗΔΕΝΙΚΟ αξία. Επειδή, εάν μια τιμή χαρακτηριστικού πρωτεύοντος κλειδιού περιέχει NULL, σημαίνει ότι δεν μπορούμε να προσδιορίσουμε την εγγραφή στον πίνακα. Παραβιάζει επίσης τον περιορισμό ακεραιότητας της οντότητας. Δεύτερον, δεν υπάρχουν δύο πλειάδες σε έναν πίνακα μπορεί να περιέχει το ίδιο αξία για ένα χαρακτηριστικό πρωτεύοντος κλειδιού, καθώς θα παραβίαζε τη μοναδικότητα μεταξύ των πλειάδων.


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

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

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

Ορισμός ξένου κλειδιού

Όταν μια σχέση R1, μεταξύ των χαρακτηριστικών του, έχει ένα πρωταρχικός κλειδί της άλλης σχέσης R2, τότε αυτό το χαρακτηριστικό ονομάζεται Ξένο κλειδί για σχέση R1. Η σχέση R1 που περιέχει το ξένο κλειδί καλείται σχέση αναφοράς καθώς αναφέρεται το πρωτεύον κλειδί της σχέσης R2 και της σχέσης R2 λέγεται αναφερόμενη σχέση.
Σε αντίθεση με το πρωτεύον κλειδί, το ξένο κλειδί μπορεί να δεχτεί ΜΗΔΕΝΙΚΟ επειδή δεν έχει το καθήκον να αναγνωρίζει ένα αρχείο ξεχωριστά σε μια σχέση, καθώς έχουμε το πρωτεύον κλειδί γι 'αυτό. Με τον ίδιο τρόπο, το ξένο κλειδί δέχεται επίσης διπλές τιμές.

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

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

  1. Ένα πρωταρχικό είναι ένα σύνολο χαρακτηριστικών / ένα υποψήφιο κλειδί που αναγνωρίζει ξεκάθαρα ένα αρχείο σε μια σχέση. Ωστόσο, ένα ξένο κλειδί σε έναν πίνακα αναφέρεται στο πρωτεύον κλειδί άλλου πίνακα.
  2. Καμία ιδιότητα πρωτεύοντος κλειδιού δεν μπορεί να περιέχει τιμές NULL ενώ ένα χαρακτηριστικό ξένου κλειδιού μπορεί να δεχθεί την τιμή NULL.
  3. Ένα πρωτεύον κλειδί πρέπει να έχει μοναδικές τιμές χαρακτηριστικών ενώ ένα ξένο κλειδί μπορεί να έχει διπλές τιμές χαρακτηριστικών.
  4. Μπορεί να υπάρχουν πολλά ξένα κλειδιά σε μια σχέση, αλλά μια σχέση έχει μόνο ένα πρωτεύον κλειδί.
  5. Ο περιορισμός του πρωτεύοντος κλειδιού μπορεί να εφαρμοστεί στους προσωρινούς πίνακες. Ωστόσο, ο περιορισμός ξένων κλειδιών δεν μπορεί να εφαρμοστεί στους προσωρινούς πίνακες.
  6. Ένα πρωτεύον κλειδί είναι από προεπιλογή ομαδοποιημένο με ευρετηρίαση, ενώ ένα ξένο κλειδί δεν είναι αυτοματοποιημένο, αλλά μπορεί να γίνει χειροκίνητα.
  7. Κατά την εισαγωγή μιας τιμής σε μια στήλη ξένου κλειδιού, βεβαιωθείτε ότι η τιμή ιδιότητας εισαγωγής υπάρχει στη στήλη πρωτεύοντος κλειδιού που αναφέρεται. Ωστόσο, δεν υπάρχει περιορισμός στην εισαγωγή σε στήλη πρωτογενούς κλειδιού.
  8. Κατά τη διαγραφή μιας τιμής από τη στήλη του πρωτεύοντος κλειδιού, βεβαιωθείτε ότι η τιμή του χαρακτηριστικού διαγραφής δεν υπάρχει στη στήλη ξένου κλειδιού αναφοράς. Ωστόσο, δεν υπάρχει κανένας περιορισμός στη διαγραφή μιας τιμής από μια στήλη ξένου κλειδιού.

Συμπέρασμα:

Τόσο το πρωτεύον κλειδί όσο και το ξένο κλειδί είναι απαραίτητα για ένα σχήμα. Ένα πρωτεύον κλειδί ορίζει κάθε πλειάδα σε μία σχέση μοναδικά ενώ ένα ξένο κλειδί χρησιμοποιείται για να δημιουργήσει μια σχέση μεταξύ δύο σχέσεων.