Βίντεο: Τι είναι τα κύρια και τα ξένα κλειδιά;
2024 Συγγραφέας: Lynn Donovan | [email protected]. Τελευταία τροποποίηση: 2023-12-15 23:45
Σχέση των Πρωτεύων κλειδί vs Ξένο κλειδί
ΕΝΑ πρωτεύων κλειδί προσδιορίζει μοναδικά μια εγγραφή στον πίνακα σχεσιακής βάσης δεδομένων, ενώ α ξένο κλειδί αναφέρεται στο πεδίο σε έναν πίνακα που είναι το πρωτεύων κλειδί ενός άλλου τραπεζιού.
Συνεπώς, ποια είναι η διαφορά μεταξύ ενός πρωτεύοντος κλειδιού και ενός ξένου κλειδιού;
Διαφορά μεταξύ του πρωτεύοντος κλειδιού και Ξένο κλειδί . Πρωτεύων κλειδί αναγνωρίζουν μοναδικά ένα αρχείο στο τραπέζι. Ξένο κλειδί είναι ένα χωράφι στο τραπέζι δηλαδή πρωτεύον κλειδί σε άλλο τραπέζι. Από προεπιλογή, Πρωτεύων κλειδί είναι ομαδοποιημένο ευρετήριο και δεδομένα στο Ο πίνακας βάσης δεδομένων είναι οργανωμένος φυσικά στο ακολουθία ομαδοποιημένου ευρετηρίου.
Παρομοίως, τι είναι τα πρωτεύοντα και τα ξένα κλειδιά σε ένα DBMS; ΕΝΑ πρωταρχικός είναι ένα σύνολο χαρακτηριστικών/ένας υποψήφιος κλειδί που προσδιορίζει ευδιάκριτα μια εγγραφή σε μια σχέση. Ωστόσο, α ξένο κλειδί σε έναν πίνακα αναφέρεται στο πρωτεύων κλειδί ενός άλλου τραπεζιού. Οχι πρωτεύων κλειδί Τα χαρακτηριστικά μπορούν να περιέχουν NULL τιμές ενώ, α ξένο κλειδί Το χαρακτηριστικό μπορεί να δεχθεί τιμή NULL.
Λαμβάνοντας υπόψη αυτό, τι είναι το πρωτεύον κλειδί και το ξένο κλειδί με παράδειγμα;
ΕΝΑ ΞΕΝΟ ΚΛΕΙΔΙ είναι ένα κλειδί χρησιμοποιείται για τη σύνδεση δύο πινάκων μεταξύ τους. ΕΝΑ ΞΕΝΟ ΚΛΕΙΔΙ είναι ένα πεδίο (ή συλλογή πεδίων) σε έναν πίνακα που αναφέρεται στο ΠΡΩΤΕΥΩΝ ΚΛΕΙΔΙ σε άλλο τραπέζι. Η στήλη "PersonID" στον πίνακα "Persons" είναι η ΠΡΩΤΕΥΩΝ ΚΛΕΙΔΙ στον πίνακα "Πρόσωπα".
Τι είναι τα υπερκύρια υποψήφια και ξένα κλειδιά;
Μια στήλη ή μια ομάδα στηλών σε έναν πίνακα που μας βοηθά να προσδιορίζουμε μοναδικά κάθε γραμμή σε αυτόν τον πίνακα ονομάζεται πρωτεύων κλειδί . Ολα τα κλειδιά που δεν είναι πρωτεύων κλειδί ονομάζονται αναπληρωματικοί κλειδί . ΕΝΑ σούπερ κλειδί χωρίς επαναλαμβανόμενο χαρακτηριστικό καλείται υποψήφιο κλειδί.
Συνιστάται:
Μπορεί μια στήλη να έχει πολλά ξένα κλειδιά;
Θεωρητικά δεν μπορείτε να επιβάλετε πολλαπλά ξένα κλειδί σε μία στήλη. Εναλλακτικά, μπορείτε να το επιβάλετε χρησιμοποιώντας διαδικασίες όπου επικυρώνετε την είσοδο που υπάρχει σε πολλούς πίνακες και κάνετε την απαραίτητη λειτουργία
Μπορεί ένα πρωτεύον κλειδί να έχει δύο ξένα κλειδιά;
Είναι πολύ καλό να υπάρχουν δύο στήλες ξένου κλειδιού που αναφέρονται στην ίδια στήλη πρωτεύοντος κλειδιού σε διαφορετικό πίνακα, καθώς κάθε τιμή ξένου κλειδιού θα αναφέρεται σε διαφορετική εγγραφή στον σχετικό πίνακα
Μπορείτε να έχετε πολλά ξένα κλειδιά;
Ένας πίνακας μπορεί να έχει πολλά ξένα κλειδιά και κάθε ξένο κλειδί μπορεί να έχει διαφορετικό γονικό πίνακα. Κάθε ξένο κλειδί επιβάλλεται ανεξάρτητα από το σύστημα βάσης δεδομένων. Ως εκ τούτου, μπορούν να δημιουργηθούν κλιμακωτές σχέσεις μεταξύ πινάκων χρησιμοποιώντας ξένα κλειδιά
Τα ξένα κλειδιά έχουν ευρετήριο MySQL;
Η MySQL απαιτεί ευρετήρια σε ξένα κλειδιά και κλειδιά αναφοράς, έτσι ώστε οι έλεγχοι ξένων κλειδιών να είναι γρήγοροι και να μην απαιτείται σάρωση πίνακα. Ένα τέτοιο ευρετήριο δημιουργείται αυτόματα στον πίνακα αναφοράς εάν δεν υπάρχει
Μπορούμε να προσθέσουμε δύο ξένα κλειδιά σε έναν πίνακα;
Ναι, η MySQL το επιτρέπει. Μπορείτε να έχετε πολλά ξένα κλειδιά στο ίδιο τραπέζι. Τα ξένα κλειδιά στο σχήμα σας (σε Account_Name και Account_Type) δεν απαιτούν ειδική επεξεργασία ή σύνταξη. Φαίνεται ότι τουλάχιστον μία από αυτές τις περιπτώσεις ισχύει για τις στήλες ID και Όνομα στον πίνακα Πελάτης