Μπορεί ένα πρωτεύον κλειδί να είναι και ξένο κλειδί;
Μπορεί ένα πρωτεύον κλειδί να είναι και ξένο κλειδί;

Βίντεο: Μπορεί ένα πρωτεύον κλειδί να είναι και ξένο κλειδί;

Βίντεο: Μπορεί ένα πρωτεύον κλειδί να είναι και ξένο κλειδί;
Βίντεο: Γιάννης Διονυσίου - Μικρό κλειδί | Official Audio Video 2024, Απρίλιος
Anonim

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

Ομοίως, ερωτάται, μπορεί ένα πρωτεύον κλειδί να είναι και ξένο κλειδί στον ίδιο πίνακα;

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

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

Εδώ, μπορείτε να έχετε ξένο κλειδί χωρίς πρωτεύον κλειδί;

Ναί. Εμείς μπορώ δημιουργώ ένα Ξένο κλειδί χωρίς έχοντας Πρωτεύων κλειδί στον πίνακα γονέων. Οι περισσότεροι από εμάς έχουμε μια λανθασμένη αντίληψη ότι μπορώ δεν δημιουργείται α Ξένο κλειδί χωρίς πρωτεύον κλειδί στον πίνακα γονέων. Αυτό το μοναδικό αναγνωριστικό μπορώ είναι πρωτεύων κλειδί ή μοναδική κλειδί.

Μπορεί το ξένο κλειδί να είναι διπλότυπο;

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

Συνιστάται: