Ở 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.
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.
Chọn trường Tacgia, nhấn nút xóa và bạn sẽ thấy thông báo sau.
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:
Các trường khóa ngoại này sẽ là các khóa chính từ hai bảng tblTacgia và tblDuAn.
Để 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.
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.
Chọn bảng tblDuAn, tblTacgia và tblTacgiaNoi, 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.
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:
Kết quả:
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 Integrity và Cascade Update Related Fields.
Và đây chính là mối quan hệ n-n chúng ta muốn thiết lập:
Nguồn tin: quantrimang.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn