고객(고객번호, 고객이름, 나이, 등급, 직업, 적립금) 테이블에 대하… | [7급 국가직 데이터베이스론] 25년 1회차 기출문제 상세 페이지
1[7급 국가직 데이터베이스론] 25년 1회차
고객(고객번호, 고객이름, 나이, 등급, 직업, 적립금) 테이블에 대하여 다음과 같이 4개의 뷰를 생성하였을 때, 데이터 삽입이 가능한 뷰는? (단, 밑줄 속성은 기본키이며, 기본키 이외에 NOT NULL 속성은 없다)CREATE VIEW 고객1(번호, 이름, 등급)
AS SELECT DISTINCT 고객번호, 고객이름, 등급
FROM 고객
WHERE 적립금 > 20000;
CREATE VIEW 고객2(고객이름, 등급, 적립금)
AS SELECT 고객이름, 등급, 적립금
FROM 고객
WHERE 직업 = '학생';
CREATE VIEW 고객3(등급, 평균나이)
AS SELECT 등급, AVG(나이) AS 평균나이
FROM 고객
GROUP BY 등급;
CREATE VIEW 고객4
AS SELECT 고객번호, 고객이름, 직업, 적립금
FROM 고객
WHERE 나이 >= 30 AND 등급 = 'GOLD';
1
고객1
2
고객2
3
고객3
4
고객4
해설
데이터 삽입이 가능한 뷰는 고객4이다.
고객4는 단일 테이블에서 기본키 고객번호를 포함해 속성을 그대로 선택했으므로, 뷰에 없는 나이·등급은 NULL로 채워 기본 테이블에 삽입할 수 있다(WITH CHECK OPTION이 없어 WHERE 조건도 삽입을 막지 않는다).
- 고객1: DISTINCT를 사용해 뷰 행과 기본 테이블 행이 일대일로 대응하지 않아 삽입할 수 없다.
- 고객2: 기본키 고객번호가 빠져 있어 삽입하면 기본키가 NULL이 되므로 거부된다.
- 고객3: GROUP BY와 집계 함수로 만든 값이라 기본 테이블의 행에 대응시킬 수 없다.
오류나 개정된 내용이 보이면 알려주세요
이어서 풀어보기
[7급 국가직 데이터베이스론] 25년 1회차 25문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요비슷한 기출
- student테이블에서컴퓨터과학생50명,인터넷과학생100명,사무자동화과학생50명의정보가저장되어있을때,다음sql문의실행결과에따른튜플의수는?(단,dept칼럼은학과명이2020년 정보처리기사실기 1회차
- 다음sql실행결과를숫자만쓰시오. selectcount(*)from급여 whereempno>100andsal>=3000orempno=200; 답:12021년 정보처리기사실기 1회차
- 다음[조건]에부합하는sql문을작성하고자할때,[sql문]의빈칸에들어갈내용으로옳은것은?(단,'팀코드'및'이름'은속성이며,'직원'은테이블이다.) <imgwid22년-2회차-정보처리기사-필기