NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
18/04/2023
Lượt xem

Cách xem và tạo quan hệ (relationship) trong phpMyAdmin

18/04/2023
6 phút đọc
Lượt xem

Đánh giá

5/5 - (119 bình chọn)

Việc sử dụng các quan hệ (relationship) trong bảng dữ liệu sẽ giúp giảm rủi ro xảy ra lỗi và tăng độ tin cậy cho ứng dụng. Trong bài viết dưới đây, Vietnix sẽ hướng dẫn các bạn cách để xem và tạo quan hệ trong phpMyAdmin với các bước thực hiện chi tiết. 

Tìm hiểu về quan hệ (relationship) trong phpMyAdmin

phpMyAdmin cho phép các quan hệ (tương tự như khóa ngoại) sử dụng các phương thức gốc MySQL (InnoDB) trong trường hợp khả dụng. Ngoài ra, các quan hệ còn sử dụng lại những tính năng đặc biệt dành riêng cho phpMyAdmin khi cần thiết. Có hai cách để chỉnh sửa quan hệ trong phpMyAdmin bao gồm xem mối quan hệ (relation view) trình thiết kế kéo thả (drag-and-drop designer). Cả hai cách này sẽ được trình bày trong nội dung dưới đây.

quan hệ (relationship) trong phpMyAdmin
Cách xem và tạo quan hệ (relationship) trong phpMyAdmin 13

Lưu ý rằng, để thực hiện được các thao tác dưới đây, bạn cần phải chỉnh sửa cấu hình bộ lưu trữ của phpMyAdmin sao cho chỉ sử dụng quan hệ phpMyAdmin. 

Thông tin kỹ thuật

Hiện tại, chỉ có duy nhất loại bảng InnoDB của MySQL hỗ trợ các mối quan hệ. Khi sử dụng bảng này, phpMyAdmin sẽ tạo các mối quan hệ InnoDB mà MySQL sẽ thực thi với bất cứ ứng dụng nào truy cập vào cơ sở dữ liệu. Trong trường hợp sử dụng bảng dữ liệu loại khác, phpMyAdmin chỉ thực thi các mối quan hệ bên trong và những mối quan hệ đó không được áp dụng cho bất kỳ ứng dụng nào khác.

Chế độ Xem quan hệ

Để có thể xem quan hệ (relation view), trước hết bạn phải tạo đúng [[pmadb|pmadb]]. Sau khi thiết lập xong, bạn chọn mục “Structure” của bảng. Phía dưới phần định nghĩa bảng sẽ có một liên kết có tên “Relation view” được hiển thị. Nếu bạn nhấp vào liên kết đó sẽ có một trang mới được hiển thị cho phép bạn tạo liên kết đến một bảng khác với bất kỳ trường (fields) nào.

Sẽ chỉ có các khóa chính (Primary Keys) mới được hiển thị ở đó, do đó nếu trường bạn chọn không hiển thị thì có nghĩa là bạn đã làm sai ở một bước nào đó. Trình đơn cuối cùng cũng chính là là trường sẽ được dùng làm tên cho bản ghi. 

Dưới đây là ví dụ về chế độ xem quan hệ.

Cách xem và tạo quan hệ trong phpmyadmin
Cách xem và tạo quan hệ (relationship) trong phpMyAdmin 14

Giả sử bạn có các danh mục, liên kết và một danh mục có thể chứa một số liên kết, cấu trúc bảng sẽ giống như sau:

  • category.category_id (id phải là duy nhất)
  • category.name
  • link.link_id
  • link.category_id
  • link.uri.

Mở chế độ relation view bên dưới cấu trúc bảng cho bảng liên kết (link) và cho trường category_id. Tiếp theo bạn chọn category.category_id làm bản ghi chính.

Bạn tiến hành tải lại trang web, lúc này trường category_id sẽ là một siêu liên kết cho phép bạn nhấp vào bản ghi danh mục thích hợp. Tuy nhiên, tất cả những gì bạn có thể thấy chỉ là category_id chứ không phải tên danh mục. Trường hợp muốn khắc phục nhược điểm này, bạn mở chế độ relation view của bảng category và chọn mục name trong trình đơn dưới cùng. Sau khi tải lại trang một lần nữa, bạn di chuột qua liên kết category_id sẽ thấy giá trị danh mục hiển thị dưới dạng chú thích.

Tạo quan hệ trong cơ sở dữ liệu MySQL bằng phpMyAdmin

Trong phần này, bạn có thể tạo các quan hệ trong cơ sở dữ liệu MySQL bằng cách sử dụng phpMyAdmin. Trường hợp vì lý do nào đó bạn không muốn sử dụng phpMyAdmin thì có thể xem các cách truy vấn SQL được ghi bên dưới.

Trong mọi trường hợp, việc sử dụng các quan hệ trong bảng dữ liệu sẽ làm gia tăng khả năng chịu lỗi và tăng độ tin cậy cho ứng dụng. Ví dụ bạn có thể từ chối xóa danh mục trong bất kỳ bài viết nào đã được kết nối với nó. Hoặc là bạn có thể xóa tất cả các bài viết nếu loại bỏ đi danh mục.

Để tạo quan hệ trong phpMyAdmin, bạn cần sử dụng công cụ InnoDB, chỉ có công cụ này mới hỗ trợ khóa ngoại. Nếu đang sở hữu các bảng MyISAM thì bạn có thể chuyển đổi nó sang InnoDB. Đồng thời trước khi thêm quan hệ, bạn nên thêm các trường vào chỉ mục.

Trong phpMyAdmin, bạn chọn một bảng rồi chọn chế độ cấu trúc (Structure), chọn một trường liên quan rồi nhấn vào Index.

quan he trong phpmyadmin
Cách xem và tạo quan hệ (relationship) trong phpMyAdmin 15

Bạn cần lưu ý sự khác biệt giữa “Index” và “Unique”. Ví dụ có thể sử dụng unique cho trường ID, nơi các giá trị không bị trùng lặp.

Điều này cũng có thể thực hiện được bằng câu lệnh truy vấn:

ALTER TABLE `table_name` ADD INDEX ( `field_name` ) ;

Tương tự, hãy thêm một Index cho bảng có quan hệ được liên kết (bên sở hữu).

Sử dụng câu lệnh SQL:

ALTER TABLE `table_name` ADD UNIQUE (`field_name`);

Bây giờ chỉ còn lại các bảng liên quan, để thực hiện tạo quan hệ bạn nhấn vào “Connections” ở dưới cùng.

tạo quan hệ trong phpmyadmin
Cách xem và tạo quan hệ (relationship) trong phpMyAdmin 16

Đối với các trường có sẵn, hãy chọn mối quan hệ với các bảng bên ngoài và các hành động (hạn chế) đối với các thay đổi của trường.

Sử dụng câu lệnh truy vấn SQL:

ALTER TABLE `table_name` ADD FOREIGN KEY ( `field_in_table_name_which_need_connect` ) REFERENCES `outer_table_to_connect` (`outer_field`) ON DELETE RESTRICT ON UPDATE RESTRICT ;

Lời kết

Trên đây là tất cả các bước cần làm để tạo quan hệ trong phpMyAdmin, bây giờ các bảng đã được liên kết với nhau bằng khóa ngoại. Mong rằng những hướng dẫn trên đã giúp bạn giải quyết vấn đề đang gặp phải.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG