Cơ sở dữ liệu

Khóa chính là gì?

Trong cơ sở dữ liệu quan hệ, khóa chính (primary key) là tập thuộc tính xác định duy nhất mỗi bộ trong quan hệ. Một bảng có thể không khai báo khóa chính; nếu khai báo thì chỉ có một ràng buộc PRIMARY KEY, và khóa đó có thể gồm một hoặc nhiều cột. Giá trị khóa chính không được NULL và không được trùng.

Xuất bản 29/08/2026 · Cập nhật lần cuối 30/08/2026

Ba ràng buộc cần nhớ khi ra đề

SQL cho phép tạo bảng không có PRIMARY KEY. Khi bảng có khóa chính, chỉ được khai báo một ràng buộc PRIMARY KEY — một cột hoặc nhiều cột (khóa phức). Không hai dòng cùng giá trị khóa; không dòng nào được để khóa là NULL. Nếu có nhiều khóa ứng viên, khóa chính là khóa được chọn để định danh.

Phương án nhiễu hay gặp: “khóa chính có thể NULL”, “một bảng được khai báo nhiều ràng buộc PRIMARY KEY”, “mỗi bảng bắt buộc có khóa chính”, “khóa chính luôn là một cột số nguyên”. Các câu này đều sai: khóa có thể gồm nhiều cột; kiểu dữ liệu không bắt buộc là số; bảng cũng có thể không có khóa chính.

Khóa chính và khóa ngoại

Khóa ngoại tham chiếu tới khóa chính (hoặc khóa duy nhất) của bảng khác. Xóa dòng cha khi còn dòng con tham chiếu sẽ vi phạm ràng buộc — đây là chỗ ra câu tình huống tốt hơn câu định nghĩa nguyên văn.

Bài liên quan