Khóa chính là gì? Khác biệt giữa khóa chính và khóa ngoại trong SQL

Đánh giá post

Khóa chính là thuật ngữ phổ biến trong lĩnh vực tin học văn phòng – khía cạnh vô cùng quan trọng với người đi làm hiện nay. Vậy nên, bạn cần nắm rõ về khóa chính để có thể hỗ trợ cho công việc của mình một cách tốt nhất. Trong bài viết này, JobsGO sẽ giúp bạn giải đáp “Khóa chính là gì?” cũng như những thông tin xoay quanh khóa chính để giúp bạn “nằm lòng” về nó nhé!

1. Khóa chính là gì?

Khóa chính là một yếu tố cực kỳ quen thuộc trong cơ sở dữ liệu SQL. Vậy khóa chính 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.

khóa chính là gì
Khóa chính là gì?

2. Các chức năng của khóa chính

Khóa chính đó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à khóa chính 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. Khóa chính áp dụng trong phạm vi nào?

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. Bạn 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 của bạn.

Xem thêm: Big data là gì? Tổng hợp những thông tin cần thiết cho bạn

4. Hướng dẫn cách thiết lập khóa chính cho người mới

thông tin khóa chính
Hướng dẫn cách thiết lập khóa chính cho người mới

Với những bạn 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 bạn muốn tạo khóa chính đồng thời khi tạo bảng (table), bạn 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 bạn muốn xóa khóa chính ở các table đã tạo, bạn 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 các bạn thông thạo cách sử dụng khóa chính, JobsGO sẽ chia sẻ thêm về một số thao tác về khóa chính qua nội dung dưới đây:

5.1. 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 bạn có thể áp dụng là:

ALTER TABLE ten_bang

ADD CONSTRAINT ten_rang_buoc PRIMARY KEY ( cot1, cot2, … cot_n)

5.2. Xóa khóa chính

Trong cơ sở dữ liệu SQL, nếu bạn muốn xóa Primary Key thì bạn cần sử dụng câu lệnh ALTER TABLE, cụ thể là:

ALTER TABLE ten_bang

DROP CONSTRAINT ten_rang_buoc;

5.3. 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, bạn 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;

5.4. Kích hoạt khóa chính

Tương tự với thao tác vô hiệu hóa, bạn 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

phân biệt khóa chính và khóa ngoại
Phân biệt giữa khóa chính và khóa ngoại trong SQL

Khóa ngoại là gì? Cùng JobsGO phân biệt khóa chính và khóa ngoại trong SQL để gỡ bỏ những băn khoăn, thắc mắc về 2 loại khóa này nhé!

Đặ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.
Số lượng Duy nhất 1 khóa chính trong 1 bảng. Có nhiều khóa ngoại trong 1 bảng.

Hy vọng, qua những thông tin mà JobsGO chia sẻ trên đây, các bạn đã thực sự hiểu rõ “Khóa chính là gì?” cũng như phân biệt được khóa chính và khóa ngoại trong cơ sở dữ liệu SQL. Tham khảo nhiều bài viết hay và hữu ích hơn nữa tại JobsGO Blog nhé!

Tìm việc làm ngay!

(Theo JobsGO - Nền tảng tìm việc làm, tuyển dụng, tạo CV xin việc)

Chia sẻ bài viết này trên: