Επιλογή πρωτεύοντος κλειδιού για βάση δεδομένων

Πίνακας περιεχομένων:

Επιλογή πρωτεύοντος κλειδιού για βάση δεδομένων
Επιλογή πρωτεύοντος κλειδιού για βάση δεδομένων
Anonim

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

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

Image
Image

Γιατί είναι σημαντικό ένα πρωτεύον κλειδί

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

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

Κακές επιλογές για τα κύρια κλειδιά

Αυτό που μερικοί άνθρωποι θα μπορούσαν να θεωρήσουν ως προφανή επιλογή για ένα πρωτεύον κλειδί θα μπορούσε να είναι κακή επιλογή. Ακολουθούν μερικά παραδείγματα:

Οι

  • Ταχυδρομικοί κώδικες δεν είναι καλά κύρια κλειδιά για έναν πίνακα πόλεων. Εάν κάνετε έναν απλό πίνακα αναζήτησης πόλεων, ο ταχυδρομικός κώδικας φαίνεται να είναι ένα λογικό πρωτεύον κλειδί. Ωστόσο, μετά από περαιτέρω έρευνα, μπορεί να συνειδητοποιήσετε ότι περισσότερες από μία πόλεις μοιράζονται έναν ταχυδρομικό κώδικα. Για παράδειγμα, οι πόλεις Neptune, Neptune City, Tinton Falls και Wall Township στο Νιου Τζέρσεϊ μοιράζονται τον ταχυδρομικό κώδικα 07753.
  • Οι αριθμοί κοινωνικής ασφάλισης δεν είναι καλά κύρια κλειδιά για πολλούς λόγους. Οι περισσότεροι άνθρωποι θεωρούν το SSN τους απόρρητο και δεν θέλουν να είναι σαφώς ορατό στους χρήστες της βάσης δεδομένων. Επιπλέον, ορισμένα άτομα δεν έχουν SSN.
  • Οι διευθύνσεις ηλεκτρονικού ταχυδρομείου είναι επίσης κακή επιλογή για ένα πρωτεύον κλειδί. Αν και είναι μοναδικά, θα μπορούσαν να αλλάξουν με την πάροδο του χρόνου. Επιπλέον, δεν έχουν όλοι μια διεύθυνση email.
  • Τι κάνει ένα καλό πρωτεύον κλειδί

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

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

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

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

    Συνιστάται: