Khoá chính của một quan hệ (Primary Key-PK) là một hoặc một nhóm
thuộc tính xác định duy nhất một bộ trong quan hệ. Khoá chính của quan hệ
là định danh của thực thể tương ứng. Trong quan hệ các thuộc tính thuộc
khoá chính được gạch chân và được gọi là các thuộc tính khoá.
Ví dụ: SINH VIÊN (mã SV, họ tên, ngày sinh, quê quán, lớp) – mã SV là
khoá chính của quan hệ SINH VIÊN.
Khi chọn khoá chính cần phải xem xét các tiêu chuẩn sau: khoá chính
phải xác định được duy nhất một bộ trong quan hệ, phải có số thuộc tính ít
nhất, phải không thay đổi theo thời gian.
Khoá ghép là khoá có từ hai thuộc tính trở lên.
Ví dụ: GIẢNG DẠY(mã GV, mã MH, ngày bắt đầu, ngày kết thúc) –
khoá chính của quan hệ GIẢNG DẠY là một khoá ghép gồm hai thuộc tính
mã GV và mã MH.
Một khoá ngoài được sử dụng để thiết lập một mối quan hệ. Đó là thuộc
tính mô tả của quan hệ này nhưng đồng thời lại là thuộc tính khoá trong quan
hệ khác. Trong quan hệ các thuộc tính khoá ngoài được in nghiêng hoặc gạch
chân bằng nét đứt.
Ví dụ: LỚP (tên lớp, khoa, phòng học)
SINH VIÊN (mã SV, họ tên, ngày sinh, quê quán, tên lớp) – tên lớp là
khoá ngoài của quan hệ SINH VIÊN
Là thuộc tính do con người đặt ra để làm khoá chính. Thuộc tính này
không mô tả đặc điểm của các đối tượng quan tâm mà chỉ có tác dụng để xác
định duy nhất đối tượng đó.
Tên lớp là T4-K7 trong quan hệ SINH VIÊN không có trong quan hệ
LỚP vì vậy nó vi phạm ràng buộc tham chiếu.
- Các ràng buộc được định nghĩa bởi người dùng: đây là các ràng buộc liên
quan đến miền giá trị của dữ liệu thực tế.