Tạo Ràng Buộc Trong Sql

     

FOREIGN KEY còn được gọi là khóa ngoại, cũng là trong những ràng buộc của SQL. Nếu đối chiếu với khóa chính (PRIMARY KEY) thì khóa ngoại cũng đóng một vai trò quan trọng không kém. Bài viết này để giúp đỡ làm rõ các vấn đề liên quan đến FOREIGN KEY.

Bạn đang xem: Tạo ràng buộc trong sql

Tham khảo: Cách áp dụng PRIMARY KEY trong SQL

1. Buộc ràng FOREIGN KEY trong SQL

Ràng buộc FOREIGN KEY tuyệt khóa ngoại được áp dụng để ngăn các hành động sẽ làm cho hủy bỏ liên kết giữa những bảng.

Một FOREIGN KEY là một trong trường (hoặc tập hợp những trường) vào một bảng, đề cập đến PRIMARY KEY vào một bảng khác.

Một bảng cùng với khóa nước ngoài được điện thoại tư vấn là bảng con và bảng cùng với khóa thiết yếu được hotline là bảng phụ thân hay bảng tham chiếu.

Để dễ hình dung, bạn hãy nhìn vào ví dụ dưới đây:

*

Chú ý cho cột PersonID của bảng Orders, các bạn sẽ thấy cột này trỏ cho cột PersonID của bảng Persons.

Cột PersonID vào bảng Persons là PRIMARY KEY vào bảng Persons.

Cột PersonID vào bảng Orders là FOREIGN KEY trong bảng Orders.

Ràng buộc FOREIGN KEY ngăn những dữ liệu không phù hợp lệ được chèn vào cột khóa ngoại, cũng chính vì nó đề xuất là giữa những giá trị tất cả trong bảng cha.

Xem thêm: Giáo Án Phụ Đạo Toán 8 Tuần 4, Giáo Án Dạy Phụ Đạo Toán 8 Cả Năm

2. Sinh sản ràng buộc FOREIGN KEY

Có hai cách để tạo ràng buộc trong SQL, cách trước tiên là thêm ràng buộc khi chế tạo bảng bằng câu lệnh CREATE TABLE. Cách thứ nhị để sinh sản ràng buộc là áp dụng câu lệnh ALTER TABLE, biện pháp này thường dùng làm chỉnh sửa ràng buộc có sẵn hoặc thêm mới.

Tham khảo: Cách thực hiện câu lệnh ALTER TABLE trong SQL

Để tiến hành các lấy ví dụ như này, bạn cần nhập cơ sở tài liệu mẫu Northwind vào SQL vps Management Studio. Hãy xem bài viết hướng dẫn ngay dưới đây:

Tham khảo: Hướng dẫn download và thiết đặt dữ liệu mẫu Northwind trong SQL vps Management Studio

Sử dụng CREATE TABLE

Đầu tiên, bạn phải tạo một bảng Persons gồm ràng buộc PRIMARY KEY bên trên cột PersonID bằng cú pháp sau:

CREATE TABLE Persons (

PersonID int NOT NULL PRIMARY KEY,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Age int

);

*

Tiếp theo, sử dụng câu lệnh SQL sau đây để tạo nên một FOREIGN KEY bên trên cột “PersonID” khi chế tạo bảng “OrderTest”:

CREATE TABLE OrderTest (

OrderID int NOT NULL PRIMARY KEY,

OrderNumber int NOT NULL,

PersonID int FOREIGN KEY REFERENCES Persons(PersonID)

);

*

Lưu ý: nếu như khách hàng sử dụng cơ sở dữ liệu mẫu Northwind, đã có một bảng tên là Orders, nên chúng ta không thể tạo thêm bảng thuộc tên. Chúng ta có thể đặt một thương hiệu khác đến bảng như lấy ví dụ trên là OrderTest.

Ngoài ra, chúng ta có thể đặt tên cho FOREIGN KEY và khẳng định nó trên nhiều cột bằng câu lệnh như sau:

CREATE TABLE OrderTest (

OrderID int NOT NULL,

OrderNumber int NOT NULL,

PersonID int,

PRIMARY KEY (OrderID),

CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)

REFERENCES Persons(PersonID)

);

Sau lúc đã chế tạo bảng, chúng ta không thể tạo nên một bảng trùng tên. Vì vậy, hãy xóa bảng Persons đã sản xuất trên, trước khi liên tiếp thực hiện những ví dụ dưới đây. Đối với các ví dụ thêm ràng buộc bởi câu lệnh ALTER TABLE, các bạn hãy tạo bảng không cất ràng buộc PRIMARY KEY.

Sử dụng ALTER TABLE

Để chế tác một ràng buộc FOREIGN KEY trên cột “PersonID” khi bảng đã tạo thành trước đó và chưa tồn tại ràng buộc, hãy cần sử dụng câu lệnh sau:

ALTER TABLE OrderTest

ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

Nếu bạn có nhu cầu đặt tên cho 1 ràng buộc FOREIGN KEY và khẳng định một buộc ràng trên những cột, hãy cần sử dụng cú pháp sau:

ALTER TABLE OrderTest

ADD CONSTRAINT FK_PersonOrder

FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

Nếu nhiều người đang dùng cơ sở tài liệu Northwind, hệ thống hoàn toàn có thể báo lỗi trùng tên, hãy đổi tên FK_PersonOrder thành một cái tên khác.

3. Xóa một ràng buộc FOREIGN KEY

Để xóa một ràng buộc FOREIGN KEY vào SQL, hãy sử dụng cú pháp sau:

ALTER TABLE OrdersTest

DROP CONSTRAINT FK_PersonOrder;

Lưu ý: bạn phải nhập đúng tên bảng cất ràng buộc với tên của ràng buộc khi triển khai xóa.

Trên đó là những thông tin cơ bản mà bạn nên biết về khóa ngoại hay FOREIGN KEY. Trong các bài viết tiếp theo bọn họ sẽ liên tục với những kỹ năng và kiến thức hữu ích khác về SQL dành riêng và tài liệu nói chung, nhớ là đón phát âm tại BAC"s Blog.

Xem thêm: Hào Môn: Làm Con Dâu Cả Thật Là Khó!, Hào Môn Trọng Sinh: Làm Con Dâu Cả Thật Là Khó!

Nguồn tham khảo:

https://www.w3schools.com/

Nhu cầu đào tạo và huấn luyện doanh nghiệp

BAClà 1-1 vị đào tạo BA trước tiên tại Việt Nam. Đối tác thừa nhận củaIIBAquốc tế. Ngoài những khóa học public,BACcòn có các khóa học in house giành riêng cho từng doanh nghiệp. Chương trình có thiết kế riêng theo yêu ước của doanh nghiệp, giúp doanh nghiệp giải quyết những khó khăn và support phát triển.