혼합 수강 테이블
중복 사실
학번
학생명
과목코드
과목명
교수
학점
성적
S01
김민수
C10
DB
이교수
3
A
S02
이서연
C10
DB
이교수
3
A-
S03
최지훈
C10
DB
김교수?
3
B
S04
박하준
C20
자료구조
박교수
3
B+
C10의 과목명, 교수, 학점은 과목 사실인데 수강 행마다 반복된다. 반복된 사실 하나가 어긋나면 테이블은 곧바로 모순을 품는다.
행 작업이 깨지는 세 지점
무결성 위험
새 과목 C30은 학생 없이 넣을 자리가 없다
키가 학번과 과목코드라면 수강생이 생기기 전 과목만 등록하기 어렵다.
S04 수강 행을 지우면 C20 과목 정보도 함께 사라진다
삭제 의도는 수강 취소인데, 마지막 행이면 과목 사실까지 잃는다.
C10 담당 교수를 바꿀 때 모든 반복 행을 맞춰야 한다
한 행만 놓치면 같은 과목이 두 명의 교수를 가진 것처럼 보인다.