Βασικά πλήκτρα που διευκολύνουν τη διαχείριση βάσεων δεδομένων

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

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

Κύρια πλήκτρα

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

Για παράδειγμα, υποθέστε ότι έχουμε έναν πίνακα που ονομάζεται Employees που περιέχει πληροφορίες προσωπικού για κάθε υπάλληλο της επιχείρησής μας. Πρέπει να επιλέξετε ένα κατάλληλο κύριο κλειδί που θα αναγνωρίζει με μοναδικό τρόπο κάθε εργαζόμενο. Η πρώτη σας σκέψη είναι να χρησιμοποιήσετε το όνομα του υπαλλήλου. Αυτό δεν θα λειτουργήσει πολύ καλά, διότι είναι λογικό να προσλάβετε δύο εργαζόμενους με το ίδιο όνομα. Μια καλύτερη επιλογή είναι να χρησιμοποιήσετε έναν μοναδικό αναγνωριστικό αριθμό εργαζομένου που εκχωρείτε σε κάθε υπάλληλο κατά την πρόσληψή του. Ορισμένες οργανώσεις επιλέγουν να χρησιμοποιούν αριθμούς κοινωνικής ασφάλισης (ή παρόμοια κυβερνητικά αναγνωριστικά στοιχεία) για αυτό το καθήκον, επειδή κάθε εργαζόμενος έχει ήδη ένα και είναι εγγυημένο ότι είναι μοναδικό. Ωστόσο, η χρήση αριθμών κοινωνικής ασφάλισης για το σκοπό αυτό είναι εξαιρετικά αμφιλεγόμενη λόγω ανησυχιών για την προστασία της ιδιωτικής ζωής. (Εάν εργάζεστε σε κυβερνητικό οργανισμό, η χρήση ενός αριθμού κοινωνικής ασφάλισης ενδέχεται να είναι παράνομη σύμφωνα με το νόμο περί ιδιωτικού απορρήτου του 1974.) Για το λόγο αυτό, οι περισσότεροι οργανισμοί έχουν μετατοπιστεί στη χρήση αποκλειστικών αναγνωριστικών (ταυτότητα εργαζομένου, αναγνωριστικό φορέα, κ.λπ. .) που δεν μοιράζονται αυτές τις ανησυχίες για την προστασία της ιδιωτικής ζωής.

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

Εάν προσπαθήσετε να εισαγάγετε μια εγγραφή σε έναν πίνακα με ένα πρωτεύον κλειδί που διπλασιάζει μια υπάρχουσα εγγραφή, το ένθετο θα αποτύχει.

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

Εξωτερικά κλειδιά

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

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

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

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

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