다음은 교수와 학생의 관계를 나타낸 E-R 다이어그램이다. 이를 기준으… | [7급 국가직 데이터베이스론] 26년 1회차 기출문제 상세 페이지
1[7급 국가직 데이터베이스론] 26년 1회차
다음은 교수와 학생의 관계를 나타낸 E-R 다이어그램이다. 이를 기준으로 ‘교수’와 ‘학생’ 테이블을 생성하였을 때 옳은 것만을 모두 고르면? (단, ‘교수번호’와 ‘학번’은 기본키이고, ‘지도교수번호’는 학생의 지도교수 정보로, ‘교수번호’를 참조하는 외래키이다)ㄱ. 기존 다른 학생과 동일한 지도교수번호를 갖는 새로운 학생 정보를 ‘학생’ 테이블에 삽입할 수 있다.
ㄴ. ‘학생’ 테이블의 ‘지도교수번호’ 속성에 없는 번호를 교수번호로 갖는 새로운 교수 정보를 ‘교수’ 테이블에 삽입할 수 있다.
ㄷ. ‘지도교수번호’가 NULL인 새로운 학생 정보를 ‘학생’ 테이블에 삽입할 수 있다.
ㄹ. ‘교수’와 ‘학생’ 테이블로부터 지도 학생이 없는 교수의 ‘교수번호’를 출력할 수 있다.
1
ㄱ, ㄴ
2
ㄱ, ㄹ
3
ㄴ, ㄷ
4
ㄴ, ㄹ
해설
E-R 다이어그램의 '지도' 관계는 교수와 학생이 1:1이고, 학생 쪽이 이중선이므로 학생은 지도 관계에 전체 참여한다. 따라서 옳은 것은 새 교수 삽입과 지도 학생 없는 교수 조회 두 진술이다.
1:1 관계이므로 한 교수는 최대 한 명의 학생만 지도할 수 있어 '지도교수번호'는 학생 테이블에서 중복될 수 없고(UNIQUE), 전체 참여이므로 모든 학생은 지도교수를 가져야 해 NULL이 허용되지 않는다(NOT NULL). 반면 교수 쪽은 단일선(부분 참여)이라 지도 학생이 없는 교수가 존재할 수 있다.
- 기존 학생과 같은 지도교수번호를 가진 학생 삽입: 1:1 관계에 따른 유일성 제약을 위반하므로 삽입할 수 없다.
- 학생의 지도교수번호에 없는 번호를 가진 교수 삽입: 교수는 부분 참여이고 교수 테이블은 다른 테이블을 참조하지 않으므로 삽입할 수 있다.
- 지도교수번호가 NULL인 학생 삽입: 학생의 전체 참여 제약을 위반하므로 삽입할 수 없다.
- 지도 학생이 없는 교수의 교수번호 출력: 교수 테이블의 교수번호에서 학생 테이블의 지도교수번호를 차집합(NOT IN, 외부조인)으로 빼면 구할 수 있다.
오류나 개정된 내용이 보이면 알려주세요
