Academic ERD

학사 ERD는 수강 테이블이 학생과 과목의 M:N을 해소한다

학생은 여러 과목을 듣고, 과목은 여러 학생을 가진다. 이 다대다 관계는 Enrollment를 중앙에 둔 관계로 풀어야 성적과 수강 학기를 저장할 수 있다.

StudentPK student_id
name학생명dept_idFK Department
EnrollmentPK student_id + course_id + term
student_idFK Studentcourse_idFK Coursegrade성적
DepartmentPK dept_id
name학과명office위치
CoursePK course_id
title과목명professor_idFK Professor
관계읽는 방법테이블 변환
Student -> Enrollment학생 한 명은 여러 수강 기록을 가진다.Enrollment.student_id FK
Course -> Enrollment과목 하나는 여러 수강 기록에 등장한다.Enrollment.course_id FK
Enrollment수강 학기와 성적은 관계 자체의 속성이다.복합 PK 또는 surrogate key + UNIQUE
중앙 테이블다대다를 직접 선으로 두지 말고 관계 테이블로 승격한다.
관계 속성성적, 학기, 수강상태는 Enrollment에 둔다.
이름 보존Enrollment 라벨은 줄분리 없이 읽혀야 한다.

M:N 관계를 해소하면 ERD의 선이 실제 FK와 UNIQUE 제약으로 바로 이어진다.