FOREIGN KEY có cách gọi khác là khóa ngoại, cũng là trong số những ràng buộc của SQL. Nếu đối chiếu với khóa bao gồm (PRIMARY KEY) thì khóa nước ngoài cũng đóng một vai trò quan trọng đặc biệt không kém. Bài viết này sẽ giúp đỡ làm rõ những vấn đề tương quan đến FOREIGN KEY.
Bạn đang xem: Khóa ngoại trong sql server
Tham khảo: Cách sử dụng PRIMARY KEY vào SQL
1. Ràng buộc FOREIGN KEY vào SQLRàng buộc FOREIGN KEY tốt khóa ngoại được thực hiện để phòng các hành động sẽ có tác dụng hủy bỏ link giữa các bảng.
Một FOREIGN KEY là một trong những trường (hoặc tập hợp những trường) vào một bảng, đề cập mang lại PRIMARY KEY vào một bảng khác.
Một bảng cùng với khóa ngoại được gọi là bảng bé và bảng cùng với khóa bao gồm được điện thoại tư vấn là bảng phụ vương hay bảng tham chiếu.
Để dễ hình dung, các bạn hãy nhìn vào ví dụ bên dưới đây:

Chú ý cho cột PersonID của bảng Orders, bạn sẽ thấy cột này trỏ mang đến cột PersonID của bảng Persons.
Cột PersonID vào bảng Persons là PRIMARY KEY trong bảng Persons.
Cột PersonID trong bảng Orders là FOREIGN KEY vào bảng Orders.
Ràng buộc FOREIGN KEY ngăn các dữ liệu không hợp lệ được chèn vào cột khóa ngoại, cũng chính vì nó bắt buộc là trong số những giá trị gồm trong bảng cha.
2. Chế tác ràng buộc FOREIGN KEYCó hai phương pháp để tạo ràng buộc trong SQL, cách trước tiên là thêm buộc ràng khi tạo bảng bởi câu lệnh CREATE TABLE. Giải pháp thứ hai để chế tạo ra ràng buộc là sử dụng câu lệnh ALTER TABLE, giải pháp này thường dùng để làm chỉnh sửa ràng buộc bao gồm sẵn hoặc thêm mới.
Tham khảo: Cách áp dụng câu lệnh ALTER TABLE vào SQL
Để tiến hành các ví dụ này, bạn cần nhập cơ sở dữ liệu mẫu Northwind vào SQL hệ thống Management Studio. Hãy xem bài viết hướng dẫn ngay bên dưới đây:
Tham khảo: Hướng dẫn cài và thiết đặt dữ liệu chủng loại Northwind vào SQL server Management Studio
Sử dụng CREATE TABLEĐầu tiên, bạn phải tạo một bảng Persons có ràng buộc PRIMARY KEY 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, dùng câu lệnh SQL sau đây để tạo ra một FOREIGN KEY trên cột “PersonID” khi chế tạo ra 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 bạn sử dụng cơ sở tài liệu mẫu Northwind, đã bao gồm một bảng thương hiệu là Orders, nên bạn không thể tạo thêm bảng thuộc tên. Bạn có thể đặt một tên 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 các 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 đã sinh sản bảng, bạn không thể sinh sản một bảng trùng tên. Do vậy, hãy xóa bảng Persons đã tạo trên, trước khi liên tiếp thực hiện những ví dụ bên dưới đây. Đối với các ví dụ thêm ràng buộc bằng câu lệnh ALTER TABLE, các bạn hãy tạo bảng không đựng ràng buộc PRIMARY KEY.
Sử dụng ALTER TABLEĐể sinh sản một buộc ràng FOREIGN KEY trên cột “PersonID” khi bảng đã tạo nên trước đó và chưa có ràng buộc, hãy 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 một ràng buộc FOREIGN KEY và xác minh một ràng buộc 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ở dữ liệu Northwind, hệ thống rất 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 buộc ràng FOREIGN KEYĐể xóa một buộc ràng 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 chứa ràng buộc với tên của ràng buộc khi thực hiện xóa.
Trên đây là những thông tin cơ bạn dạng mà bạn cần biết về khóa ngoại tuyệt FOREIGN KEY. Vào các bài viết tiếp theo họ sẽ liên tục với những kỹ năng và kiến thức hữu ích không giống 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ướng Dẫn Cài Đặt Và Crack Adobe Acrobat Pro Dc 2019, Tải Phần Mềm Acrobat Pro Dc 2019 Full Mới Nhất
Nguồn tham khảo:
https://www.w3schools.com/
Nhu cầu đào tạo doanh nghiệp
BAClà 1-1 vị huấn luyện và đào tạo BA thứ nhất 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 tập in house dà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 và xử lý những trở ngại và support phát triển.