2023 국가직7급 데이터베이스론 4번 해설 — 키
문제
다음 릴레이션에서 키에 대한 설명으로 옳지 않은 것은? (단, 밑줄 친 속성은 기본 키이고, 고객 릴레이션에서 주민등록번호 속성의 값은 중복되지 않는다)
- ① 고객 릴레이션에서 고객ID, 주민등록번호, (고객ID, 고객이름)의 쌍, (고객이름, 주민등록번호)의 쌍은 슈퍼 키가 될 수 있다
- ② 고객 릴레이션에서 추천고객 속성은 자신의 고객ID 속성을 참조하는 외래 키로 정의가 가능하며, NULL 값을 가질 수 있다
- ③ 주문 릴레이션의 주문고객 속성을 고객 릴레이션의 고객ID에 대한 외래 키로 정의할 때, 주문고객의 값으로 'S254'를 가질 수 있다 ← 정답
- ④ 고객 릴레이션에서 고객ID, 주민등록번호는 후보 키가 될 수 있으나, (고객ID, 고객이름)의 쌍은 후보 키가 될 수 없다
선지별 해설
① 고객 릴레이션에서 고객ID, 주민등록번호, (고객ID, 고객이름)의 쌍, (고객이름, 주민등록번호)의 쌍은 슈퍼 키가 될 수 있다
이 선지 진술은 옳음(O)
고객ID와 주민등록번호는 각각 유일하므로 이를 포함하는 속성 집합은 모두 유일성을 만족하여 슈퍼 키가 된다. 따라서 옳은 설명이다.
② 고객 릴레이션에서 추천고객 속성은 자신의 고객ID 속성을 참조하는 외래 키로 정의가 가능하며, NULL 값을 가질 수 있다
이 선지 진술은 옳음(O)
자기 자신을 참조하는 외래 키(순환 참조)가 가능하며, 외래 키는 기본 키와 달리 NULL 값을 허용할 수 있다. 옳은 설명이다.
③ 주문 릴레이션의 주문고객 속성을 고객 릴레이션의 고객ID에 대한 외래 키로 정의할 때, 주문고객의 값으로 'S254'를 가질 수 있다
이 선지 진술은 틀림(X)
외래 키 값은 참조되는 릴레이션의 기본 키 값 중 하나이거나 NULL이어야 한다. 고객 릴레이션에 존재하지 않는 'S254'를 가질 수 없으므로 옳지 않은 설명이다.
④ 고객 릴레이션에서 고객ID, 주민등록번호는 후보 키가 될 수 있으나, (고객ID, 고객이름)의 쌍은 후보 키가 될 수 없다
이 선지 진술은 옳음(O)
고객ID, 주민등록번호는 각각 유일하여 후보 키가 되지만, (고객ID, 고객이름)은 고객ID만으로 유일성을 만족하므로 최소성을 위배해 후보 키가 될 수 없다. 옳은 설명이다.
핵심 요약 (Q&A)
- Q. 2023 국가직7급 데이터베이스론 4번의 핵심 쟁점은 무엇인가?
- A. 2023 국가직7급 데이터베이스론 4번은 키에 관한 문항으로, "옳지 않은 것"을 고르는 문제입니다.
- Q. 2023 국가직7급 데이터베이스론 4번의 정답은?
- A. 정답은 ③번입니다. 외래 키 값은 참조되는 릴레이션의 기본 키 값 중 하나이거나 NULL이어야 한다. 고객 릴레이션에 존재하지 않는 'S254'를 가질 수 없으므로 옳지 않은 설명이다.