학생과 과목을 직접 M:N으로 연결
Student
M:N
Course
그림에서 예뻐 보이는 관계도 실제 테이블과 제약으로 바꾸면 문제가 드러난다. 빠뜨린 관계 테이블, 선택 참여, 도메인 제약을 변환 단계에서 확인한다.
| 실수 | 테이블에서 보이는 신호 | 수정 |
|---|---|---|
| M:N 직접 연결 | 두 테이블 PK만으로는 관계 속성을 저장할 곳이 없음 | 연결 테이블 + 두 FK + 관계 속성 |
| 선택 참여 누락 | FK가 NULL인지 NOT NULL인지 결정되지 않음 | 참여 제약을 FK nullability로 표시 |
| 도메인 미정 | 상태, 등급, 수량에 아무 값이나 들어갈 수 있음 | CHECK, enum, 참조 테이블 검토 |
좋은 ERD는 그림에서 끝나지 않고 PK, FK, NULL, UNIQUE, CHECK로 검증 가능한 설계로 내려온다.