Nhiều-nhiều
Trong hệ thống đăng ký môn học, có hai thực thể là sinh viên và môn học. Một sinh viên có thể đăng ký nhiều môn học, đồng thời một môn học cũng có thể có nhiều sinh viên đăng ký. Đây chính là mối quan hệ nhiều-nhiều. Trong cơ sở dữ liệu quan hệ, để biểu diễn mối quan hệ nhiều-nhiều giữa sinh viên và môn học, thông thường sẽ sử dụng một bảng trung gian, chẳng hạn như bảng đăng ký môn học. Bảng này có thể ghi lại mỗi sinh viên đã chọn những môn học nào và mỗi môn học được những sinh viên nào đăng ký. Thiết kế này có thể biểu diễn tốt mối quan hệ nhiều-nhiều giữa sinh viên và môn học.
Sơ đồ quan hệ ER như sau

Cấu hình trường

Mô tả tham số
Source collection
Bảng nguồn, tức là bảng chứa trường hiện tại.
Target collection
Bảng đích, là bảng được liên kết.
Through collection
Bảng trung gian. Khi tồn tại mối quan hệ nhiều-nhiều giữa hai thực thể, cần sử dụng bảng trung gian để lưu trữ mối quan hệ này. Bảng trung gian có hai khóa ngoại, dùng để lưu thông tin liên kết giữa hai thực thể.
Source key
Trường được tham chiếu bởi ràng buộc khóa ngoại, bắt buộc phải có tính duy nhất.
Foreign key 1
Trường trong bảng trung gian, dùng để thiết lập liên kết với bảng nguồn.
Foreign key 2
Trường trong bảng trung gian, dùng để thiết lập liên kết với bảng đích.
Target key
Trường được tham chiếu bởi ràng buộc khóa ngoại, bắt buộc phải có tính duy nhất.
ON DELETE
ON DELETE là quy tắc thao tác đối với tham chiếu khóa ngoại trong bảng con khi xóa bản ghi trong bảng cha, được dùng như một tùy chọn khi định nghĩa ràng buộc khóa ngoại. Các tùy chọn ON DELETE thường gặp bao gồm:
- CASCADE: Khi xóa bản ghi trong bảng cha, tự động xóa tất cả bản ghi liên kết trong bảng con.
- SET NULL: Khi xóa bản ghi trong bảng cha, đặt giá trị khóa ngoại liên kết trong bảng con thành NULL.
- RESTRICT: Tùy chọn mặc định. Khi cố gắng xóa bản ghi trong bảng cha, nếu tồn tại bản ghi liên kết trong bảng con thì từ chối xóa bản ghi trong bảng cha.
- NO ACTION: Tương tự RESTRICT. Nếu tồn tại bản ghi liên kết trong bảng con thì từ chối xóa bản ghi trong bảng cha.

