Khóa chính là gì?
Ràng buộc khóa chính là một cột hoặc nhóm cột trong bảng xác định duy nhất mọi hàng trong bảng đó. Khóa chính không được trùng lặp, nghĩa là cùng một giá trị không được xuất hiện nhiều lần trong bảng.
Một bảng phải có nhiều hơn một khóa chính. Khóa chính có thể được xác định ở cấp cột hoặc cấp bảng. Nếu bạn tạo một khóa chính tổng hợp, nó phải được xác định ở cấp bảng.
Trong hướng dẫn này, bạn sẽ học:
- Khóa chính là gì?
- Khóa duy nhất là gì?
- Tại sao sử dụng Khóa chính?
- Tại sao sử dụng Unique Key?
- Đặc điểm của khóa chính
- Các tính năng của khóa duy nhất
- Ví dụ về tạo khóa chính
- Ví dụ về tạo khóa duy nhất
- Sự khác biệt giữa khóa chính và khóa duy nhất
- Điều gì là tốt hơn?
Khóa duy nhất là gì?
Khóa duy nhất là một nhóm gồm một hoặc nhiều trường hoặc cột của bảng xác định duy nhất bản ghi cơ sở dữ liệu.
Khóa duy nhất giống với khóa chính, nhưng nó có thể chấp nhận một giá trị null cho một cột trong bảng. Nó cũng không thể chứa các giá trị giống hệt nhau. Các ràng buộc duy nhất được tham chiếu bởi khóa ngoại của các bảng khác.
SỰ KHÁC BIỆT CHÍNH
- Có thể có một khóa chính trong bảng trong khi có thể có nhiều khóa duy nhất trong bảng.
- Mục đích của khóa chính là thực thi tính toàn vẹn của thực thể, mặt khác, mục đích của khóa duy nhất là thực thi dữ liệu duy nhất.
- Trong khóa chính, Chỉ mục mặc định được phân nhóm trong khi trong khóa duy nhất, chỉ mục mặc định không được phân nhóm
- Khóa chính không cho phép cột rỗng trong khi khóa duy nhất cho phép cột rỗng.
- Trong khóa chính, các khóa trùng lặp không được phép trong khi trong một khóa duy nhất, nếu một hoặc nhiều phần khóa rỗng, thì các khóa trùng lặp được phép.
Tại sao sử dụng Khóa chính?
Dưới đây là những lý do quan trọng để sử dụng khóa chính:
- Mục đích chính của khóa chính là xác định từng và mọi bản ghi trong bảng cơ sở dữ liệu.
- Bạn có thể sử dụng khóa chính khi không cho phép ai đó nhập giá trị rỗng.
- Nếu bạn xóa hoặc cập nhật một bản ghi, hành động bạn đã chỉ định sẽ được thực hiện để đảm bảo tính toàn vẹn của dữ liệu cơ sở dữ liệu.
- Thực hiện thao tác hạn chế để từ chối thao tác xóa hoặc cập nhật cho bảng mẹ.
- Dữ liệu được sắp xếp theo trình tự của chỉ mục nhóm bất cứ khi nào bạn tổ chức bảng DBMS một cách vật lý.
Tại sao sử dụng Unique Key?
Dưới đây là những lý do quan trọng để sử dụng khóa duy nhất:
- Mục đích của khóa duy nhất là để đảm bảo rằng thông tin trong cột cho mỗi bản ghi bảng là duy nhất.
- Khi bạn cho phép người dùng nhập giá trị null.
- Khóa duy nhất được sử dụng vì nó tạo chỉ mục không phân cụm theo mặc định.
- Khóa duy nhất có thể được sử dụng khi bạn phải giữ giá trị null trong cột.
- Khi một hoặc nhiều trường / cột của bảng xác định duy nhất một bản ghi trong bảng cơ sở dữ liệu.
Đặc điểm của khóa chính
Dưới đây là các tính năng quan trọng của khóa chính:
- Khóa chính thực hiện tính toàn vẹn thực thể của bảng.
- Bạn chỉ có thể giữ một tài khoản chính trong bảng.
- Khóa chính chứa một hoặc nhiều cột bảng.
- Các cột được xác định là không rỗng.
Các tính năng của khóa duy nhất
Dưới đây là các tính năng quan trọng của khóa duy nhất:
- Bạn có thể xác định nhiều hơn một khóa duy nhất trong bảng.
- Theo mặc định, các Khóa duy nhất nằm trong các chỉ mục duy nhất không được phân cụm.
- Nó bao gồm một hoặc nhiều cột trong bảng.
- Cột trong bảng có thể là null, nhưng chỉ thích hợp với một null trên mỗi cột.
- Một ràng buộc duy nhất có thể được tham chiếu dễ dàng bởi một ràng buộc khóa ngoại.
Ví dụ về tạo khóa chính
Ví dụ sau mô tả rằng có một bảng được gọi là học sinh. Nó chứa năm thuộc tính, 1) StudID, 2) Roll No, 3) First Name, 4) Last Name và 5) Email.
Thuộc tính Roll No không bao giờ được chứa giá trị trùng lặp hoặc giá trị rỗng. Đó là bởi vì mỗi sinh viên đăng ký vào một trường đại học có thể có số cuộn duy nhất. Bạn có thể dễ dàng xác định từng hàng của một bảng với số cuộn của học sinh. Vì vậy nó được coi như một khóa chính.

Ví dụ về tạo khóa duy nhất
Hãy xem xét cùng một bảng sinh viên với các thuộc tính, 1) StudID, 2) Số cuộn, 3) Tên, 4) Họ và 5) Email.
Stud ID có thể có một ràng buộc duy nhất trong đó các mục nhập trong cột Stud ID có thể là duy nhất vì mỗi sinh viên của một trường đại học phải có một số ID duy nhất. Trong trường hợp, nếu sinh viên đang thay đổi trường đại học, trong trường hợp đó, họ sẽ không có bất kỳ ID sinh viên nào. Mục nhập có thể có giá trị null vì chỉ có một giá trị null được phép trong ràng buộc khóa duy nhất.

Sự khác biệt giữa khóa chính và khóa duy nhất
Dưới đây là những điểm khác biệt quan trọng giữa khóa chính và khóa duy nhất:
Khóa chính | Chìa khóa duy nhất |
Có thể có một khóa chính trong bảng | Có thể có nhiều khóa duy nhất trong bảng |
Nó không cho phép các cột rỗng. | Nó cho phép các cột rỗng. |
Chỉ mục mặc định được nhóm lại | Chỉ mục mặc định không được phân nhóm |
Mục đích của khóa chính là thực thi tính toàn vẹn của thực thể. | Mục đích của khóa duy nhất là thực thi dữ liệu duy nhất. |
Khóa chính có thể được tạo bằng cú pháp:
CREATE TABLE Employee(ID int PRIMARY KEY,Name varchar(255),City varchar(150)) | Khóa duy nhất có thể được tạo bằng cú pháp:
CREATE TABLE Employee(ID int UNIQUE.Name varchar(255) NOT NULL. City varchar(150)) |
Đó là ràng buộc SQL cho phép bạn xác định duy nhất từng bản ghi hoặc hàng trong bảng cơ sở dữ liệu. | Đó là ràng buộc SQL không cho phép gán cùng một giá trị cho hai từ khóa cô lập trong một bảng cơ sở dữ liệu. |
Trong khóa chính, không cho phép các khóa trùng lặp. | Trong một khóa duy nhất, nếu một hoặc nhiều phần chính rỗng, thì các khóa trùng lặp được phép. |
Điều gì là tốt hơn?
- Khóa duy nhất sẽ tốt hơn khi bạn có các cột mà bạn biết không nên chứa trùng lặp. Đây trở thành một cách tốt để đảm bảo xác thực dữ liệu.
- Khóa chính là lý tưởng khi bạn không thể giữ null trong bảng. Nó cũng có thể sử dụng khi bạn có khóa ngoại trong một bảng khác để tạo mối quan hệ.