Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Khóa chính SQL Server là gì? Tạo primary key trong SQL Server như thế nào? Hãy cùng Quantrimang.com tìm hiểu những điều cần biết về khóa chính trong SQL nhé!
Trong SQL Server, khóa chính là nhân tố ràng buộc xác định duy nhất từng hàng trong bảng. Nó đảm bảo tính toàn vẹn của dữ liệu trong bảng.
Muốn xóa khóa chính trong SQL, nhất định bạn phải hiểu rõ về cách sử dụng nó. Về cơ bản, khóa chính SQL là một cột (hoặc kết hợp các cột) xác định duy nhất từng bản ghi trong một bảng database. Khóa chính cũng tăng tốc độ truy cập dữ liệu và được dùng để thiết lập mối quan hệ giữa các bảng.
Giả sử bạn đang phát triển một ứng dụng tên “Hệ thống quản lý khách hàng” để xử lý tất cả dữ liệu khách hàng của khu nghỉ dưỡng chỉ dành cho thành viên. Dữ liệu này có thể bao gồm thông tin cá nhân chi tiết, ID thành viên được phân công và chi tiết khác về quyền thành viên... Trong tất cả các bảng được tạo trong database này, ID thành viên được dùng để phân biệt các khách hàng. Do đó, trường này sẽ là khóa chính.
Dưới đây là biểu đồ của bảng khách hàng chứa chi tiết thông tin cá nhân của khách hàng. Như bạn thấy, khóa chính được xác định trên cột CUST_ID. Dùng khóa chính, bạn có thể truy xuất một bản ghi riêng của khách hàng bất kỳ. Khóa chính có thể được định nghĩa bằng lệnh CREATE TABLE hoặc lệnh ALTER TABLE.
Cú pháp tạo khóa chính bằng lệnh CREATE TABLE
CREATE TABLE ten_bang ( cot1 kieu_du_lieu [ NULL | NOT NULL ] [ PRIMARY KEY ], cot2 kieu_du_lieu [ NULL | NOT NULL ], ... );
hoặc
CREATE TABLE ten_bang ( cot1 kieu_du_lieu [ NULL | NOT NULL ], cot2 kieu_du_lieu [ NULL | NOT NULL ], … CONSTRAINT ten_rang_buoc PRIMARY KEY (cot1, cot2, … cot_n) );
Ví dụ tạo khóa chính bằng lệnh CREATE TABLE
CREATE TABLE nhanvien ( nhanvien_id INT PRIMARY KEY, ho VARCHAR(50) NOT NULL, ten VARCHAR(50), NOT NULL, luong MONEY );
Ở ví dụ này, khóa chính cho bảng nhanvien được tạo thành từ 1 trường là nhanvien_id. Ngoài ra có thể tạo khóa chính như sau:
CREATE TABLE nhanvien ( nhanvien_id INT, ho VARCHAR(50) NOT NULL, ten VARCHAR(50), NOT NULL, luong MONEY CONSTRAINT nhanvien_pk PRIMARY KEY (nhanvien_id) );
Bây giờ là ví dụ tạo khóa chính có nhiều hơn 1 trường trong SQL Server.
CREATE TABLE nhanvien ( ho VARCHAR(50) NOT NULL, ten VARCHAR(50), NOT NULL, luong MONEY CONSTRAINT nhanvien_pk PRIMARY KEY (ho, ten) );
Ở ví dụ này, chúng ta đã tạo khóa chính tạo thành từ 2 cột là ho và ten. 2 trường này sẽ xác định một cách duy nhất cho bản ghi trong bảng nhanvien.
Chỉ có thể tạo khóa chính bằng lệnh ALTER TABLE ở các cột đã được định nghĩa là NOT NULL. Nếu cột cho phép giá trị NULL, sẽ không thể thêm khóa chính nếu không xóa hoặc tạo lại bảng.
Cú pháp tạo khóa chính bằng lệnh ALTER TABLE
ALTER TABLE ten_bang ADD CONSTRAINT ten_rang_buoc PRIMARY KEY (cot1, cot2, … cot_n);
Ví dụ tạo khóa chính bằng lệnh ALTER TABLE
ALTER TABLE nhanvien ADD CONSTRAINT nhanvien_pk PRIMARY KEY (nhanvien_id);
Trong ví dụ này, ta tạo khóa chính nhanvien_pk cho bảng nhanvien có sẵn, gồm trường nhanvien_id. Lưu ý là trường nhanvien_id phải được định nghĩa là NOT NULL trước đó, nếu không sẽ phải xóa và tạo lại bảng và định nghĩa trường này là NOT NULL.
Có thể tạo khóa chính với nhiều hơn 1 trường như trong ví dụ sau.
ALTER TABLE nhanvien ADD CONSTRAINT nhanvien_pk PRIMARY KEY (ho, ten);
Khóa chính cho bảng nhanvien gồm 2 trường là họ và tên. Cả 2 phải được định nghĩa là NOT NULL.
Cú pháp xóa khóa chính bằng lệnh ALTER TABLE
ALTER TABLE ten_bang DROP CONSTRAINT ten_rang_buoc;
Ví dụ xóa khóa chính bằng lệnh ALTER TABLE
ALTER TABLE nhanvien DROP CONSTRAINT nhanvien_pk;
Ví dụ trên xóa khóa chính nhanvien_pk trong bảng nhanvien.
Cú pháp vô hiệu hóa khóa chính bằng lệnh ALTER INDEX
ALTER INDEX ten_rang_buoc ON ten_bang DISABLE;
Ví dụ vô hiệu hóa khóa chính bằng lệnh ALTER INDEX
ALTER INDEX nhanvien_pk ON nhanvien DISABLE;
Ví dụ trên vô hiệu hóa khóa chính nhanvien_pk trong bảng nhanvien.
Cú pháp kích hoạt khóa chính bằng lệnh ALTER INDEX
ALTER INDEX ten_rang_buoc ON ten_bang REBUILD;
Ví dụ kích hoạt khóa chính bằng lệnh ALTER INDEX
ALTER INDEX nhanvien_pk ON nhanvien REBUILD;
Ví dụ trên kích hoạt lại khóa chính nhanvien_pk của bảng nhanvien.
Lệnh SQL sau tạo một khóa chính trên cột “S_Id” khi bảng Sinh viên (Students) được tạo.
CREATE TABLE students ( S_Id int NOT NULL PRIMARY KEY, LastName varchar (255) NOT NULL, FirstName varchar (255), Address varchar (255), City varchar (255), )
Tạo khóa chính trong SQL cho nhiều cột:
CREATE TABLE students ( S_Id int NOT NULL, LastName varchar (255) NOT NULL, FirstName varchar (255), Address varchar (255), City varchar (255), CONSTRAINT pk_StudentID PRIMARY KEY (S_Id, LastName) )
Ở ví dụ trên chỉ có một khóa chính (pk_StudentID). Tuy nhiên, nó tạo thành hai cột (S_Id và LastName).
Tóm lại, những điều cần nhớ về khóa chính trong SQL Server:
Lưu ý: Khi xác định một ràng buộc khóa chính cho một bảng, công cụ database tự động tạo một index riêng cho cột khóa chính.
Ưu điểm của tạo khóa chính SQL Server: Ưu điểm chính nổi bật nhất là giúp người dùng truy cập nhanh.
Nguồn tin: Quantrimang.com:
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
Làm sạch và chuẩn bị dữ liệu bảng tính với AI
Sử dụng hàm VLOOKUP, INDEX/MATCH và các kỹ thuật tra cứu nâng cao với AI
Cách sử dụng Claude Cowork để tự động kiểm tra và cải thiện kỹ năng làm việc với AI
Cách chế độ Voice Mode của ChatGPT giúp bạn hoàn thiện một ý tưởng mới
Hướng dẫn dùng plugin Remotion trên ChatGPT tạo video
Pivot Table và tóm tắt dữ liệu bảng tính với AI
Hướng dẫn thiết kế logo động bằng LogoAI
TOP các khóa học AI miễn phí có cấp chứng chỉ đáng tham gia
7 cách ứng dụng Gemini giúp sinh viên học tập hiệu quả
12 mẹo viết prompt tốt hơn cho Claude
TOP khóa học NotebookLM bổ ích đáng tham gia
Hướng dẫn dùng Hồ sơ doanh nghiệp Google trên Gemini
Cách tạo sổ ghi chú mới ngay trong Gemini
Cách viết hướng dẫn hiệu quả cho GPT tùy chỉnh
Các khả năng và thiết kế hội thoại khi xây dựng GPT tùy chỉnh
Các khả năng và thiết kế hội thoại khi xây dựng GPT tùy chỉnh
GPT Actions: Kết nối với các dịch vụ bên ngoài
TOP những cách tận dụng AI để tạo bài đăng trên mạng xã hội
TOP cách dùng Agentic AI hiệu quả trong thương mại điện tử và bán lẻ
Cách tạo video AI bằng Seedance 2.5 trên Dola AI
Cách lập trình chuyên nghiệp hơn, dễ dàng hơn với tính năng Tệp trên Grok
Hướng dẫn ngắt kết nối ứng dụng trên ChatGPT
Công thức tính diện tích hình Elip
8 ứng dụng Microsoft Store miễn phí giúp Windows tốt hơ
Hướng dẫn cài đặt và sử dụng n8n trên Windows 11
Hướng dẫn tạo đoạn hội thoại cho topic trên Twee
Bức tranh tổng quan về hỗ trợ khách hàng tích hợp AI
Đừng chia sẻ ảnh cho đến khi bạn chạy kiểm tra siêu dữ liệu này!
6 cách mở Computer/System Properties trong Windows 10
Cách sửa lỗi There Are Currently No Power Options Available Windows