다대다 관계 조인

M:N 관계는 중간 테이블이 두 개의 1:N 관계로 풀어 줍니다.

학생은 여러 과목을 듣고, 과목에는 여러 학생이 있습니다. 이 관계 자체와 관계에서 생긴 속성은 enrollments에 둡니다.

students

기준
idstudent_name
1김학생
2이학생

enrollments

관계
studentcoursegrade
110A
120B+
210A-

courses

기준
idcourse_name
10데이터베이스
20운영체제
왜 필요?

학생과 과목을 서로의 테이블에 배열처럼 넣지 않습니다.

무엇을 저장?

관계 속성인 학기, 성적, 수강일은 중간 테이블에 둡니다.

어떻게 조회?

students → enrollments → courses 순서로 JOIN합니다.