Mối quan hệ n-n giữa các bảng trong Access

Thứ năm - 20/06/2019 15:13
Ở bài viết này, hãy cùng Quantrimang.com tìm hiểu kĩ về cách thiếp lập mối quan hệ n-n. Quan hệ n-n là quan hệ giữa hai bảng mà một bản ghi của bảng A có thể có nhiều bản ghi phù hợp trong bảng B và ngược lại.

Ở bài viết này, hãy cùng Quantrimang.com tìm hiểu kĩ về cách thiếp lập mối quan hệ n-n. Quan hệ n-n là quan hệ giữa hai bảng mà một bản ghi của bảng A có thể có nhiều bản ghi phù hợp trong bảng B và ngược lại.

Để tạo mối quan hệ như vậy, hãy xác định bảng thứ ba, được gọi là bảng nối, có khóa chính bao gồm các khóa ngoại từ cả bảng A và bảng B để chia mối quan hệ n-n thành hai mối quan hệ 1-n. 

Tiếp tục với các ví dụ ở bài hướng dẫn trước, ta bổ sung thêm một bảng tblTacgia và một bảng nối tblTacgiaNoi. Bảng Tác giả bao gồm các trường TacgiaID, Ten, Ho, Diachi, Dienthoai, Email, Ngaysinh.

Mối quan hệ n-n giữa các bảng trong Access
Thêm mới bảng tblTacgia có các trường như hình

Thường thì một tác giả sẽ làm việc với nhiều dự án, cũng như một dự án có thể có nhiều tác giả cùng thực hiện. Như các bài hướng dẫn trước, bảng tblDuAn cũng có một trường tác giả, vì vậy, ta sẽ tạo một bảng riêng bao gồm các dữ liệu thông tin về tác giả. Vậy nên, chúng ta không cần trường này trong bảng Dự án nữa.

Mối quan hệ n-n giữa các bảng trong Access - Ảnh minh hoạ 2
Bảng tblDuAn cũng có một trường về Tác giả

Chọn trường Tacgia, nhấn nút xóa và bạn sẽ thấy thông báo sau.

Mối quan hệ n-n giữa các bảng trong Access - Ảnh minh hoạ 3
Xóa trường TacGia trên bảng này

Click Yes.

Bây giờ chúng ta sẽ tạo một bảng nối. Bảng nối này có hai khóa ngoại như sau:

Mối quan hệ n-n giữa các bảng trong Access - Ảnh minh hoạ 4
Thêm 2 trường ID của hai bảng vào bảng nối này

Các trường khóa ngoại này sẽ là các khóa chính từ hai bảng tblTacgiatblDuAn.

Để tạo khóa cho nhiều trong Access, chọn cả hai trường này, đi đến tab Design, nhấp vào Primary Key, các trường được chọn đều sẽ trở thành khóa.

Mối quan hệ n-n giữa các bảng trong Access - Ảnh minh hoạ 5
Hai trường được chọn đều trở thành khóa

Lưu bảng với tên tblTacgiaNoi.

Tiếp theo, đi tới Relationship trong tab Design để tạo mối quan hệ bằng cách nhấp vào Show Table. 

Mối quan hệ n-n giữa các bảng trong Access - Ảnh minh hoạ 6
Thêm 3 bảng tblDuAn, tblTacgia và tblTacgiaNoi

Chọn bảng tblDuAn, tblTacgiatblTacgiaNoi, nhấp vào Add để thêm cả ba bảng vào màn hình làm việc rồi đóng hộp thoại Show Table.

Mối quan hệ n-n giữa các bảng trong Access - Ảnh minh hoạ 7
Cả 3 bảng tblDuAn, tblTacgia và tblTacgiaNoi được thêm vào màn hình

Sử dụng chuột để nhấp và giữ trường TacgiaID trong bảng tblTacgia, kéo nối đến trường TacgiaID bạn muốn kết nối ở bảng tblTacgiaNoi. Khi bạn nhả chuột, Access sẽ mở cửa sổ Edit Relationships. Lưu ý, mối quan hệ đang tạo Access sẽ coi là mối quan hệ 1-n. Bạn tích vào ô Cascade Update và click Create:

Mối quan hệ n-n giữa các bảng trong Access - Ảnh minh hoạ 8
Kéo nối 2 trường TacgiaID của 2 bảng với nhau sẽ hiện ra hộp thoại Edit Relationships

Kết quả:

Mối quan hệ n-n giữa các bảng trong Access - Ảnh minh hoạ 9

Tiếp theo, bạn kéo nối trường DuAnID từ bảng tblDuAn đến trường DuAnID bảng tblTacgiaNoi, tích vào ô Enforce Referential IntegrityCascade Update Related Fields.

Mối quan hệ n-n giữa các bảng trong Access - Ảnh minh hoạ 10
Kéo nối 2 trường DuAnID của 2 bảng với nhau để hiện ra hộp thoại Edit Relationships

Và đây chính là mối quan hệ n-n chúng ta muốn thiết lập:

Mối quan hệ n-n giữa các bảng trong Access - Ảnh minh hoạ 11
Quan hệ n-n

Bài trước: Mối quan hệ 1-n giữa các bảng trong Access

Bài tiếp: Toán tử đại diện Wildcard trong Access

Nguồn tin: quantrimang.com

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

  Ý kiến bạn đọc

Chuyên trang
An ninh mạng
Thống kê
  • Đang truy cập462
  • Máy chủ tìm kiếm161
  • Khách viếng thăm301
  • Hôm nay142,386
  • Tháng hiện tại2,218,761
  • Tổng lượt truy cập154,254,365
Liên kết Website
Hộp thư góp ý
Đường dây nóng
THÔNG TIN ĐẦU MỐI HƯỚNG DẪN, HỖ TRỢ THỰC HIỆN THỦ TỤC HÀNH CHÍNH, DVC TT
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây