728x90
반응형

1. 업무에서 필요로 하는 인스턴스에서 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위를 무엇이라 하는가?

정답
속성(Attribute)
 

2. 아래 설명을 읽고 다음 에 들어갈 단어를 작성하시오.

첫번째, 데이터 모델링을 할 때 정규화를 정확하게 수행한다.
두번째, 데이터베이스 용량산정을 수행한다.
세번째, 데이터베이스에 발생되는 트랜잭션의 유형을 파악한다.
네번째, 용량과 트랜잭션의 유형에 따라 <         ㉠         >를 수행한다.
다섯번째, 이력모델의 조정, PK/FK조정, 슈퍼타입/서브타입 조정 등을 수행한다.
정답
반정규화(역정규화)
 

3. 아래 설명에서 데이터 액세스 성능을 향상시키기 위해 적용하는 방법에 대해서 을 채우시오.

하나의 테이블에 많은 양의 데이터가 저장되면 인덱스를 추가하고 데이블을 몇 개로 쪼개도 성능이 저하되는 겅우가 있다. 이때 논리적으로는 하나이 테이블이지만 물리적으로는 여러 개의 테이블로 분리하여 데이터 액세스 성능도 향상시키고, 데이터 관리방법도 개선할 수 있도록 테이블에 적용하는 기법을 <         ㉠         >이라고 한다.
정답
파티셔닝 기법(Partitioning)
 

4. 아래 내용에 해당하는 SQL 명령어의 종류를 작성하시오.

논리적인 작업의 단위를 묶어 DML에 의해 조작된 결과를 작업단위(Transaction)별로 제어하는 명령어인 Commit, Rollback, Savepoint 등이 여기에 해당하며, 일부에서는 DCL(Data Control Language)로 분류하기도 한다.
정답
TCL
 

5. 4개의 칼럼으로 이루어진 EMP 테이블에서 COMN 칼럼을 삭제하고자 할 때, 아래 SQL 문장의 ㉠, ㉡ 안에 들어갈 내용을 기술하시오.

<         ㉠         > TABLE EMP
<         ㉡         > COMN;
정답
㉠ : ALTER
㉡ : DROP COLUMN
 

6. STADIUM 테이블의 이름을 STADIUM_JSC로 변경하는 SQL을 작성하시오.(ANSI 표준 기준)

정답
RENAME STADIUM TO STADIUM_JSC
 

7. 아래의 고객지역 테이블을 대상으로 질의 결과와 같이 거주지와 근무지를 출력하고자 한다. 아래 SQL의 ㉠ 안에 들어갈 내용을 작성하시오.


[SQL]

SELECT <         ㉠         > 거주지, 근무지
FROM 고객지역;
정답
DISTINCT
 

8. 아래 내용의 ㉠, ㉡, ㉢에 해당하는 단어를 순서대로 작성하시오.

<         ㉠         >은 데이터베이스의 논리적 연산단위로서 밀접히 관련되어 분리될 수 없는 한 개 이상의 데이터베이스 조작을 가리킨다.<         ㉠         >의 종료를 위한 대표적 명령어로서는 데이터에 대한 변경사항을 데이터베이스에 영구적으로 반영하는 <         ㉡         >과 데이터에 대한 변경사항을 모두 폐기하고 변경전의 상태로 되돌리는 <                >이 있다.
정답
㉠ : 트랜잭션 또는 Transaction
㉡ : 커밋 또는 Commit
㉢ : 롤백 또는 Rollback
 

9. 아래의 상품 테이블의 데이터에 대하여 관리자가 아래와 같이 SQL문장을 실행하여 데이터를 변경하였다. 데이터 변경 후의 상품ID '001'의 최종 상품명을 작성하시오.

[테이블 : 상품]

상품ID 상품명
001 TV

[SQL]

BEGIN TRANSACTION;
SAVE TRANSACTION SP1;
UPDATE 상품 SET 상품명 = 'LCD-TV' WHERE 상품ID = '001';
SAVE TRANSACTION SP2;
UPDATE 상품 SET 상품명 = '평면-TV' WHERE 상품ID = '001';
ROLLBACK TRANSACTION SP2;
COMMIT; 
정답
LCD-TV
 

10. 아래의 에 들어갈 내용을 적으시오.

SQL을 사용하여 데이터베이스에서 데이터를 조회할 때 원하는 데이터만을 검색하기 위해서 SELECT, FROM 절과 함께 <         ㉠         >을(를) 이용하여 조회되는 데이터의 조건을 설정하여 데이터를 제한할 수 있다.
정답
WHERE 또는 WHERE 절
 

11. 아래는 SEARCHED_CASE_EXPRESSION SQL문장이다. 이때 사용된 SEARCHED_CASE_EXPRESSION은 SIMPLE_CASE_EXPRESSION을 이용해 똑같은 기능을 표현할 수 있다. 아래 SQL 문장의 안에 들어갈 표현을 작성시오. (스칼라 서브쿼리는 제외함)

[SEARCHED_CASE_EXPRESSION 문장 사례]
SELECT LOC,
       CASE WHEN LOC = 'NEW YORK' THEN 'EAST'
          ELSE 'ETC'
       END as AREA
FROM DEPT;

[SIMPLE_CASE_EXPRESSION 문장 사례]
SELECT LOC,
       CASE <         ㉠         >
          ELSE 'ETC'
       END as AREA
FROM DEPT;
정답
LOC WHEN 'NEW YORK' THEN 'EAST'
 

12. 사원 테이블에서 MGR의 값이 7698과 같으면 NULL을 표시하고, 같지 않으면 MGR을 표시 하려고 한다. 아래 SQL 문장의 안에 들어갈 함수명을 작성하시오.

SELECT ENAME, EMPNO, MGR, <         ㉠         > (MGR,7698) as NM
FROM EMP;
정답
NULLIF
 

13. 아래 각 함수에 대한 설명 중 ㉠, ㉡, ㉢에 들어갈 함수를 차례대로 작성하시오.

<         ㉠         > (표현식1, 표현식2) : 표현식1의 결과값이 NULL이면 표현식2의 값을 출력한다.
<         ㉡         > (표현식1, 표현식2) : 표현식1이 표현식2와 같으면 NULL을, 같지 않으면 표현식1을 리턴한다.
<         ㉢         > (표현식1, 표현식2) : 임의의 개수 표현식에서 NULL이 아닌 최초의 표현식을 나타낸다.
정답
㉠ : NVL / ISNULL
㉡ : NULLIF
㉢ : COALESCE
 

14. 아래의 사례1은 Cartesian Product를 만들기 위한 SQL 문장이며 사례1과 같은 결과를 얻기 위해 사례2 SQL 문장의 ㉠ 안에 들어갈 내용을 작성하시오.

[사례1]
SELECT ENAME, DNAME
FROM EMP, DEPT
ORDER BY ENAME;

[사례2] SELECT ENAME, DNAME
FROM EMP  <         ㉠         > DEPT
ORDER BY NAME;
정답
㉠ : CROSS JOIN
 

15. 다음과 같은 2개의 릴레이션이 있다고 가정하자. student의 기본키는 st_num이고, department의 기본키는 dept_num이다. 또한 student의 d_num은 department의 dept_num을 참조하는 외래키이다. 아래 SQL문의 실행 결과 건수는?

SELECT count(st_num)
FROM student s
WHERE not exists
            (SELECT *
               FROM department d
               WHERE s.d_num = d.dept_num
                   and dept-name = '전자계산학과');

정답
5
 

16. 아래와 같은 데이터 상황에서 아래의 SQL을 수행할 경우 정렬 순서상 2번째 표시될 값을 적으시오.


SELECT C3
FROM TAB1
START WITH C2 IS NULL
CONNECT BY PRIOR C1 = C2
ORDER SIBLINGS BY C3 DESC


정답
C
 

17. 아래 결과를 얻기 위한 SQL문에서 에 들어갈 함수를 작성하시오.

구매고객 구매월 총 구매건 총 구매액
AAA 201001 1 1000
AAA 201002 2 3000
AAA 201003 1 1000
AAA   4 5000
BBB 201001 3 2000
BBB 201002 5 3000
BBB 201003 1 2000
BBB   9 7000
CCC 201101 1 2000
CCC 201102 1 5000
CCC 201103 1 1000
CCC   3 8000
    16 20000

[SQL 문]
SELECT 구매고객, 구매월, COUNT(*) "총 구매건", SUM "총 구매액" FROM 구매이력
GROUP BY  <         ㉠         >  (구매고객, 구매월)
 정답
ROLLUP
 

18. 아래 설명 중 ㉠, ㉡에 해당하는 내용을 작성하시오.

DBMS에 생성된 USER와 다양한 권한들 사이에서 중개 역할을 할 수 있도록 DBMS에서는 ROLE을 제공한다. 이러한 ROLE을 DBMS에게 부여하기 위해서는 <         ㉠         > 명령을 사용하며ROLE을 회수하기 위해서는 <         ㉡         > 명령을 사용한다.
정답

㉠ : GRANT

㉡ : REVOKE

 

18. 아래의 ㉠에 들어갈 내용을 쓰시오.

DBMS 사용자를 생성하면 기본적으로 많은 권한을 부여해야 한다. 많은 DBMS에서는 DBMS 관리자가 사용자별로 권한을 관리해야 하는 부담과 복잡함을 줄이기 위하여 다양한 권한을 그룹으로 묶어 관리할 수 있도록 사용자와 권한 사이에서 중개 역할을 수행하는<         ㉠         >을 제공한다.
정답

ROLE

728x90
반응형

+ Recent posts