Tìm hiểu căn bản về ràng buộc (constraints), khóa chính, khóa ngoại trong SQL
Trong bài viết này, chúng ta sẽ khám phá căn bản về ràng buộc (constraints), khóa chính và khóa ngoại trong SQL. Chúng ta sẽ tìm hiểu vai trò quan trọng của ràng buộc trong quản lý dữ liệu và các loại ràng buộc phổ biến như NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY và CHECK. Bài viết cũng sẽ giải thích cách khóa chính định danh duy nhất các bản ghi và khóa ngoại tạo mối quan hệ giữa các bảng. Bạn sẽ biết cách áp dụng ràng buộc và quản lý khóa chính và khóa ngoại trong SQL. Hãy cùng Test Mentor tìm hiểu kỹ hơn về chủ đề này nhé!
Nội Dung Bài Viết
Ràng buộc (constraints) trong SQL
Khái niệm và vai trò của ràng buộc trong cơ sở dữ liệu
Ràng buộc (constraints) trong cơ sở dữ liệu đóng vai trò quan trọng để đảm bảo tính chính xác, nhất quán và an toàn của dữ liệu. Chúng giới hạn các giá trị được lưu trữ trong bảng và định nghĩa các quy tắc và điều kiện mà dữ liệu phải tuân thủ.
Các loại ràng buộc thường được sử dụng trong SQL
Trong SQL, có nhiều loại ràng buộc thường được sử dụng:
- Ràng buộc NOT NULL: Đảm bảo rằng một trường (column) không được phép chứa giá trị null (rỗng). Điều này đảm bảo rằng trường đó phải có giá trị cho mỗi bản ghi.
- Ràng buộc UNIQUE: Đảm bảo rằng một trường hoặc một tập hợp các trường không được chứa các giá trị trùng lặp. Mỗi giá trị trong trường hoặc tập hợp trường phải là duy nhất.
- Ràng buộc PRIMARY KEY: Xác định một trường hoặc một tập hợp các trường để định danh duy nhất mỗi bản ghi trong bảng. Giá trị của trường(s) khóa chính không thể trùng lặp và không được phép là null.
- Ràng buộc FOREIGN KEY: Xác định mối quan hệ giữa hai bảng thông qua trường khóa ngoại. Trường khóa ngoại trong một bảng tham chiếu đến trường khóa chính của bảng khác, tạo liên kết giữa các bảng và duy trì tính toàn vẹn dữ liệu.
- Ràng buộc CHECK: Định nghĩa một điều kiện hoặc một tập hợp các điều kiện mà dữ liệu phải thỏa mãn. Nếu dữ liệu không đáp ứng các điều kiện đó, thì ràng buộc CHECK sẽ không cho phép thêm hoặc sửa đổi giá trị.
Các loại ràng buộc này giúp bảo vệ dữ liệu khỏi việc nhập sai hoặc vi phạm tính toàn vẹn. Chúng đóng vai trò quan trọng trong thiết kế cơ sở dữ liệu và đảm bảo tính nhất quán và đáng tin cậy của dữ liệu.
Khóa chính (Primary Key) trong SQL
Định nghĩa khóa chính
Khóa chính (primary key) trong SQL được sử dụng để định danh duy nhất mỗi bản ghi trong một bảng. Nó có vai trò quan trọng trong việc xác định một trường hoặc một tập hợp các trường có giá trị duy nhất và không thể trùng lặp.
Cách sử dụng khóa chính trong SQL
- Định nghĩa khóa chính: Trong quá trình tạo bảng, bạn có thể định nghĩa trường khóa chính bằng cách sử dụng từ khóa PRIMARY KEY sau khi khai báo kiểu dữ liệu của trường đó. Ví dụ: CREATE TABLE table_name (column1 datatype1 PRIMARY KEY, column2 datatype2, …).
- Chọn trường khóa chính: Bạn cần chọn một trường hoặc một tập hợp các trường có giá trị duy nhất và không thể trùng lặp để sử dụng làm khóa chính. Thường thì trường này đại diện cho một thông tin có tính định danh như mã số, số điện thoại, email, và nó phải có giá trị cho mỗi bản ghi.
- Đảm bảo tính duy nhất: SQL tự động đảm bảo tính duy nhất của khóa chính bằng cách không cho phép chèn hoặc cập nhật các giá trị trùng lặp vào trường khóa chính.
- Tạo liên kết với khóa ngoại: Trường khóa chính trong một bảng có thể được sử dụng làm khóa ngoại trong các bảng khác để tạo mối quan hệ giữa chúng.
Ví dụ về tạo và sử dụng khóa chính trong SQL
Trong ví dụ này, trường EmployeeID trong bảng Employees là khóa chính và cũng là trường khóa ngoại trong bảng Orders ở ví dụ về khóa ngoại. Điều này tạo mối quan hệ giữa hai bảng dựa trên trường khóa chính:
- Tạo bảng Employees với trường EmployeeID là khóa chính:
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
FirstName VARCHAR(50),
LastName VARCHAR(50),
Email VARCHAR(100)
);
Khóa ngoại (Foreign Key) trong SQL
Định nghĩa khóa ngoại
Khóa ngoại (foreign key) trong SQL được sử dụng để tạo mối quan hệ giữa hai bảng thông qua trường khóa chính và khóa ngoại. Nó cho phép bạn xác định một trường trong bảng hiện tại là tham chiếu đến trường khóa chính của bảng khác, tạo liên kết giữa chúng.
Cách sử dụng khóa ngoại trong SQL
- Định nghĩa khóa ngoại: Trong quá trình tạo bảng, bạn có thể định nghĩa trường khóa ngoại bằng cách sử dụng từ khóa FOREIGN KEY sau khi khai báo kiểu dữ liệu của trường đó. Ví dụ: CREATE TABLE table_name (column1 datatype1, column2 datatype2, …, FOREIGN KEY (columnX) REFERENCES other_table(columnY)).
- Chọn trường khóa chính và bảng tham chiếu: Bạn cần chọn một trường khóa chính trong bảng tham chiếu để tạo liên kết với trường khóa ngoại trong bảng hiện tại. Trường khóa chính và trường khóa ngoại phải có cùng kiểu dữ liệu.
- Tạo liên kết: Liên kết giữa trường khóa ngoại và trường khóa chính xảy ra khi bạn thêm hoặc cập nhật dữ liệu trong bảng. Giá trị của trường khóa ngoại phải tồn tại trong trường khóa chính tương ứng của bảng tham chiếu.
Ví dụ về tạo và sử dụng khóa ngoại trong SQL
Tạo bảng Orders với trường OrderID là khóa chính và trường EmployeeID là khóa ngoại liên kết với bảng Employees:
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
OrderDate DATE,
CustomerName VARCHAR(100),
EmployeeID INT,
FOREIGN KEY (EmployeeID) REFERENCES Employees(EmployeeID)
);
Kết luận
Bài viết đã cung cấp kiến thức căn bản về ràng buộc (constraints), khóa chính và khóa ngoại trong SQL. Những khái niệm này đóng vai trò quan trọng trong thiết kế cơ sở dữ liệu, đảm bảo tính toàn vẹn và an toàn của dữ liệu. Ràng buộc giới hạn giá trị và định nghĩa quy tắc dữ liệu, khóa chính xác định tính duy nhất của bản ghi, và khóa ngoại tạo liên kết giữa các bảng. Sử dụng ràng buộc, khóa chính và khóa ngoại trong SQL giúp bảo vệ dữ liệu và đảm bảo sự nhất quán và tin cậy của hệ thống cơ sở dữ liệu.
Lan Hoang
Leave a Comment