분해 전 수강 원장
PK 학번 + 과목코드| 학번 | 이름 | 학과 | 과목코드 | 과목명 | 교수 | 성적 |
|---|---|---|---|---|---|---|
| 1001 | 김철수 | 컴공 | C10 | DB | 이교수 | A |
| 1001 | 김철수 | 컴공 | C20 | 알고리즘 | 박교수 | B+ |
| 1002 | 이영희 | 전자 | C10 | DB | 이교수 | A- |
노란 강조는 과목코드만으로, 붉은 강조는 학번만으로 이미 정해지는 반복 값입니다.
수강 원장의 키는 `학번 + 과목코드`지만 이름·학과는 학번만, 과목명·교수는 과목코드만 보면 결정됩니다.
| 학번 | 이름 | 학과 | 과목코드 | 과목명 | 교수 | 성적 |
|---|---|---|---|---|---|---|
| 1001 | 김철수 | 컴공 | C10 | DB | 이교수 | A |
| 1001 | 김철수 | 컴공 | C20 | 알고리즘 | 박교수 | B+ |
| 1002 | 이영희 | 전자 | C10 | DB | 이교수 | A- |
노란 강조는 과목코드만으로, 붉은 강조는 학번만으로 이미 정해지는 반복 값입니다.
학번이 정하는 이름·학과는 학생당 한 번만 저장합니다.
과목코드가 정하는 과목명·교수도 과목당 한 번만 남깁니다.
수강 테이블에는 두 키가 함께 정하는 성적만 남습니다.
김철수의 학과 변경은 학생 테이블 한 행만 바꾸면 됩니다.
아직 수강생이 없는 과목도 과목 테이블에 먼저 등록할 수 있습니다.
마지막 수강 기록을 지워도 학생과 과목 정보는 남습니다.