Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> SQL

Quản lý quan hệ nhiều-nhiều (Managing Many-to-Many relationship)


Quan hệ nhiều-nhiều ngụ ý nhiều mối quan hệ giữa hai thực thể bất kỳ. Ví dụ: Một lớp có nhiều sinh viên nhưng một sinh viên cũng tham gia nhiều lớp. Đây là quan hệ nhiều-nhiều giữa thực thể SINH_VIÊN (STUDENT) và LỚP (CLASS).

Việc quản lý quan hệ nhiều-nhiều phức tạp. Chúng ta không thể liệt kê tất cả lớp một sinh viên tham gia hoặc tất cả sinh viên trong một lớp trong một bảng. Điều đó trở nên cực kỳ phức tạp và khó hiểu.

Vì vậy, chúng ta dùng bảng nối (joining table). Minh họa như sau:

Bảng Sinh viên lưu chi tiết cá nhân như Student_ID, tên, tuổi, v.v.

<Student>

Student_ID Student_Name Student_Age
1 Amit 27
2 Tom 23
3 Jack 32

Bảng Lớp lưu chi tiết các lớp như Class_ID, Tên, v.v.

<Class>

Class_ID Class_Name
10 Tiếng Anh
20 Tiếng Việt
30 Toán học

Bảng <StudentClass> là liên kết giữa <Student> và <Class>. Nó lưu chi tiết sinh viên nào tham gia lớp nào.

<StudentClass>

Student_ID Class_ID
1 10
1 20
2 10
2 30
3 10

Sử dụng bảng này, chúng ta thể hiện quan hệ nhiều-nhiều giữa <Student> và <Class>. Chúng ta có thể dễ dàng cập nhật bảng Student và Class mà không can thiệp vào quan hệ giữa chúng và cũng cập nhật <StudentClass> khi cần.