Trong bài viết này, chúng ta sẽ khám phá khái niệm khoá ngoại trong MySQL và hướng dẫn cách kết nối các bảng trong phpmyadmin.
Khóa ngoại trong MySQL
Hình ảnh minh họa khóa ngoại trong MySQL
Khóa ngoại (foreign key) trong MySQL là thuộc tính cho phép xác định mối quan hệ giữa hai bảng trong cơ sở dữ liệu. Khóa ngoại giúp thiết lập các quy tắc và ràng buộc để đảm bảo tính nhất quán và toàn vẹn dữ liệu.
Bạn đang xem: Khoá ngoại – Hướng dẫn liên kết bảng MySQL trong phpmyadmin
Ví dụ, chúng ta có hai bảng là “Users” chứa thông tin người dùng và “Order” chứa thông tin đơn hàng của người dùng. Ta có thể thiết lập khóa ngoại trong bảng “Order” bằng cách liên kết cột “user_id” với cột “id” trong bảng “Users”. Điều này giúp xác định rằng mỗi đơn hàng thuộc về người dùng nào.
Việc sử dụng khóa ngoại trong MySQL giúp tăng tốc độ truy vấn dữ liệu khi JOIN nhiều bảng. Nếu như hai bảng có mối quan hệ nhưng chưa được liên kết bằng khóa ngoại, việc truy vấn dữ liệu sẽ trở nên chậm chạp. Nhưng khi đã có liên kết, MySQL có thể lấy được dữ liệu tương ứng trong bảng thứ hai một cách nhanh chóng.
Cú pháp tạo khóa ngoại bằng lệnh SQL như sau:
FOREIGN KEY (Custom_ID) REFERENCES TABLE(ID)
Trong đó:
FOREIGN KEY
: Là câu lệnh để tạo khóa ngoại.Custom_ID
: Là tên cột sẽ tạo khóa ngoại trong bảng thứ hai.TABLE
: Tên bảng thứ nhất (Bảng cần thiết lập mối quan hệ).ID
: Là khóa chính trong bảng thứ nhất.
Xem thêm : Different from là gì? Cách dùng cấu trúc Different from chi tiết
Ví dụ, có bảng “users” với các cột “ID, name, phone, pass, address” và bảng “order” với các cột “ID, user_id, num, product_id” cũng có cột “ID” là khóa chính. Để thiết lập khóa ngoại cho cột “user_id” liên kết với bảng “users” sử dụng khóa chính là “ID”, ta có thể sử dụng câu lệnh sau:
FOREIGN KEY (user_id) REFERENCES users(ID)
READ MORE:
Hướng dẫn kết nối bảng MySQL trong phpmyadmin
Trong công cụ quản lý cơ sở dữ liệu MySQL, phpmyadmin cung cấp chức năng để tạo khóa ngoại cho các bảng mà không cần sử dụng câu lệnh SQL.
Để tạo khóa ngoại trong phpmyadmin, vào bảng cần tạo khóa ngoại, chọn tab “Structure” (Cấu trúc bảng) và bấm vào nút “Relation view” (Hiển thị quan hệ).
Hình ảnh minh họa tạo khóa ngoại trong phpmyadmin
Tại đây, bạn có thể tạo nhiều khóa ngoại cho các cột của bảng này với các bảng khác.
Hình ảnh minh họa tạo khóa ngoại trong phpmyadmin
Trên ảnh ví dụ, có các số từ 1 đến 7, tương ứng với các ô thông tin như sau:
- Đặt tên cho ràng buộc.
- Thuộc tính ràng buộc khi dữ liệu liên kết bị xóa.
- Thuộc tính ràng buộc khi dữ liệu liên kết bên bảng chính có sự thay đổi.
- Tên cột tạo ràng buộc trong bảng hiện tại (khóa ngoại).
- Database chứa bảng sẽ được ràng buộc.
- Tên bảng sẽ được ràng buộc tới.
- Cột ràng buộc (Khóa chính trong bảng).
Trong thuộc tính ràng buộc “ON DELETE” và “ON UPDATE” có 4 thuộc tính để lựa chọn là “CASCADE, SET NULL, NO ACTION, RESTRICT”.
- “CASCADE” thay đổi cùng, khi khóa chính bị xóa, dữ liệu bảng bên khóa ngoại tương ứng cũng bị xóa. Ngược lại, khi cập nhật khóa ngoại, khóa ngoại tương ứng được cập nhật.
- “SET NULL” đặt khóa ngoại về giá trị rỗng.
- “NO ACTION” và “RESTRICT” cho phép khóa ngoại không bị tác động khi xóa dữ liệu hoặc cập nhật khóa chính.
Hình ảnh minh họa liên kết bảng trong phpmyadmin
Xem thêm : Điểm chuẩn Đại học Kinh doanh và Công nghệ Hà Nội 3 năm gần đây
Sau khi nhập thông tin, chỉ cần bấm nút “Save”, phpmyadmin sẽ tự động tạo khóa ngoại và kết nối giữa hai bảng này.
Để xem tất cả các liên kết bảng trong một cơ sở dữ liệu, chọn cơ sở dữ liệu đó và chọn tab “Designer” (Bộ thiết kế).
Hình ảnh minh họa bảng thiết kế trong phpmyadmin
Ở đây, bạn có thể xem tất cả các liên kết bảng một cách chi tiết và dễ theo dõi.
Cảm ơn bạn đã đọc đến cuối bài viết! Chúc bạn học tốt!
Xem thêm các bài hướng dẫn MySQL tại đây
XEM THÊM
- Hàm Max, Min trong MySQL – Tìm kiếm lớn nhất, bé nhất trong cột
- Hàm SUM trong MYSQL – Tính tổng một cột
- Câu lệnh CREATE TABLE trong MySQL – Lệnh tạo bảng mới
- Các kiểu dữ liệu trong MySQL (Data Types) – Học MySQL
- Câu lệnh SELECT trong MySQL – Khi nào thì dùng lệnh SELECT
- Toán tử so sánh trong MySQL – So sánh bằng, lớn hơn, nhỏ hơn
Nguồn: https://ispacedanang.edu.vn
Danh mục: Học tập