모두CBT

다음 ERD(entity-relationship diagram)에 대응… | [7급 국가직 데이터베이스론] 23년 1회차 기출문제 상세 페이지

1[7급 국가직 데이터베이스론] 23년 1회차
다음 ERD(entity-relationship diagram)에 대응하는 보고 테이블을 생성하고자 한다. 보고 테이블을 생성하는 SQL문의 (가)에 들어갈 내용으로 옳은 것은? (단, 밑줄 친 속성은 기본 키이고, 직원 개체(entity)는 테이블로 생성되어 있다고 가정한다)

CREATE TABLE 보고(
상급자_사번 CHAR(10),
하급자_사번 CHAR(10),
(가)
);

문제 이미지
1
PRIMARY KEY (상급자_사번, 하급자_사번),
FOREIGN KEY (상급자_사번) REFERENCES 직원(사번),
FOREIGN KEY (하급자_사번) REFERENCES 직원(사번)
2
PRIMARY KEY (상급자_사번),
FOREIGN KEY (상급자_사번) REFERENCES 직원(사번),
FOREIGN KEY (하급자_사번) REFERENCES 직원(사번)
3
PRIMARY KEY (상급자_사번, 하급자_사번),
FOREIGN KEY (상급자_사번, 하급자_사번)
REFERENCES 직원(사번)
4
PRIMARY KEY (하급자_사번),
FOREIGN KEY (하급자_사번) REFERENCES 직원(사번)
해설

직원 개체의 M:N 순환 관계 보고는 두 사번을 묶은 복합 기본 키와 각 사번별로 따로 선언한 외래 키 2개로 테이블을 만든다.

M:N 관계는 한 상급자가 여러 하급자를, 한 하급자가 여러 상급자를 가질 수 있으므로 어느 한쪽 사번만으로는 행을 식별할 수 없다. 또 상급자_사번과 하급자_사번은 각각 직원(사번)이라는 단일 속성을 참조하므로 외래 키도 하나씩 따로 정의해야 한다.

  • 기본 키를 상급자_사번 하나로 두면 한 상급자가 여러 하급자를 둘 때 키가 중복되어 M:N 관계를 표현할 수 없다.
  • 두 속성을 묶어 직원(사번)을 참조하는 외래 키는 2개 열을 1개 열에 대응시키는 것이라 참조 대상의 키 구성과 맞지 않는다.
  • 기본 키를 하급자_사번 하나로 두고 외래 키도 하급자만 두면 1:N 관계가 되고 상급자 쪽 참조 무결성도 빠진다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[7급 국가직 데이터베이스론] 23년 1회차 25문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요7급 국가직 데이터베이스론 기출문제 암기장 전체 보기