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) và CHECK (age BETWEEN 0 AND 150). Nhập giá trị rồi kiểm tra.