데이터베이스 기초
수강 표(학생번호, 과목번호, 성적)는 어느 학생이 어느 과목을 수강하여 어떤 성적을 받았는지를 기록한다. 한 학생은 여러 과목을 수강하고, 한 과목은 여러 학생이 수강한다. 같은 학생이 같은 과목을 두 번 등록하는 일은 없을 때, 이 표의 기본 키로 적절한 것은?
- A학생번호
- B과목번호
- C학생번호와 과목번호의 조합
정답과 해설 보기
정답: C. 학생번호와 과목번호의 조합
한 학생이 여러 과목을 수강하므로 학생번호만으로는 같은 값의 행이 여러 개 생겨 행을 유일하게 식별할 수 없습니다. 마찬가지로 한 과목을 여러 학생이 수강하므로 과목번호만으로도 유일하지 않습니다. 학생번호와 과목번호를 조합하면, 같은 학생이 같은 과목을 두 번 등록하지 않는다는 조건에 따라 한 행이 유일하게 정해집니다. 이처럼 여러 열을 조합한 기본 키를 복합 키(연결 키)라고 하며, SQL에서는 PRIMARY KEY (학생번호, 과목번호)처럼 열을 나열하여 지정합니다. 수강 표의 학생번호와 과목번호는 각각 학생 표와 과목 표의 기본 키를 참조하는 외래 키도 되며, 이 표는 학생과 과목의 다대다 관계를 나타내고 있습니다.