모두CBT

기본키가 EMP_ID인 두 테이블 EMP1(EMP_ID, NAME, S… | [7급 국가직 데이터베이스론] 26년 1회차 기출문제 상세 페이지

1[7급 국가직 데이터베이스론] 26년 1회차
기본키가 EMP_ID인 두 테이블 EMP1(EMP_ID, NAME, SALARY), EMP2(EMP_ID, ADDRESS)에 대하여 사용자 A1이 다음 순서대로 모두 수행하고 ‘순서 5’의 실행 결과가 다음과 같을 때, 옳은 설명은? (단, EMP_ID, NAME, SALARY의 데이터 타입은 각각 정수형, 문자열, 정수형이다)
순서A1이 수행한 SQL 문
1CREATE VIEW EMP_VIEW1 AS SELECT * FROM EMP1 WHERE SALARY>1000 WITH CHECK OPTION;
2CREATE VIEW EMP_VIEW2 AS SELECT NAME, ADDRESS FROM EMP1, EMP2 WHERE EMP1.EMP_ID = EMP2.EMP_ID;
3GRANT SELECT, INSERT ON EMP_VIEW1 TO A2;
4GRANT SELECT, INSERT ON EMP_VIEW2 TO A2;
5SELECT * FROM EMP_VIEW1;
<순서 5의 실행 결과>
EMP_IDNAMESALARY
1001홍길동1200
1002이순신1500
1003신윤복1100
1
EMP1에 EMP_ID가 1004인 투플이 없을 때, A2는 EMP_VIEW1을 통해 EMP1에 새로운 투플 ‘(1004, “강감찬”, 1000)’을 삽입할 수 있다.
2
A2는 EMP_VIEW1을 통해 SALARY의 합계를 출력하는 SQL 문을 실행할 수 없다.
3
A2는 EMP_VIEW2에 새로운 투플을 삽입할 수 없다.
4
A1은 EMP_VIEW1에 대한 DELETE 권한을 A2에 부여할 수 없다.
해설

EMP_VIEW2는 두 테이블을 조인하고 기본키 EMP_ID를 포함하지 않으므로, A2는 이 뷰에 새 투플을 삽입할 수 없다.

조인 뷰에 삽입하면 EMP1·EMP2 중 어디에 어떤 키로 넣을지 정할 수 없고, 기본키가 빠져 개체 무결성도 만족시킬 수 없다.

  • EMP_VIEW1은 WITH CHECK OPTION이 있어 SALARY가 1000을 넘지 않는 (1004, 강감찬, 1000) 삽입은 거부된다.
  • A2는 EMP_VIEW1에 SELECT 권한이 있으므로 SUM(SALARY) 같은 집계 조회를 실행할 수 있다.
  • EMP_VIEW1은 단일 테이블 기반의 갱신 가능 뷰이고 A1이 뷰의 소유자이므로, SELECT·INSERT처럼 DELETE 권한도 A2에게 부여할 수 있다.

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

이어서 풀어보기

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