Κατανόηση ξένων πλήκτρων
* Σκοπός: Τα ξένα πλήκτρα επιβάλλουν σχέσεις μεταξύ των πινάκων σε μια σχεσιακή βάση δεδομένων. Εξασφαλίζουν την ακεραιότητα των δεδομένων εμποδίζοντας τις μη έγκυρες καταχωρήσεις δεδομένων.
* Πώς λειτουργεί: Μια στήλη ξένου κλειδιού σε έναν πίνακα αναφέρει τη στήλη κύριου κλειδιού ενός άλλου πίνακα. Αυτό δημιουργεί έναν σύνδεσμο, εξασφαλίζοντας ότι οι τιμές στη στήλη ξένου κλειδιού υπάρχουν ως έγκυρες τιμές πρωτεύοντος κλειδιού στον πίνακα που αναφέρεται.
Βήματα για την εφαρμογή ξένου κλειδιού
1. Καθορίστε τους πίνακες:
* Πίνακας γονέων: Ο πίνακας που περιέχει το κύριο κλειδί (ο πίνακας που αναφέρεται).
* Παιδικό Πίνακας: Ο πίνακας που περιέχει το ξένο κλειδί (ο πίνακας που αναφέρεται στον μητρικό πίνακα).
2. Καθορίστε τις στήλες:
* Πρωτογενές κλειδί: Η στήλη στον γονικό πίνακα που λειτουργεί ως το κύριο κλειδί.
* Ξένο κλειδί: Η στήλη στον πίνακα παιδιών που αναφέρει το κύριο κλειδί.
3. Δημιουργήστε τον περιορισμό: Η σύνταξη ποικίλλει ελαφρώς ανάλογα με το σύστημα βάσης δεδομένων σας (MySQL, PostgreSQL, SQL Server κ.λπ.). Εδώ είναι μια γενική προσέγγιση:
`` sql
Alter Table Childtablename
Προσθήκη ονόματος περιορισμού
Εξωτερικό κλειδί (OfreventColumn)
Παραπομπές ParentTableName (PrimaryKeyColumn);
`` `
* Περιορισμοί: Ένα μοναδικό αναγνωριστικό για τον περιορισμό.
* Childtablename: Το όνομα του πίνακα που περιέχει το ξένο κλειδί.
* Εξωτερικές: Το όνομα της στήλης στον πίνακα των παιδιών που λειτουργεί ως ξένο κλειδί.
* ParentTableName: Το όνομα του πίνακα που περιέχει το κύριο κλειδί.
* PrimaryKeyColumn: Το όνομα της στήλης στον γονικό πίνακα που λειτουργεί ως το κύριο κλειδί.
Παραδείγματα
σενάριο: Δημιουργία βάσης δεδομένων για μια βιβλιοθήκη. Έχουμε ένα τραπέζι για "βιβλία" και ένα τραπέζι για "δανειολήπτες".
Πίνακες:
* Βιβλία:
* `book_id` (πρωτεύον κλειδί)
* `title '
* «συγγραφέας»
* δανειολήπτες:
* `borrower_id` (πρωτεύον κλειδί)
* `Όνομα '
* `Διεύθυνση '
* `book_id` (ξένο κλειδί, αναφέρει το` book_id` στον πίνακα βιβλίων)
Κωδικός SQL:
`` sql
- Δημιουργήστε τον πίνακα βιβλίων
Δημιουργία βιβλίων επιτραπέζιων (
Book_id int Πρωτογενές κλειδί,
Τίτλος Varchar (255),
Συγγραφέας Varchar (255)
)
- Δημιουργήστε τον πίνακα δανειοληπτών με τον περιορισμό ξένου κλειδιού
Δημιουργήστε δανειολήπτες πίνακα (
borrower_id int πρωτεύον κλειδί,
Όνομα Varchar (255),
Διεύθυνση varchar (255),
book_id int,
Το ξένο κλειδί (book_id) αναφέρει βιβλία (book_id)
)
`` `
Βασικές εκτιμήσεις
* Ακεραιότητα δεδομένων: Τα ξένα κλειδιά συμβάλλουν στη διασφάλιση ότι τα δεδομένα σε σχετικούς πίνακες παραμένουν συνεπή. Για παράδειγμα, δεν μπορείτε να εισαγάγετε ένα αρχείο δανειολήπτη με ένα `book_id` που δεν υπάρχει στον πίνακα` Books '.
* Επιλογές καταρράκτη: Μπορείτε να ορίσετε πώς οι περιορισμοί των ξένων κλειδιών πρέπει να συμπεριφέρονται όταν τα δεδομένα τροποποιούνται ή διαγράφονται στον γονικό πίνακα.
* Διαγραφή καταρράκτη: Διαγράφει τις σειρές στο τραπέζι του παιδιού όταν διαγράφεται μια σειρά που ταιριάζει στον γονικό πίνακα.
* Ενημέρωση Cascade: Ενημερώνει τις σχετικές σειρές στον πίνακα των παιδιών όταν ενημερώνεται η αντίστοιχη σειρά στον μητρικό πίνακα.
* απόδοση: Τα ξένα κλειδιά μπορούν να επηρεάσουν την απόδοση, ειδικά με μεγάλα τραπέζια. Εξετάστε τη χρήση δεικτών για τη βελτίωση της ταχύτητας των ερωτημάτων.
* Σύνταξη συγκεκριμένης βάσης δεδομένων: Βεβαιωθείτε ότι έχετε συμβουλευτεί την τεκμηρίωση για το συγκεκριμένο σύστημα διαχείρισης βάσεων δεδομένων (DBMS) για ακριβή σύνταξη.
Επιτρέψτε μου να ξέρω αν θέλετε να δείτε παραδείγματα σε ένα συγκεκριμένο σύστημα βάσης δεδομένων. Είμαι στην ευχάριστη θέση να παρέχω πιο συγκεκριμένες οδηγίες!
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα