Giới thiệu về SQL ADD CONSTRAINT
Trong ngôn ngữ lập trình SQL, một trong những khía cạnh quan trọng trong việc thiết kế cơ sở dữ liệu là khả năng đảm bảo tính toàn vẹn của dữ liệu. Để làm điều này, chúng ta có thể sử dụng các ràng buộc (constraints) để kiểm soát và hạn chế loại dữ liệu mà có thể được đưa vào bảng. Câu lệnh SQL ADD CONSTRAINT cho phép người lập trình thêm các ràng buộc vào bảng đã có hoặc trong quá trình tạo bảng mới.
Định nghĩa
Câu lệnh ADD CONSTRAINT được sử dụng để thêm ràng buộc vào một bảng trong cơ sở dữ liệu. Các ràng buộc này có thể bao gồm:
- PRIMARY KEY: Để xác định khóa chính cho bảng
- FOREIGN KEY: Để xác định ràng buộc khóa ngoại giữa hai bảng
- UNIQUE: Để đảm bảo rằng tất cả các giá trị trong một cột là duy nhất
- CHECK: Để xác định một điều kiện xác định giá trị hợp lệ cho một cột
- NOT NULL: Để đảm bảo rằng một cột không thể chứa giá trị NULL
Cú pháp
Cú pháp chung của câu lệnh ADD CONSTRAINT như sau:
ALTER TABLE table_name ADD CONSTRAINT constraint_name constraint_type (column_name);
Các ví dụ
1. Thêm ràng buộc PRIMARY KEY
ALTER TABLE employees ADD CONSTRAINT pk_employee_id PRIMARY KEY (employee_id);
Trong ví dụ này, chúng ta thêm ràng buộc khóa chính cho cột employee_id trong bảng employees.
2. Thêm ràng buộc FOREIGN KEY
ALTER TABLE orders ADD CONSTRAINT fk_customer_id FOREIGN KEY (customer_id) REFERENCES customers (customer_id);
Ở đây, chúng ta thêm ràng buộc khóa ngoại cho cột customer_id trong bảng orders, liên kết với cột customer_id trong bảng customers.
3. Thêm ràng buộc UNIQUE
ALTER TABLE users ADD CONSTRAINT unique_email UNIQUE (email);
Ví dụ này đảm bảo rằng tất cả các giá trị trong cột email trong bảng users là duy nhất.
4. Thêm ràng buộc CHECK
ALTER TABLE products ADD CONSTRAINT check_price CHECK (price > 0);
Trong ví dụ này, chúng ta thêm ràng buộc kiểm tra để đảm bảo rằng giá cả của sản phẩm phải lớn hơn 0 trong bảng products.
5. Thêm ràng buộc NOT NULL
ALTER TABLE orders ADD CONSTRAINT not_null_order_date NOT NULL (order_date);
Cuối cùng, chúng ta thêm ràng buộc không NULL cho cột order_date trong bảng orders.
Kết luận
Câu lệnh ADD CONSTRAINT là một công cụ hữu hiệu trong ngôn ngữ SQL để đảm bảo tính toàn vẹn và chất lượng của dữ liệu trong cơ sở dữ liệu. Hiểu và sử dụng đúng các ràng buộc sẽ giúp người lập trình tổ chức và quản lý dữ liệu một cách hiệu quả hơn.