Khóa & ràng buộc

Ba mô-đun tương tác: (1) primary key vs UNIQUE (trùng / NULL), (2) foreign key & toàn vẹn tham chiếu + ON DELETE, (3) bộ kiểm tra CHECK constraint.

1 · Primary key vs UNIQUE — trùng & NULL

Bảng students(id PK, email UNIQUE). Thử chèn dòng mới: PK cấm trùng & cấm NULL; UNIQUE cấm trùng nhưng cho phép NULL (nhiều NULL được).

2 · Foreign key & toàn vẹn tham chiếu

orders.customer_id → customers.id. Chèn đơn trỏ tới khách không tồn tại → bị từ chối. Chọn hành vi ON DELETE rồi xóa một khách để xem CASCADE / SET NULL / RESTRICT.

customers (id PK)
orders (id PK, customer_id FK)
Xóa một customer — hành vi ON DELETE:
CASCADE SET NULL RESTRICT

3 · CHECK constraint — pass/fail

Hai ràng buộc: CHECK (price >= 0)CHECK (age BETWEEN 0 AND 150). Nhập giá trị rồi kiểm tra.