Khóa chính PRIMARY KEY trong SQL Server
Khóa chính SQL Server là gì? Tạo khóa chính trong SQL Server như thế nào? Hãy cùng chúng tôi tìm hiểu những điều cần biết về khóa chính trong SQL trong bài viết này.
1. Khóa chính – Primary Key là gì?
Khóa chính hay khóa ràng buộc còn được biết đến với tên gọi tiếng Anh là Primary Key. Nó được sử dụng để định danh mỗi một record trong bảng table. Bên cạnh đó, khóa chính còn giúp thể hiện sự tương quan giữa các bảng trong cơ sở dữ liệu SQL với nhau.
- 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. Một bảng có thể chỉ bao gồm một khóa chính.
- Một khóa chính có thể được xác định trên một cột hoặc nhiều cột được gọi là khóa chính tổng hợp.
- Một khóa chính không thể vượt quá 16 cột và tổng chiều dài của khóa là 900 byte.
- Khóa chính xác định duy nhất mỗi hàng trong bảng. Nó thường được xác định trên cột nhận dạng.
- Cột khóa chính không cho phép null hoặc trùng lặp giá trị. Nó sẽ phát sinh lỗi nếu bạn làm việc này.
- Tất cả các cột được xác định trong khóa chính phải là cột Not Null.
- Nếu nhóm hoặc không nhóm không được chỉ định, thì một chỉ mục nhóm duy nhất cho cột khóa chính sẽ được tạo nếu không có chỉ mục nhóm nào trên bảng. Điều này làm cho việc truy xuất dữ liệu nhanh hơn bất cứ khi nào cột khóa chính được đưa vào truy vấn.
2. Các chức năng của khóa chính – primary key
Khóa chính – Primary key đóng vai trò cực kỳ quan trọng trong cơ sở dữ liệu SQL Server, thực hiện những chức năng như sau:
- Khóa chính có nhiệm vụ lưu trữ giá trị duy nhất hay còn gọi là cơ sở dữ liệu SQL duy nhất. Đây chính là yếu tố được lưu thông xuyên suốt giữa các table. Mỗi table sẽ đặc trưng bởi 1 giá trị và primary key sẽ được thiết lập từ các giá trị trong tất cả table vì chúng có định dạng giống nhau.
- Mỗi table chỉ có duy nhất 1 khóa chính và có nhiều table chứa cùng 1 khóa chính đó. Sau khi khóa chính được thiết lập, người dùng sẽ được yêu cầu tạo khóa chính trên nhiều ứng dụng. Tuy nhiên, Access sẽ chủ động giúp người dùng thực hiện điều đó.
3. Phạm vi áp dụng khóa chính
Có thể thấy, khóa chính được sử dụng phổ biến trong lĩnh vực tin học, cụ thể là tin học văn phòng. Nhờ có Primary Key mà người dùng sẽ dễ dàng hơn trong việc xử lý các giá trị trong cơ sở dữ liệu SQL.
Tuy nhiên, để thành thạo sử dụng khóa chính lại là cả một quá trình. Chúng ta cần có thời gian làm quen, học hỏi để có thể vận dụng linh hoạt khóa chính nhằm phục vụ cho công việc và cuộc sống.
4. Hướng dẫn cách thiết lập khóa chính
Với một số người mới có mong muốn tìm hiểu về khóa chính thì có thể tham khảo cách thiết lập khóa chính dễ dàng, nhanh chóng và hiệu quả qua nội dung sau đây:
Nếu chúng ta muốn tạo khóa chính đồng thời khi tạo bảng (table), chúng ta có thể tham khảo câu lệnh
SQL Create table: MaSV varchar (8) NOT NULL, Holot varchar(20), Ten varchar(8), NgaySinh Date, MaLop varchar(8) NOT NULL, Lienhe varchar(11) NOT NULL, PRIMARY KEY (MaSV))
Nếu bạn muốn tạo mối ràng buộc cho các khóa chính được thiết lập từ nhiều miền khác nhau, câu lệnh có thể sử dụng là:
MaSV varchar (8) NOT NULL, Holot varchar(20), Ten varchar(8), NgaySinh Date, MaLop varchar(8) NOT NULL, Lienhe varchar(11) NOT NULL, CONSTRAINT Ma PRIMARY KEY (MaSV, MaLop))
Nếu chúng ta muốn xóa khóa chính ở các table đã tạo, chúng ta có thể thực hiện thao tác sau:
ALTER TABLE HSSV DROP PRIMARY KEY
hoặc ALTER TABLE HSSV DROP CONSTRAINT Ma
5. Tìm hiểu các thao tác về khóa chính
Để giúp mọi người hiểu hơn về cách sử dụng khóa chính, chúng tôi xin sẽ chia sẻ thêm về một số thao tác về khóa chính qua nội dung dưới đây:
Cách tạo khóa chính
Tạo khóa chính bằng lệnh CREATE TABLE:
Câu lệnh được sử dụng là:
CREATE TABLE ten_bang ( cot1 kieu_du_lieu [ NULL | NOT NULL ] [ PRIMARY KEY ] ,cot2 kieu_du_lieu [ NULL | NOT NULL ] ,…);
Tạo khóa chính bằng lệnh ALTER TABLE
Câu lệnh chúng ta có thể áp dụng là:
ALTER TABLE ten_bang ADD CONSTRAINT ten_rang_buoc PRIMARY KEY ( cot1, cot2, … cot_n)
Xóa khóa chính
Trong cơ sở dữ liệu SQL, nếu chúng ta muốn xóa Primary Key thì ta cần sử dụng câu lệnh ALTER TABLE, cụ thể là:
ALTER TABLE ten_bang DROP CONSTRAINT ten_rang_buoc;
Vô hiệu hóa khóa chính
Trong cơ sở dữ liệu SQL, khi muốn vô hiệu hóa Primary Key, chúng ta cần thực hiện với câu lệnh ALTER INDEX với cú pháp cụ thể như sau:
ALTER INDEX ten_rang_buoc ON ten_bang
DISABLE;
Kích hoạt khóa chính
Tương tự với thao tác vô hiệu hóa, chúng ta có thể kích hoạt khóa chính với câu lệnh ALTER INDEX:
ALTER INDEX ten_rang_buoc ON ten_bang
REBUILD;
6. Phân biệt giữa khóa chính và khóa ngoại trong SQL
Chúng tôi xin cung cấp thêm một số thông tin phân biệt khóa chính và khóa ngoại trong SQL
Đặc điểm Khóa chính Khóa ngoại Vị trí Mỗi bảng chỉ có 1 khóa chính duy nhất. Khóa ngoại là một thành phần nhỏ trong bảng. Ngoài ra, nó còn có thể là khóa chính của 1 bảng khác. Thành phần Khóa chính không chứa các giá trị rỗng. Khóa ngoại có thể chứa các giá trị rỗng. Vai trò Được thiết lập theo thứ tự của dãy và chỉ mục nhóm. Không được thiết lập để chỉ dãy hay nhóm nào. Đối tượng Duy nhất 1 khóa chính trong 1 bảng. Có nhiều khóa ngoại trong 1 bảng.
Qua bài viết, hy vọng mọi người được hiểu hơn về khóa chính – PRIMARY KEY trong SQL Server và giúp phân biệt được sự khác nhau giữa khóa chính và khóa ngoại trong SQL Server.
P.A Việt Nam cung cấp đa dạng các Plan Hosting đáp ứng yêu cầu của khách hàng Hosting Phổ Thông Hosting Chất Lượng Cao
Tham khảo các ưu đãi: