SQL Server: Foreign Key (Khoá Ngoại) | V1Study
Có thể bạn quan tâm
Ràng buộc khóa ngoại (Foreign Key - FK) được sử dụng để liên kết các bảng dữ liệu trong một cơ sở dữ liệu.
FK đảm bảo toàn vẹn tham chiếu cho bảng.
FK được đặt trên một cột, nó chỉ đến (hay tham chiếu đến) khóa chính trong một bảng khác.
Giả sử có hai bảng A và B, bảng A có cột a và bảng B có cột b. Muốn thiết lập liên kết giữa hai bảng A và B thông qua hai cột a và b thì:
- Nếu đặt FK trên cột a thì cột b phải là cột PK hoặc ngược lại, nếu đặt FK trên cột b thì cột a phải là cột PK.
- Kiểu dữ liệu của hai cột a và b phải giống nhau.
- Cột đặt FK phải chứa những giá trị giống với những giá trị của cột đặt PK. Ví dụ cột a của bảng A là cột PK và chứa hai giá trị 1 và 2 thì cột b của bảng B cũng chỉ chứa những giá trị 1 và 2 mà không được chứa nhưng giá trị khác.
Tạo ràng buộc FK:
Giả sử ta tạo bảng Student như sau:
CREATE TABLE Student(
studentid int not null identity,
studentname nvarchar(30),
dateofbirth date,
constraint pk_student PRIMARY KEY(studentid)
);
Bây giờ ta tạo bảng Marks và tạo ràng buộc FK trên cột studentid của bảng Marks tham chiếu đến cột studentid của bảng Student, ta sẽ có các cách tạo FK như sau:
Cách 1: Ví dụ:
CREATE TABLE Marks(
studentid int not null FOREIGN KEY REFERENCES Student(studentid),
subjectid int not null,
mark float,
constraint pk_marks primary key(studentid,subjectid)
);
Cách 2: Ví dụ:
CREATE TABLE Marks(
studentid int not null,
subjectid int not null,
mark float,
constraint pk_marks primary key(studentid,subjectid),
FOREIGN KEY(studentid) REFERENCES Student(studentid)
);
Cách 3: Ví dụ:
CREATE TABLE Marks(
studentid int not null,
subjectid int not null,
mark float,
constraint pk_marks primary key(studentid,subjectid),
constraint fk_studentid FOREIGN KEY(studentid) REFERENCES Student(studentid)
);
Cách 4: Sử dụng cú pháp như sau:
ALTER TABLE Tên_bảng1 ADD FOREIGN KEY(Tên_cột_đặt_FK) REFERENCES Tên_bảng2(Tên_cột_đặt_PK);
Ví dụ:
CREATE TABLE Marks(
studentid int not null,
subjectid int not null,
mark float,
constraint pk_marks primary key(studentid,subjectid),
);
ALTER TABLE Marks ADD FOREIGN KEY(studentid) REFERENCES Student(studentid);
Cách 5: Ta sử dụng cú pháp như sau:
ALTER TABLE Tên_bảng1 ADD CONSTRAINT Tên_ràng_buộc FOREIGN KEY(Tên_cột_đặt_FK) REFERENCES Tên_bảng2(Tên_cột_đặt_PK);
Ví dụ:
CREATE TABLE Marks(
studentid int not null,
subjectid int not null,
mark float,
constraint pk_marks primary key(studentid,subjectid),
);
ALTER TABLE Marks ADD CONSTRAINT fk_studentid FOREIGN KEY(studentid) REFERENCES Student(studentid);
Từ khóa » Cách Dùng Fk
-
Cách Sử Dụng Ràng Buộc FOREIGN KEY Trong SQL
-
Khóa Ngoại Foreign Key Trong SQL Server
-
Khóa Ngoại Foreign Key Trong SQL
-
Khác Biệt Giữa Khóa Chính Và Khóa Ngoại Trong SQL - Viblo
-
Các Ràng Buộc Trong SQL Server
-
FK. Hướng Dẫn Sử Dụng Phần Mềm Kế Toán FAST. Kế ... - YouTube
-
[Tự Học SQL] Tìm Hiểu Về Khoá Chính(PRIMARY KEY), Khoá Ngoại ...
-
Bàn Phím Cơ FEKER FK84T, Tự Làm Kit Bộ Dụng Cụ Tùy Chỉnh 80 ...
-
Làm Cách Nào để Sử Dụng Phím Fn/phím F Lock/các Phím Lệnh Thay ...
-
Hướng Dẫn Sử Dụng Bộ Tản Nhiệt Thông Minh SOMOGYI FK 440 WIFI
-
Hướng Dẫn Sử Dụng Bộ Tản Nhiệt Thông Minh SOMOGYI ...
-
Máy Cắt Lông Xù 6 Lưỡi FK-688 Nhanh Mạnh Hơn - Bán Buôn Siêu Rẻ
-
Bình đun Siêu Tốc Delites 1.7 Lít FK-1802 - Giá Rẻ, Giao Ngay
-
Bình đun Siêu Tốc Delites 1.7 Lít FK-1507-1 - Giá Rẻ, Giao Ngay