수강 관계를 기록하는 행 안에 학생 사실과 과목 사실이 같이 들어가면, 같은 값이 여러 행으로 퍼져 나갑니다.
| 학번 | 이름 | 과목명 | 교수 | 학과 |
|---|---|---|---|---|
| 1001 | 김철수 | DB | 이교수 | 컴공 |
| 1001 | 김철수 | 알고리즘 | 박교수 | 컴공 |
| 1002 | 이영희 | DB | 이교수 | 전자 |
| 1003 | 박민수 | OS | 최교수 | 컴공 |
1001 · 김철수 · 컴공은 김철수가 수강한 과목 수만큼 다시 저장됩니다.
DB · 이교수는 DB를 듣는 학생 수만큼 다시 저장됩니다.
김철수가 두 과목을 수강하자, 수강 관계만 늘어난 것이 아니라 이름과 학과까지 두 행에 반복됩니다.
DB 수강생이 두 명이 되자, 과목명과 담당 교수 정보가 두 행에 반복됩니다.
이 테이블의 각 행은 단순한 수강 기록이 아니라 학생 정보 + 과목 정보의 복사본까지 품고 있습니다. 그래서 한 행의 삽입, 삭제, 수정이 다음 절의 삽입 이상·삭제 이상·갱신 이상으로 이어집니다.