Ràng buộc Khóa Chính là gì:
Ràng buộc khóa chính được tạo để đảm bảo tính duy nhất của các bản ghi / hàng. Ràng buộc khóa chính có thể được tạo trên một hoặc một tập hợp các cột miễn là cột / cột đó không cho phép giá trị Null.1) Ràng buộc khóa chính tạo Chỉ mục theo nhóm theo mặc định nếu chưa tồn tại Giả sử rằng bạn đang tạo bảng mới và bạn đã thêm cột với Khóa chính, nó sẽ tạo chỉ mục theo nhóm.
Trong ví dụ dưới đây, chúng tôi đang tạo bảng dbo.Customer và chúng tôi đã thêm CustomerId làm Ràng buộc khóa chính. Hãy kiểm tra xem loại chỉ mục nào được tạo.
USE YourDatabaseName GO CREATE TABLE dbo.Customer ( Customerid INT PRIMARY KEY ,FName VARCHAR(100) ,LName VARCHAR(100) ,SSN VARCHAR(10) )
Chúng tôi có thể truy vấn chế độ xem hệ thống sys.indexes để lấy thông tin chỉ mục
SELECT * FROM sys.indexes WHERE object_name(object_id) = 'Customer'
Như bạn có thể thấy rằng chỉ mục Clustered được tạo vì không có chỉ mục cụm nào trên bảng này trước đó. Tên gọi của Clustered Index được tạo ra bởi SQL Server. Luôn luôn là một ý kiến hay khi cung cấp tên riêng cho các chỉ mục theo quy ước đặt tên / Tiêu chuẩn mà công ty của bạn đang sử dụng.
2) Nếu chỉ mục nhóm đã được tạo trên Cột, Chính Chìa khóa sẽ tạo Chỉ mục duy nhất Nếu chỉ mục được phân cụm đã có trên cột / các cột trong bảng và chúng tôi cố gắng tạo Khóa chính, nó sẽ tạo Chỉ mục không phân cụm duy nhất.
Hãy thả và tạo lại bảng dbo.Customer. Vì chúng tôi không thể tạo Chỉ mục theo cụm trên các cột chấp nhận giá trị Null, nên chúng tôi phải xác định Cột không phải là giá trị rỗng.
USE YourDatabaseName GO Drop table dbo.Customer GO CREATE TABLE dbo.Customer ( Customerid INT Not Null ,FName VARCHAR(100) ,LName VARCHAR(100) ,SSN VARCHAR(10) Not Null ) --Create Clustered Index on SSN Column CREATE CLUSTERED INDEX IX_Customer_SSN ON dbo.Customer (SSN); --Create Primary Key on CustomerID Alter Table dbo.Customer Add Constraint Pk_Customer_CustomerId Primary Key(CustomerId)
Hãy kiểm tra xem loại chỉ mục nào được tạo bằng cách sử dụng chế độ xem hệ thống sys.indexes. Phải có một Chỉ mục được phân nhóm như chúng tôi đã tạo trên SSN và phải có một Chỉ mục không hợp nhất duy nhất sẽ được tạo bởi Ràng buộc khóa chính.
Ràng buộc khóa chính trong SQL Server là gì - Hướng dẫn sử dụng SQL Server / TSQL
Video Demo:Ràng buộc khóa chính trong SQL Server là gì và cách tạo khóa chính