Trong bài này các 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 những hệ quản trị CSDL như SQL Server, Oracle, MySQL.
Đang xem: Khóa ngoại sql
Khóa ngoại là những column đặc biệc sử dụng để thể hiện mối link giữa hai bảng. Bảng A với column khóa ngoại, nó sẽ trỏ tới khóa chính của bảng B thì ta gọi A là bảng con và B là bảng thân phụ.
Giả sử ta với hai bảng như sau:
Orders (OrderID. OrderNumber, PersonID)Persons (PersonID, LastName, FirstName)
Gạch chân là khóa chính và red color là khóa ngoại. Như vậy bảng Orders là bảng con vì như thế nó với khóa ngoại PersonID trỏ tới khóa chính của bảng thân phụ là bảng Persion. giờ đây ta sẽ học cách tạo khóa ngoại nhé.
1. Tạo Foreign Key trong lệnhCREATE TABLE
Các bạn mà thậm chí 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));
Lúc mang tên thì sau này rất đơn giản dễ dàng quản lý và vận hành khóa ngoại, chúng ta mà thậm chí xóa khóa ngoại trải qua tên của nó.
Xem thêm: Tech-Savvy Là Gì – (Công Thức Efast)
2. Tạo Foreign Key bằng lệnh Alter Table
Lệnh Alter Table cho phép chúng ta tạo khóa ngoại, lệnh này được sử dụng sau lúc chúng ta đã tạo bảng.
MySQL / SQL Server / Oracle / MS Access
ALTER TABLE OrdersADD 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 OrdersADD CONSTRAINT FK_PersonOrderFOREIGN KEY (PersonID) REFERENCES Persons(PersonID);
3. Xóa khóa ngoại
Để xóa được khóa ngoại thì nên chúng ta phải ghi nhận tên của khóa ngoại, vì như thế vậy khuyến khích chúng ta lúc tạo khóa ngoại thì hãy đặt tên cho nó nhé.
Xem thêm: Báo Cáo Tài Chính Hợp Nhất ( Consolidated Là Gì, Nghĩa Của Từ Consolidate
Để xóa thì chúng ta sử dụng đoạn code sau:
MySQL
ALTER TABLE OrdersDROP FOREIGN KEY FK_PersonOrder;
SQL Server / Oracle / MS Access
ALTER TABLE OrdersDROP CONSTRAINT FK_PersonOrder;
Một trong những lưu ý lúc xóa khóa ngoại:
Sau lúc xóa xong thì giữa hai bảng sẽ không thể ràng buộc, vì như thế vậy dữ liệu cho column khóa ngoại của bảng con được tự do, ko nên phải nằm trong phạm vi của bảng thân phụ.Phải khỏe mạnh là tên của khóa ngoại tồn tại, nếu ko thì sẽ nhận thông tin lỗi.
Bài sau Bài tiếp
Hiện tại mình xin đóng phần phản hồi, nếu như có thắc mắc thì hãy đăng chủ đề lên trang hoicode.com. Truy vấn hỏi code ngay
DANH SÁCH BÀI HỌC
Table queries Data Queries Condition & Operator Advanced
Danh sách chủ đề
MÃ GIẢM GIÁ | ||
Unica | 50% | Lấy Mã |
TinoHost | 30% | Lấy Mã |
INET | 30% | Lấy Mã |
Liên hệ
Mã tránh giá
Khóa học
Reviews
Admin Cường, quản lý và vận hành chính của website.
2020 – a.viettingame.vn. All Right Reserved Theme GoodNews, nền tảng Codeigniter, VPS sắm tại Tinohost

BÀI VIẾT
Nếu khách hàng phát hiện lỗi sai link, nội dung sai, hay một lỗi bất kì nào khác trên trang này thì hãy cho mình biết nhé. Cám ơn chúng ta!