ΠΡΩΤΕΥΟΝ ΚΛΕΙΔΙ SQL: Δημιουργία & Προσθήκη σε Υπάρχοντα Πίνακα
⚡ Έξυπνη Σύνοψη
Ένα πρωτεύον κλειδί στον SQL Server είναι μια στήλη ή ένα σύνολο στηλών των οποίων οι τιμές προσδιορίζουν μοναδικά κάθε γραμμή σε έναν πίνακα. Κάθε πίνακας περιέχει ένα πρωτεύον κλειδί και οι στήλες του δεν πρέπει ποτέ να είναι NULL.

Τι είναι το Πρωτεύον Κλειδί στην SQL;
Ένα πρωτεύον κλειδί στο Ο SQL Server είναι ένα πεδίο ή ένας συνδυασμός πεδίων που προσδιορίζει μια εγγραφή με μοναδικό τρόπο. Είναι μια στήλη ή ένα σύνολο στηλών στην οποία κάθε τιμή είναι μοναδική. Με άλλα λόγια, δεν μπορούν να υπάρχουν δύο γραμμές που να μοιράζονται την ίδια τιμή πρωτεύοντος κλειδιού.
Κανόνες για το πρωτεύον κλειδί
- Κάθε πίνακας μπορεί να έχει μόνο ένα πρωτεύον κλειδί.
- Όλες οι τιμές είναι μοναδικές και η τιμή του πρωτεύοντος κλειδιού μπορεί να προσδιορίσει μοναδικά κάθε γραμμή.
- Το σύστημα δεν θα επιτρέψει την εισαγωγή μιας γραμμής της οποίας η τιμή πρωτεύοντος κλειδιού υπάρχει ήδη στον πίνακα.
- Ένα πρωτεύον κλειδί δεν μπορεί να είναι NULL.
Το παρακάτω διάγραμμα συνοψίζει όλα τα παραπάνω σημεία σχετικά με το πρωτεύον κλειδί SQL.
Πώς να δημιουργήσετε πρωτεύον κλειδί στον SQL Server
Μπορείτε να δημιουργήσετε ένα πρωτεύον κλειδί με δύο τρόπους:
- Στούντιο διαχείρισης διακομιστή SQL
- T-SQL: δημιουργία του πρωτεύοντος κλειδιού κατά τη δημιουργία ενός νέου πίνακα
Ας μελετήσουμε κάθε μέθοδο λεπτομερώς.
Στούντιο διαχείρισης διακομιστή SQL
Βήμα 1) Κάντε δεξί κλικ στο όνομα του πίνακα και κάντε κλικ στο Υπηρεσίες.
Βήμα 2) Κάντε δεξί κλικ στο όνομα της στήλης και κάντε κλικ Ορισμός πρωτεύοντος κλειδιού.
Αποτέλεσμα: Το Course_Id είναι πλέον ένα πρωτεύον κλειδί, το οποίο εμφανίζεται με ένα εικονίδιο κλειδιού δίπλα στη στήλη.
T-SQL: Δημιουργία πρωτεύοντος κλειδιού κατά τη δημιουργία νέου πίνακα
Παρακάτω είναι η σύνταξη για δημιουργήστε έναν πίνακα με ένα πρωτεύον κλειδί από την T-SQL.
Σύνταξη:
CREATE TABLE <Table_Name> ( Column1 datatype, Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name) . );
Εδώ, ο ΠΕΡΙΟΡΙΣΜΟΣ ονομάζει το κλειδί, ο ΠΡΩΤΕΥΟΝ ΚΛΕΙΔΙ σηματοδοτεί τη στήλη που πρέπει να παραμείνει μοναδική και κάθε στήλη χρειάζεται επίσης ένα Τύπος δεδομένων.
Ας δημιουργήσουμε έναν πίνακα με μία στήλη ως πρωτεύον κλειδί SQL.
Ερώτηση:
CREATE TABLE COURSE_TSQL_PK (Course_ID Int not Null, Course_name Varchar(20) CONSTRAINT PK PRIMARY KEY (Course_ID) )
Βήμα 1) Εκτελέστε το ερώτημα κάνοντας κλικ Εκτέλεση.
Αποτέλεσμα: Το Course_Id είναι πλέον πρωτεύον κλειδί στον πίνακα COURSE_TSQL_PK.
Παράδειγμα: Ας δούμε αν επιτρέπει την εισαγωγή πολλαπλών εγγραφών με το ίδιο αναγνωριστικό μαθήματος.
Βήμα 1) Εισαγάγετε τέσσερις γραμμές με διαφορετικές τιμές Course_ID.
Insert into COURSE_TSQL_PK values (1,'SQL'); Insert into COURSE_TSQL_PK values (2,'Python'); Insert into COURSE_TSQL_PK values (3,'SQL'); Insert into COURSE_TSQL_PK values (4,'C');
Βήμα 2) Επαληθεύστε ότι όλα τα δεδομένα εισήχθησαν με επιτυχία εκτελώντας το ερώτημα SELECT.
Σημείωση: Μπορείτε να εισαγάγετε διπλότυπες τιμές σε μια στήλη που δεν είναι πρωτεύον κλειδί.
Βήμα 3) Ας δοκιμάσουμε τώρα να εισαγάγουμε μια νέα εγγραφή με ένα υπάρχον Course_ID, το οποίο είναι το πρωτεύον κλειδί.
Insert into COURSE_TSQL_PK values (4,'JAVA');
Αποτέλεσμα: Το σύστημα δεν επιτρέπει την εισαγωγή της νέας τιμής, επειδή το 4 υπάρχει ήδη στη στήλη Course_ID, η οποία είναι ένα πρωτεύον κλειδί.
Πώς να προσθέσετε πρωτεύον κλειδί στον υπάρχοντα πίνακα στην SQL;
Τώρα θα δούμε πώς να προσθέσουμε ένα πρωτεύον κλειδί σε έναν υπάρχοντα πίνακα στην SQL.
Μπορείτε να χρησιμοποιήσετε την πρόταση ALTER για να δημιουργήσετε ένα πρωτεύον κλειδί. Ωστόσο, ένα πρωτεύον κλειδί μπορεί να δημιουργηθεί μόνο σε στήλες που έχουν οριστεί ως NOT NULL. Δεν μπορείτε να δημιουργήσετε ένα πρωτεύον κλειδί σε μια στήλη που επιτρέπει NULL. Εάν μια στήλη επιτρέπει αυτήν τη στιγμή NULL, πρέπει πρώτα να την τροποποιήσετε σε NOT NULL ή να αποσύρετε και να δημιουργήσετε ξανά τον πίνακα.
Εδώ είναι η σύνταξη:
ALTER TABLE tableName ADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);
Για παράδειγμα:
ALTER TABLE students ADD CONSTRAINT students_pk PRIMARY KEY (admission);
Έχουμε προσθέσει έναν περιορισμό πρωτεύοντος κλειδιού σε έναν ήδη υπάρχοντα πίνακα. Ο περιορισμός έχει προστεθεί στη στήλη αποδοχής και έχει εκχωρηθεί το όνομα student_pk.
Ενδιαφέροντα γεγονότα!
- Ένα πρωτεύον κλειδί μπορεί να είναι ένας συνδυασμός πολλαπλών στηλών. Αυτός ο συνδυασμός είναι γνωστός ως σύνθετο πρωτεύον κλειδί.
- Ένα πρωτεύον κλειδί μπορεί να έχει έως και 16 στήλες.









