TẠO KHÓA NGOẠI TRONG SQL SERVER

Trong bài này bạn sẽ được học cách tạo khóa ngoại Foreign Key bằng câu lệnh SQL thể hiện qua các hệ quản trị CSDL như SQL Server, Oracle, MySQL.

Bạn đang xem: Tạo khóa ngoại trong sql server

*


*

Khóa ngoại là những column đặc biệc dùng để thể hiện mối liên kết giữa hai bảng. Bảng A có column khóa ngoại, nó sẽ trỏ đến khóa chính của bảng B thì ta gọi A là bảng con và B là bảng cha.

Giả sử ta có hai bảng như sau:

Orders (OrderID. OrderNumber, PersonID)Persons (PersonID, LastName, FirstName)

Gạch chân là khóa chính và màu đỏ là khóa ngoại. Như vậy bảng Orders là bảng con vì nó có khóa ngoại PersonID trỏ đến khóa chính của bảng cha là bảng Persion. bây giờ ta sẽ học cách tạo khóa ngoại nhé.

Xem thêm: Top 5 Cách Làm Hết Căng Sữa Khi Cai Sữa, 11 Mẹo Chữa Căng Sữa Khi Cai Sữa Cho Con

1. Tạo Foreign Key trong lệnhCREATE TABLE

Bạn có thể tạo khóa ngoại ngay trong lệnh tạo bảng Create Table, cách làm như sau:


CREATE TABLE Orders ( OrderID int NOT NULL, OrderNumber int NOT NULL, PersonID int, PRIMARY KEY (OrderID), FOREIGN KEY (PersonID) REFERENCES Persons(PersonID));
CREATE TABLE Orders ( OrderID int NOT NULL PRIMARY KEY, OrderNumber int NOT NULL, PersonID int FOREIGN KEY REFERENCES Persons(PersonID));
CREATE TABLE Orders ( OrderID int NOT NULL, OrderNumber int NOT NULL, PersonID int, PRIMARY KEY (OrderID), CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID) REFERENCES Persons(PersonID));

Khi có tên thì sau này rất dễ dàng quản lý khóa ngoại, bạn có thể xóa khóa ngoại thông qua tên của nó.

Bài viết này được đăng tại

2. Tạo Foreign Key bằng lệnh Alter Table

Lệnh Alter Table cho phép bạn tạo khóa ngoại, lệnh này được dùng sau khi bạn đã tạo bảng.


3. Xóa khóa ngoại

Để xóa được khóa ngoại thì bắt buộc bạn phải biết tên của khóa ngoại, vì vậy khuyến khích bạn khi tạo khóa ngoại thì hãy đặt tên cho nó nhé.

Để xóa thì bạn sử dụng đoạn code sau:


Một số lưu ý khi xóa khóa ngoại:

Sau khi xóa xong thì giữa hai bảng sẽ không còn ràng buộc, vì vậy dữ liệu cho column khóa ngoại của bảng con được tự do, không bắt buộc phải nằm trong phạm vi của bảng cha.Phải chắc chắn là tên của khóa ngoại tồn tại, nếu không thì sẽ nhận thông báo lỗi.

Phiên làm việc là gì trong SQL

Trong bài viết này mình sẽ giải thích phiên làm việc là gì trong SQL…



Ràng buộc Check trong SQL

Bài này bạn sẽ được học cách tạo ràng buộc giá trị trong SQL bằng…



Primary Key trong SQL

Bài này bạn sẽ được giới thiệu cách tạo khóa chính (Primary Key) thể hiện…



Create và Drop Database trong SQL

Bài viết này sẽ hướng dẫn bạn cách sử dụng lệnh Create Database để tạo…


Subquery trong SQL - truy vấn con

Trong bài này mình sẽ nói đến một cách sử dụng câu truy vấn SLECT…


Self Join trong SQL

Mỗi phép Join đều phải có hai bảng table1 và table2, tuy nhiên có trường…