Khóa Ngoại Foreign Key Trong SQL
Có thể bạn quan tâm
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ài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.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é.
Bài viết này được đăng tại [free tuts .net]
1. Tạo Foreign Key trong lệnh CREATE 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:
MySQL CREATE TABLE Orders ( OrderID int NOT NULL, OrderNumber int NOT NULL, PersonID int, PRIMARY KEY (OrderID), FOREIGN KEY (PersonID) REFERENCES Persons(PersonID) );
SQL Server / Oracle / MS Access: CREATE TABLE Orders ( OrderID int NOT NULL PRIMARY KEY, OrderNumber int NOT NULL, PersonID int FOREIGN KEY REFERENCES Persons(PersonID) );
Để đặt tên cho khóa ngoại thì ta viết như sau:
MySQL / SQL Server / Oracle / MS Access 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ó.
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.
MySQL / SQL Server / Oracle / MS Access ALTER TABLE Orders ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);
Hoặc sử dụng cách sau để đặt tên cho khóa ngoại.
MySQL / SQL Server / Oracle / MS Access: ALTER TABLE Orders<br /> ADD CONSTRAINT FK_PersonOrder<br /> FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);
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:
MySQL ALTER TABLE Orders DROP FOREIGN KEY FK_PersonOrder;
SQL Server / Oracle / MS Access ALTER TABLE Orders DROP CONSTRAINT FK_PersonOrder;
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.
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ác Biệt Giữa Khóa Chính Và Khóa Ngoại Trong SQL - Viblo
-
SQL Server: Foreign Key (Khoá Ngoại) | V1Study
-
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