Khám Phá SQL CONSTRAINT
SQL (Structured Query Language) là một ngôn ngữ lập trình chuyên dụng để quản lý và truy vấn cơ sở dữ liệu. Trong quá trình thiết kế cơ sở dữ liệu, việc đảm bảo dữ liệu được lưu trữ một cách chính xác và nhất quán là rất quan trọng. Đó chính là lý do SQL cung cấp các ràng buộc (constraints), giúp kiểm soát dữ liệu trong các bảng.
Định Nghĩa SQL CONSTRAINT
Ràng buộc SQL (SQL Constraint) là một quy tắc được áp dụng cho các cột trong bảng để kiểm soát loại dữ liệu mà người dùng có thể lưu trữ. Các ràng buộc này đảm bảo tính hợp lệ của dữ liệu và duy trì sự toàn vẹn của cơ sở dữ liệu.
Các Loại Ràng Buộc (Constraints) Thông Dụng
- NOT NULL: Đảm bảo rằng cột không thể chứa giá trị NULL.
- UNIQUE: Đảm bảo rằng tất cả các giá trị trong cột là duy nhất.
- PRIMARY KEY: Là sự kết hợp giữa NOT NULL và UNIQUE, xác định một giá trị duy nhất cho mỗi hàng trong bảng.
- FOREIGN KEY: Thiết lập một mối quan hệ giữa hai bảng. Nó đảm bảo rằng giá trị trong một cột phải tồn tại trong cột của bảng khác.
- CHECK: Đảm bảo rằng giá trị trong một cột thỏa mãn một điều kiện nhất định.
- DEFAULT: Xác định giá trị mặc định cho một cột nếu không có giá trị được chỉ định.
Cú Pháp Ràng Buộc
Cú pháp để tạo ràng buộc trong SQL có thể được áp dụng khi tạo bảng hoặc thay đổi bảng đã tồn tại. Dưới đây là cú pháp chung cho từng loại ràng buộc:
1. Ràng Buộc NOT NULL
CREATE TABLE Students ( StudentID INT NOT NULL, Name VARCHAR(100) NOT NULL );
2. Ràng Buộc UNIQUE
CREATE TABLE Employees ( EmployeeID INT PRIMARY KEY, Email VARCHAR(100) UNIQUE );
3. Ràng Buộc PRIMARY KEY
CREATE TABLE Products ( ProductID INT NOT NULL, ProductName VARCHAR(100), PRIMARY KEY (ProductID) );
4. Ràng Buộc FOREIGN KEY
CREATE TABLE Orders ( OrderID INT NOT NULL, CustomerID INT, FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID) );
5. Ràng Buộc CHECK
CREATE TABLE Accounts ( AccountID INT PRIMARY KEY, Balance DECIMAL CHECK (Balance >= 0) );
6. Ràng Buộc DEFAULT
CREATE TABLE Configurations ( ConfigID INT PRIMARY KEY, Status VARCHAR(10) DEFAULT 'Active' );
Kết Luận
Ràng buộc (constraints) trong SQL là công cụ mạnh mẽ giúp bảo vệ và duy trì tính toàn vẹn dữ liệu trong cơ sở dữ liệu. Việc hiểu và áp dụng các ràng buộc một cách chính xác sẽ giúp bạn quản lý dữ liệu hiệu quả hơn trong các ứng dụng của mình. Hãy tiếp tục khám phá và áp dụng những kiến thức này để nâng cao khả năng lập trình SQL của bạn!