Cập nhật ngày 22/03/2023 bởi mychi
Bài viết FOREIGN KEY (khóa ngoại) trong MySQL thuộc chủ đề về Thắc Mắt thời gian này đang được rất nhiều bạn quan tâm đúng không nào !! Hôm nay, Hãy cùng Viết Văn tìm hiểu FOREIGN KEY (khóa ngoại) trong MySQL trong bài viết hôm nay nhé ! Các bạn đang xem bài : “FOREIGN KEY (khóa ngoại) trong MySQL” Bài viết FOREIGN KEY (khóa ngoại) trong MySQL thuộc chủ đề về Thắc Mắt thời gian này đang được rất nhiều bạn quan tâm đúng không nào !! Hôm nay, Hãy cùng Viết Văn tìm hiểu FOREIGN KEY (khóa ngoại) trong MySQL trong bài viết hôm nay nhé ! Các bạn đang xem bài : “FOREIGN KEY (khóa ngoại) trong MySQL”
Đánh giá về FOREIGN KEY (khóa ngoại) trong MySQL
1) Chức năng của ràng buộc FOREIGN KEY
– Trong hệ quản trị cơ sở dữ liệu MySQL, ràng buộc FOREIGN KEY (khóa ngoại) được dùng để xây dựng một mối liên kết giữa hai cái bảng nhằm đảm bảo tính “toàn vẹn dữ liệu” của các bảng (khi trong hai cái bảng đó có một cái bảng tham chiếu đến dữ liệu của cái bảng còn lại) – Trong hệ quản trị cơ sở dữ liệu MySQL, ràng buộc FOREIGN KEY (khóa ngoại) được dùng để xây dựng một mối liên kết giữa hai cái bảng nhằm đảm bảo tính “toàn vẹn dữ liệu” của các bảng (khi trong hai cái bảng đó có một cái bảng tham chiếu đến dữ liệu của cái bảng còn lại)
Ví dụ: Ví dụ:
– Tôi có hai cái bảng Customers & Orders lần lượt như bên dưới:
Bảng Customers lưu trữ thông tin của các khách hàng. Bảng Customers lưu trữ thông tin của các khách hàng.
ID | Name | Address | City |
1 | Nguyễn Thành Nhân | 63 Hoàng Văn Thụ | Cần Thơ |
2 | Dương Văn Gánh | 16B Nguyễn Văn Cừ | Sóc Trăng |
3 | Trần Thị Huỳnh Như | 365A Trần Quang Diệu | Vĩnh Long |
Bảng Orders lưu trữ thông tin về các đơn đặt hàng của những khách hàng trong cái bảng Customers. Bảng Orders lưu trữ thông tin về các đơn đặt hàng của những khách hàng trong cái bảng Customers.
ID | OrderDate | CustomerID |
1 | 2019-08-05 | 1 |
2 | 2019-09-17 | 2 |
3 | 2019-10-22 | 2 |
4 | 2019-11-08 | 3 |
– Cột CustomerID trong bảng Orders tham chiếu dữ liệu từ cột ID trong cái bảng Customers, nó cho chúng ta biết những khách hàng nào đã đặt những đơn hàng nào (nếu chúng ta thêm vào cái bảng Order những đơn hàng mà ID của các khách hàng không tồn tại thì những đơn hàng đó sẽ trở nên không hợp lệ) – Cột CustomerID trong bảng Orders tham chiếu dữ liệu từ cột ID trong cái bảng Customers, nó cho chúng ta biết những khách hàng nào đã đặt những đơn hàng nào (nếu chúng ta thêm vào cái bảng Order những đơn hàng mà ID của các khách hàng không tồn tại thì những đơn hàng đó sẽ trở nên không hợp lệ)
– Để tránh việc bảng Orders bị chứa những đơn hàng không hợp lệ thì chúng ta cần phải thiết lập ràng buộc FOREIGN KEY cho cột CustomerID, ràng buộc này đảm bảo việc ngăn chặn những hành động không hợp lệ, điển hình như: – Để tránh việc bảng Orders bị chứa những đơn hàng không hợp lệ thì chúng ta cần phải thiết lập ràng buộc FOREIGN KEY cho cột CustomerID, ràng buộc này đảm bảo việc ngăn chặn những hành động không hợp lệ, điển hình như:
- Không cho phép thêm những đơn hàng mà ID của khách hàng không tồn tại trong bảng Customers.
- Không cho phép xóa những khách hàng mà ID của họ có tồn tại trong bảng Orders.
- Không cho phép xóa bảng Customers khi bảng Orders vẫn còn đang tồn tại.
- . . . .
– Trong hai cái bảng, bảng chứa ràng buộc FOREIGN KEY (khóa ngoại) được gọi là bảng con, còn bảng chứa khóa ứng viên thì được gọi là bảng tham chiếu hoặc bảng cha (điển hình như trong ví dụ phía trên, bảng Orders được gọi là bảng con, bảng Customers được gọi là bảng tham chiếu) – Trong hai cái bảng, bảng chứa ràng buộc FOREIGN KEY (khóa ngoại) được gọi là bảng con, còn bảng chứa khóa ứng viên thì được gọi là bảng tham chiếu hoặc bảng cha (điển hình như trong ví dụ phía trên, bảng Orders được gọi là bảng con, bảng Customers được gọi là bảng tham chiếu)
– Để tạo một ràng buộc FOREIGN KEY thì chúng ta sử dụng cú pháp như sau: – Để tạo một ràng buộc FOREIGN KEY thì chúng ta sử dụng cú pháp như sau:
CONSTRAINT tên_ràng_buộc FOREIGN KEY (column1) REFERENCES table_name(column2)
– Trong đó:
- column1 là tên của cái cột (bên trong bảng con) mà các bạn muốn thiết lập ràng buộc FOREIGN KEY.
- table_name là tên của cái bảng tham chiếu.
- column2 là tên của cái cột (bên trong bảng tham chiếu) mà cột column1 tham chiếu đến, ngoài ra column2 còn phải là khóa chính (PRIMARY KEY) của cái bảng tham chiếu.
Ví dụ: Ví dụ:
– Dưới đây là đoạn mã dùng để tạo hai cái bảng Customers & Orders giống như trong ví dụ phía trên. – Dưới đây là đoạn mã dùng để tạo hai cái bảng Customers & Orders giống như trong ví dụ phía trên.
CREATE TABLE Customers( ID INT PRIMARY KEY, Name VARCHAR(255), Address VARCHAR(255), City VARCHAR(255) ); CREATE TABLE Orders( ID INT PRIMARY KEY, OrderDate DATE, CustomerID INT, CONSTRAINT lien_ket_01 FOREIGN KEY (CustomerID) REFERENCES Customers(ID) );2) Thêm ràng buộc FOREIGN KEY (khi bảng đã được tạo)
– Đối với trường hợp bảng đã được tạo trước, nhưng do quên thiết lập ràng buộc FOREIGN KEY cho cột nên bây giờ các bạn muốn bổ sung, để làm được điều đó thì sử dụng lệnh chỉnh sửa bảng như bên dưới. – Đối với trường hợp bảng đã được tạo trước, nhưng do quên thiết lập ràng buộc FOREIGN KEY cho cột nên bây giờ các bạn muốn bổ sung, để làm được điều đó thì sử dụng lệnh chỉnh sửa bảng như bên dưới.
ALTER TABLE table1 ADD CONSTRAINT tên_ràng_buộc FOREIGN KEY (column1) REFERENCES table2(column2);
– Ví dụ: – Ví dụ:
ALTER TABLE Orders ADD CONSTRAINT lien_ket_01 FOREIGN KEY (CustomerID) REFERENCES Customers(ID);✅ Mọi người cũng xem : giấy in chuyển nhiệt là gì
3) Cách xóa ràng buộc FOREIGN KEY
– Dưới đây là cú pháp dùng để xóa một ràng buộc FOREIGN KEY. – Dưới đây là cú pháp dùng để xóa một ràng buộc FOREIGN KEY.
ALTER TABLE table_name DROP FOREIGN KEY tên_ràng_buộc; ALTER TABLE table_name DROP FOREIGN KEY tên_ràng_buộc;
– Ví dụ, để xóa ràng buộc FOREIGN KEY có tên là lien_ket_01 (trên bảng Orders) thì tôi sử dụng câu lệnh sau: – Ví dụ, để xóa ràng buộc FOREIGN KEY có tên là lien_ket_01 (trên bảng Orders) thì tôi sử dụng câu lệnh sau:
ALTER TABLE Orders DROP FOREIGN KEY lien_ket_01;Các câu hỏi về foreign key là gì
Nếu có bắt kỳ câu hỏi thắc mắt nào vê foreign key là gì hãy cho chúng mình biết nhé, mõi thắt mắt hay góp ý của các bạn sẽ giúp mình cải thiện hơn trong các bài sau nhé <3 Bài viết foreign key là gì ! được mình và team xem xét cũng như tổng hợp từ nhiều nguồn. Nếu thấy bài viết foreign key là gì Cực hay ! Hay thì hãy ủng hộ team Like hoặc share. Nếu thấy bài viết foreign key là gì rât hay ! chưa hay, hoặc cần bổ sung. Bạn góp ý giúp mình nhé!!Các Hình Ảnh Về foreign key là gì
Các hình ảnh về foreign key là gì đang được chúng mình Cập nhập. Nếu các bạn mong muốn đóng góp, Hãy gửi mail về hộp thư [email protected] Nếu có bất kỳ đóng góp hay liên hệ. Hãy Mail ngay cho tụi mình nhéTra cứu thêm thông tin về foreign key là gì tại WikiPedia
Bạn nên xem thêm thông tin chi tiết về foreign key là gì từ trang Wikipedia tiếng Việt.◄ Tham Gia Cộng Đồng Tại ???? Nguồn Tin tại: https://vietvan.vn/hoi-dap/ ???? Xem Thêm Chủ Đề Liên Quan tại : https://vietvan.vn/hoi-dap/Các bài viết liên quan đến