다대다 조인
관계에서 생긴 값은 중간 테이블에 둔다
students와 courses를 직접 붙이지 않고 enrollments가 수강 사실과
성적을 한 행으로 기록한다.
조인 경로
students.id = enrollments.student_id
enrollments.course_id = courses.id
students
student_id
student_name
학생 자체의 속성
enrollments
student_id, course_id
semester, grade
수강 관계의 속성
courses
course_id
course_name
과목 자체의 속성
| 축 | 책임 | 조회 의미 |
|---|---|---|
| 학생 | 이름과 식별자를 보관 | 한 학생이 여러 수강 기록을 가질 수 있음 |
| 수강 | 학생, 과목, 학기, 성적을 연결 | 관계 자체가 결과 행 하나가 됨 |
| 과목 | 과목명과 분류를 보관 | 한 과목에 여러 학생 기록이 붙음 |
중복 방지student_id, course_id, semester 유니크 검토
관계 속성grade처럼 연결에서 생긴 값은 중간에 배치
조회 순서도메인, 관계, 분류를 차례로 결합