728x90
728x90

이번 SQL 응용 테스트에서는 절차형 SQL , 응용 SQL 작성능력을 테스트하는 것으로 40분간 20문항의 문제를 풀면 됩니다.


자바기반 앱개발 & 웹서비스 구축개발 :: 애플리케이션테스트 문제와 답

자바기반 앱개발 & 웹서비스 구축개발 :: 프로그래밍언어활용 문제와 답

자바기반 앱개발 & 웹서비스 구축개발 :: 애플리케이션 배포 문제와 답

자바기반 앱개발 & 웹서비스 구축개발 :: 데이터베이스 구현 문제와 답

자바기반 앱개발 & 웹서비스 구축개발 :: 응용소프트웨어기초기술활용 문제와 답

자바기반 앱개발 & 웹서비스 구축개발 :: SQL 활용 문제와 답

 


 

1.  다음 중 사용자에게 부여한 객체 권한을 객체 소유자로부터 철회하기 위한 명령어는? (예: madang이라는 사용자가 book 테이블에 select 권한을 철회한다)

1) revoke
2) grant
3) drop role
4) delete authority

 

>> DB에 대한 관리자, 사용자 계정을 이해하고 데이터베이스 사용규칙에 따라 계정별 권한 설정 적용 가능 여부 확인

답 : 1


 

 

 

 

2. 아래 그림과 같은 뷰에 bookprice라는 속성을 추가시켜 뷰를 수정하기 위한 명령어는?

뷰  Vorders

ORDERID CUSTID NAME BOOKID BOOKNAME SALEPRICE ORDERDATE
1 1 박지성 1 축구의 역사 6000 14/07/01
6 1 박지성 2 축구아는 여자 12000 14/07/07
2 1 박지성 3 축구의 이해 21000 14/07/03
3 2 김연아 5 피겨 교본 8000 14/07/03

1) drop view
2) alter view
3) create view
4) create or replace view

 

>> 물리 데이터베이스 설계에 따라 데이터베이스 오브젝트를 생성하기 위한 DDL을 작성할 수 있고 생성된 오브젝트에 대한 유효성 여부 검사가 가능한 지 확인한다.

답 : 2

 

 

 

 

 

3. 인덱스 ix_book 을 재생성하는 SQL문장을 작성하시오.

                                                                                         

>> 테이블, 인덱스, 제약조건을 이해하고 데이터베이스 설계에 따라 설치된 DBMS (Data Base Management System)에 적합한 오브젝트 생성 계획을 수립할 수 있는지 확인한다.

alter index ix_book rebuild;

 

 

 

 

4. 아래의 SQL 구문은 도서를 주문하지 않은 고객의 이름을 보이기 위한 MS-SQL 구문이다. 오라클에 사용하기 위해서는 EXCEPT 키워드를 바꿔야 한다. 다음 중 무엇으로 바꿔야 하나?

SELECT name
FROM Customer
EXCEPT
SELECT name
FROM Customer
WHERE custid IN (SELECT custid
			FROM Orders);

1) without
2) intersect
3) union
4) minus

 

>> 다양한 DBMS 의 응용 SQL을 이해하고, 각 시스템에 맞는 응용 SQL을 작성할 수 있는지 확인한다.

답 : 4

 

 

 

 

5. 아래 그림 3개의 릴레이션이 나타낸다. 여기에 속도가 겁나 빠르다고 알려진 UNIQUE INDEX를 걸어보려고 한다. 다음 중 UNIQUE INDEX를 걸기에 적합하지 않은 속성은?

 

1) O의 ORDERID
2) O의 CUSTID
3) CCUSTID
4) B BOOKID
5) 모두 괜찮아 보인다.

 

>> 테이블, 인덱스, 제약조건을 이해하고 데이터베이스 설계에 따라 설치된 DBMS(Data Base Management System)에 적합한 오브젝트 생성 계획을 수립할 수 있는지 확인한다.

답 : 2

 

 

 

 

6. 아래 그림은 릴레이션의 관계를 나타낸다. Orders 릴레이션 있는 CUSTID 와 BOOKID는 BOOK 릴레이션과 Customer 릴레이션의 기본키(primary key)를 참조(reference)하여 무결성을 보장하기 위해 만들어졌다. 이와 같은 키(key)를 무엇이라고 하는가?

1) 슈퍼키
2) 외래키
3) 후보키
4) 대체키

>> 테이블, 인덱스, 제약조건을 이해하고 데이터베이스 설계에 따라 설치된 DBMS(Data Base Management System)에 적합한 오브젝트 생성 계획을 수립할 수 있는지 확인한다.

답 : 2

 

 

 

 

7. 아래 그림과 같이 3개의 테이블이 있다. 외부 조인을 사용하여 아래 질문의 답을 구하기 위한 SQL 문을 작성하시오.

 

도서를 구매하지 않은 고객을 포함하여 고객의 이름과 고객이 주문한 도서의 판매가격을 구하시오.

SQL 문 ->                                                                                          

 

>>  물리 데이터베이스의 설계에 따라 데이터베이스 오브젝트를 처리하기 위한 DML을 작성할 수 있고 오브젝트를 활용하여 구하고자하는 레코드를 산출할 수 있는지 확인한다.

SELECT Customer.name, saleprice
FROM Customer LEFT OUTER JOIN
           Orders ON Customer.custid = Orders.custid;

 

 

 

8. 위의 테이블에 집합Group 연산과 집계연산을 활용하여, 다음의 질문에 답을 구하기 위한 SQL문을 작성하여라.

판매가격(saleprice)이 8000원 이상인 도서를 2권이상 구매한 고객의 고객아이디와 도서수량을 구하여라.

SQL 문 ->                                                                                          

 

>>  물리 데이터베이스의 설계에 따라 데이터베이스 오브젝트를 처리하기 위한 DML을 작성할 수 있고 오브젝트를 활용하여 구하고자하는 레코드를 산출할 수 있는 지 확인한다.

SELECT custid, COUNT(*) AS 도서수량
FROM Orders
WHERE saleprice >= 8000
GROUP BY custid
HAVING COUNT(*) >=2;

 

 

 

9. 다음 인덱스 사용을 중지하는 SQL 문장은?
1) ALTER INDEX IDX_EMP_ENAME MONITORING USAGE;
2) ALTER INDEX IDX_EMP_ENAME NOMONITORING USAGE; 
3) ALTER INDEX IDX_EMP_ENAME VISIBLE;
4) ALTER INDEX IDX_EMP_ENAME INVISIBLE;

>> 테이블, 인덱스, 제약조건을 이해하고 데이터베이스 설계에 따라 설치된 DBMS 에 적합한 오브젝트 생성 계획을 수립할 수 있는 지 확인한다. 답 : 4

 

 

 

 

10. 어떤 테이블이 있다. 속성 중에는 '사람이름'들이 있다. 가나다 순으로 정렬해서 보고 싶다. 그런데 sql 문장에서 정렬을 하기 위해서 쓰이는 order by 구문은 속도가 무지 느리다고 한다. 다행이도 '사람이름' 속성에 인덱스가 걸려있다고 한다. order by 구문을 쓰지않고 정렬하는 방법을 SQL 문장의 예시와 함께 간략히 설명을 기술하시오.

 

 

>> 테이블, 인덱스, 제약조건을 이해하고 데이터베이스 설계에 따라 설치된 DBMS 에 적합한 오브젝트 생성 계획을 수립할 수 있는 지 확인한다. 답 : SELECT /*+ index (emp idx_emp_sal) */ ename FROM emp WHERE ename >'0';

 

 

 

11.  다음 중 PL/SQL 의 기본 구조에 포함되지 않는 구성부는?

1) 선언부 (Declare)
2) 정의부 (Define)
3) 실행부 (Begin)
4) 예외처리부 (Exception)

>> 물리 데이터베이스의 설계에 따라 데이터베이스 오브젝트를 생성하기 위한 DDL을 작성할 수 있고 생성된 오브젝트에 대한 유효성 여부를 검사할 수 있는 지 확인한다. 답: 2

출처 ; 갓대희님 https://goddaehee.tistory.com/99

 

 

12. 아래의 그림을 간략하게 설명해보시오.

>> 테이블, 인덱스, 제약조건을 이해하고 데이터베이스 설계에 따라 설치된 DBMS 에 적합한 오브젝트 생성 계획을 수립할 수 있는 지 확인한다. 답 : PL/SQL 블록의 구문이 입력되면, 처리 시 PL/SQL 엔진과 데이터베이스 엔진에서 각각 구분하여 처리한다.

 

 

 

13. 다음 중 SQL 구문 밖의 SQL 영역에서 사용하기 위한 변수를 선언한 것은 무엇인가?

1) VARIABLE v_temp NUMBER;
2) v_temp VARCHAR2(20);
3) TYPE r_type IS RECORD (...); v_temp r_type;
4) v_temp pl_emp%ROWTYPE;

>> [절차형 SQL 작성하기] 테이블, 인덱스, 제약조건을 이해하고 데이터베이스 설계에 따라 설치된 DBMS 에 적합한 오브젝트 생성 계획을 수립할 수 있는 지 확인한다. 답 : 1

 

 

 

 

14. 다음 중 PL/SQL 연산자와 그 설명으로 올바른 것은?

1) || -  논리값을 OR 하는 연산이다. 둘 중에 하나라도 참이면 결과값이 참이다.
2) ^ - 제곱 연산을 나타낸다. pow()메소드와 역할이 같다.
3) := - 대입, 배정, 할당 연산으로 우변 항의 값을 좌변 항에 넣는 역할을 한다.
4) <> - 논리 연산자로서 비교값이 NULL과 같지 않을 때 결과값이 참이다.

 

>> 테이블, 인덱스, 제약조건을 이해하고 데이터베이스 설계에 따라 설치된 DBMS 에 적합한 오브젝트 생성 계획을 수립할 수 있는 지 확인한다. PL/SQL 블록에서는 모든 SQL 연산자를 사용할 수 있으며, 연산자 우선순위는 다음과 같다. (아래 사진 참조)

: 3  (:=은 할당)

출처 : https://thebook.io/006696/part02/ch08/02/03/

 

 

 

 

15. 아래 PL/SQL 의 제어문에 대한 설명과 거리가 먼 것은?

DECLARE
	no1 NUMBER :=0;
BEGIN
	LOOP
		DBMS_OUTPUT.PUT_LINE(no1);
		no1 := no1 + 1;
		EXIT WHEN no1>5;
	END LOOP;
 END;
 /

 

1) Java언어의 do~while문과 동일한 특징을 가진다.
2) 반복 횟수를 모를 경우 사용된다.
3) 조건에 따른 분기(branch) 문으로서, 비슷한 성질의 for문이 있다.
4) no1>5 구문은 종료 조건을 나타낸다.

>> 물리 데이터베이스의 설계에 따라 데이터베이스 오브젝트를 생성하기 위한 DDL을 작성할 수 있고 생성된 오브젝트에 대한 유효성 여부를 검사할 수 있는 지 확인한다. 답: 3

 

 

 

16. 미리 정의되어 있는 오라클 예외들 중 예외명 : DUP_VAL_ON_INDEX 는 어떤 경우에 발생되는가?

1) 문자를 숫자로 변환 시 실패했을 때
2) select 문이 두 건이상의 행을 리턴했을 때
3) 잘못된 커서 조작이 실행될 때
4) 유일 인덱스에 중복 값을 입력했을 경우

>> 테이블, 인덱스, 제약조건을 이해하고 데이터베이스 설계에 따라 설치된 DBMS 에 적합한 오브젝트 생성 계획을 수립할 수 있는 지 확인한다.   : 4

 

 

 

 

17.  아래 그림에서 &id에 대한 설명으로 적합한 것은?

SET serveroutput ON; -- 결과값을 화면에 출력하기 위해서 사용합니다.
DECLARE
	v_empid employees.employee_id%TYPE;
	v_salary employees.salary%TYPE;
BEGIN
	SELECT empoyee_id, salary INTO v_empid, v_salary
	FROM employees
	WHERE employee_id = &id;

	DBMS_OUTPUT.PUT_LINE(v_empid ||' == '||v_salary);
END;
/

 

1) id 변수의 주소(address) 값을 의미한다.
2) 단지 사용자로부터 값을 입력받는 역할을 한다.
3) 비 PL/SQL 변수를 바인드한다.
4) 프로시저의 매개변수로서 중개역할을 한다.

>> 물리 데이터베이스의 설계에 따라 데이터베이스 오브젝트를 생성하기 위한 DDL을 작성할 수 있고 생성된 오브젝트에 대한 유효성 여부를 검사할 수 있는 지 확인한다. 답: 2

 

 

 

 

18. 아래 그림과 같이 up_sal 이라는 프로시저를 작성하였다. 10라인에서 이 프로시저를 사용하기 위한 코드를 작성하고자 한다. 알맞은 것은?

CREATE OR REPLACE PROCEDURE up_sal
(vempid employees.employee_id%TYPE)
IS
	BEGIN
		UPDATE employees SET salary =5000
		WHERE employee_id=vempid;
	END;
/


SELECT employee_id, salary FROM employees
WHERE employee_id=206;

 

1)   PROCEDURE upsal(206)
2)  RUN upsal(206)
3)  upsal(206)
4)  EXEC upsal(206)



>> 물리 데이터베이스의 설계에 따라 데이터베이스 오브젝트를 생성하기 위한 DDL을 작성할 수 있고 생성된 오브젝트에 대한 유효성 여부를 검사할 수 있는 지 확인한다. 답: 3

 

 

 

 

19.  다음과 같은 상황에서 필요한 기능은 무엇인가?

각종 센서 정보값(센서ID, 온도, 습도, 미세먼지, 현재시간)을 저장하는 <센서 정보> 테이블이 있다. 센서로부터 값이 수집될 때마다 이 테이블은 업데이트 쿼리를 실행한다. 값을 갱신한다는 뜻이다. 문제는 값이 갱신되어서 이력이 없다는 것이다. 그래서 <센서 정보 이력> 테이블을 만들어서, <센서 정보> 테이블에 업데이트 쿼리를 수행할 때마다, 자동으로 <센서 정보 이력> 테이블에 값을 입력시켜 누적 시키고자 한다.


1) trigger
2) sequence
3) package
4) function

 

>> 테이블, 인덱스, 제약조건을 이해하고 데이터베이스 설계에 따라 설치된 DBMS 에 적합한 오브젝트 생성 계획을 수립할 수 있는지 확인한다. 답: 1

 

 

 

 

20. PL/SQL 의 프로시저와 함수의  mode에 대한 설명으로 알맞지 않은 것은?

1) IN 모드 : 사용자 --> 프로시저, 함수로 전달 입력
2) OUT 모드 : 프로시저, 함수 -->  호출환경(SQL 클라이어트)로 출력
3) IN OUT 모드 : 사용자로부터 입력, 호출환경(SQL 클라이어트)로 출력 모두 가능
4) NOT IN OUT 모드 : 사용자 입력, 호출환경(SQL 클라이어트)로 출력 모두 불가, 프로시저, 함수 내부 출력 가능

>> 물리 데이터베이스의 설계에 따라 데이터베이스 오브젝트를 생성하기 위한 DDL을 작성할 수 있고 생성된 오브젝트에 대한 유효성 여부를 검사할 수 있는 지 확인한다. 답: 4

 

728x90
728x90
블로그 이미지

coding-restaurant

코딩 맛집에 방문해주셔서 감사합니다.

,

v