Hiểu khác biệt Primary Key và Foreign Key trong DBMS.
Primary Key
- Đảm bảo dữ liệu cột cụ thể duy nhất.
- Giúp xác định duy nhất bản ghi trong CSDL quan hệ.
- Chỉ cho phép 1 primary key mỗi bảng.
- Kết hợp 'UNIQUE' và 'NOT NULL'.
- Không thể là NULL.
- Giá trị không thể xóa từ bảng cha (parent).
- Ràng buộc có thể định nghĩa ngầm cho bảng tạm.
Ví dụ SQL:
CREATE TABLE table_name ( col_name int NOT NULL PRIMARY KEY, ... );Foreign Key
- Cột hoặc nhóm cột trong bảng quan hệ.
- Tạo liên kết dữ liệu giữa hai bảng.
- Trường trong bảng tương ứng primary key bảng khác.
- Cho phép nhiều foreign key một bảng.
- Có thể chứa giá trị trùng lặp.
- Có thể chứa NULL.
- Giá trị có thể xóa từ bảng con (child).
- Ràng buộc không định nghĩa trên bảng tạm cục bộ/toàn cục.
Ví dụ SQL:
CREATE TABLE table_name (
col_name int NOT NULL PRIMARY KEY,
col_name int FOREIGN KEY REFERENCES Persons(col_name)
);