Bad Table

한 테이블이 여러 주제를 동시에 책임질 때

학생, 과목, 수강 결과가 한 행에 섞이면 행을 추가·수정·삭제할 때 서로 다른 사실이 함께 흔들린다.

원본 행
학생 사실
과목 사실
학번학생명과목코드과목명교수학점성적
S01김민수C10DB이교수3A
S01김민수C20운영체제박교수3B+
S02이서연C10DB이교수3A-
학생 정보

학번이 학생명과 학생 소속 정보를 결정한다.

과목 정보

과목코드가 과목명, 교수, 학점을 결정한다.

수강 정보

학번과 과목코드의 조합이 성적을 결정한다.

예시는 한 학생이 같은 과목을 한 번만 수강한다고 단순화했다. 실제 설계에서는 학기와 분반까지 키에 넣는 경우가 많다.