728x90
반응형

1. 숫자형 함수 적용과 그 결괏값이 올바르지 않은 것은?
1. ABS(-30) = 30
2. SIGN(-50) = -1
3
. MOD(7,3) = 2

4. CEIL(38.12) = 39
 
✏️

더보기

정답 : 3

SIGN(n) : 결과값이 0 또는 양수, 음수인지에 따라 0 /1 /-1 반환

SIGN(0-5) -> -1 / SIGN(0) -> 0 / SIGN(5-1) -> 1

 

MOD(n,m) : 나머지 값 반환(n%m, n MOD m로 표현가능)

MOD(29,9) -> 2 / MOD(34.5,3) -> 1.5 / MOD(N,0) -> nul


2. 아래 SQL에서 출력되는 ROWS의 개수를 구하시오.

1. 10건
2. 14건
3. 18건
4. 20건
 
✏️

더보기

정답 : 3

DEPTNO로 조인을 하고 DNAME과 JOB으로 CUBE를 실행했다. CUBE는 전체합계와 각 칼럼별로 부분합계를 출력한다.


3. 다음의 SQL문에 대한 설명으로 올바르지 않은 것은?

가. 실제 데이터
DEPTNO   SAL
--------------------
    10
    10         1000
    10         2000
    20
    20          500

나. SELECT문
SELECT DEPTNO, SUM(NVL(SAL,0)) FROM DEPT GROUP BY DEPTNO;

1. SELECT문에 WHERE 조건이 없으므로 연산에 참여하는 총 행 수는 5개이다.
2. DEPTNO 10의 합계는 3000이고 20의 합계는 500이다.
3. NVL(SAL, 0)문에서 NVL은 NULL에 대한 합계오류를 예방한다.
4. 부서별 합계를 계산할 때 NULL값을 만나면 0으로 치환한다.
 
✏️

더보기

정답 : 3

그룹 함수를 사용하는 경우 NULL값은 연산에서 제외된다. 그래서 NVL 함수를 사용하는 것은 합계오류 예방과는 전혀 관계가 없다.


4. 다음 SQL문의 실행 결과로 올바른 것을 고르시오.

1. 10, 20
2. 10, 20, 30
3 .10, 20, 30 ,40
4. 10, 20, 30, 40, 50
 
✏️

더보기

정답 : 2

ALL 연산자는 서브쿼리(Subquery) 값 모두가 조건에 만족하면 True를 반환한다.


5. 자신의 속성이 없어도 다른 속성을 이용하여 결과를 도출할 수 있는 특징을 가진 속성의 이름은?
1. 설계 속성(Designed Attribute)
2. 기본 속성(Basic Attribute)
3. 파생 속성(Derived Attribute)
4. 관계 속성(Associative Attribute)
 
✏️

더보기

정답 : 3

파생 속성(Derived Attribute)은 다른 속성을 이용하여 계산된 속성으로 자신의 고유값을 갖지 않고 파생, 유추되어 재산정될 수 있는 속성이다.


6. 엔터티에 대한 개념 중 엔터티 정의의 공통점 3가지가 아닌 것은?
1. 데이터베이스 내에서 변별 가능한 객체이다.
2. 엔터티는 사람, 장소, 물건, 사건, 개념 등의 명사에 해당된다.
3. 저장되기 위한 어떤 것(Thing)이다.
4. 업무상 관리가 필요한 관심사에 해당된다.
 
✏️

더보기

정답 : 1

엔터티(Entity)의 3가지 공통점은 다음과 같다.
•개념, 사건, 사람, 장소 등과 같이 명사이다.
•비즈니스 프로세스에서 관리되어야 하는 정보이다.
•저장이 필요한 어떤 것이다.


7. 다음의 데이터베이스에서 ‘부양가족을 2명 이상 가진 사원의 사번(eno), 성명(ename), 부양가족 수를 검색’하는 질의를 SQL로 적절하게 표현한 것은?

employee(eno, ename, adddress, score, dno)
dependent(eno, ename, birthday, relation)

1.
SELECT eno, ename, count(*)
FROM employee e, dependent d
WHERE e.eno = d.eno and count(*) >= 2
GROUP BY d.eno;
2.
SELECT e.eno, e.ename, count(*)
FROM employee e, dependent d
WHERE EXISTS (SELECT * FROM dependent
GROUP BY eno
HAVING count(*) >= 2)
GROUP BY e.eno, e.ename;
3.
SELECT e.eno, e.ename, t.cnt
FROM employee e, (SELECT eno, count(*) as cnt
FROM dependent GROUP BY
eno HAVING count
(*) >= 2) t
WHERE e.eno = t.eno;
4.
SELECT e.eno, e.ename, count(*)
FROM employee e, dependent d
WHERE e.eno = d.eno
GROUP BY e.eno, e.ename
HAVING count(*) >= 3;
 
✏️

더보기

정답 : 3

1번 집계함수에 대한 조건절은 HAVING을 사용해야 함

2번 GROUP BY절을 사용했으나 SELECT 절 COUNT(*)는 전체 개수 반환 함


8. 릴레이션 Emp, Dept가 다음과 같이 정의되어 있다. 부서에 사원이 한 명도 없는 부서(deptno)를 검색하는 질의를 작성했을 때, 가장 거리가 먼 것은? (단, Emp의 deptno는 Dept의 deptno를 참조하는 외래키이다)

Emp(empno, ename, job, mgr, hiredate, sal, comm, deptno)
Dept(deptno, dname, loc)

1.
SELECT deptno
FROM Dept
WHERE deptno NOT IN (SELECT deptno FROM Emp);
2.
SELECT deptno
FROM Dept a
WHERE NOT EXISTS (SELECT * FROM Emp b WHERE a.deptno =b.deptno);
3.
SELECT b.deptno
FROM Emp a RIGHT OUTER JOIN Dept b
ON a.deptno = b.deptno
WHERE empno IS NULL;
4.
SELECT deptno
FROM Dept
WHERE deptno < > ANY (SELECT deptno FROM Emp);
 
✏️

더보기

정답 : 4

4번 ANY()실행 시 하나라도 조건값을 만족하면 결과를 도출하기 때문에 모든 deptno 값이 도출 된다.


9. 실행 계획에 대한 설명으로 적절하지 않은 것은?
1. 실행 계획은 SQL문의 처리를 위한 절차와 방법이 표현된다.
2. 실행 계획이 다르면 결과도 달라질 수 있다.
3. 실행 계획은 액세스 기법, 조인 순서, 조인 방법 등으로 구성된다.
4. 최적화 정보는 실행 계획의 단계별 예상 비용을 표시한 것이다

✏️

더보기

정답 : 2
동일 SQL문에 대해 실행 계획이 다르다고 결과가 달라지지는 않는다. 그러나 실행 계획의 차이로 성능이 달라질 수 있다.



10. 사원 테이블에 사원번호는 기본키로 설정되어 있다. SQL문으로 사원번호 1번을 검색하는데 사원 테이블에는 하나의 ROW만 저장되어 있다. 이때 유리한 스캔 방식은 무엇으로 판단되는가?
1. Unique Index Scan
2. Non-Unique Index Scan
3. Index Full Scan
4. Table Full Scan
 
✏️

더보기

정답 : 4

하나의 데이터(행)를 읽기 위해서는 인덱스를 사용하지 않고 테이블을 FULL SCAN하는 것이 효율적이다. 즉, 검색되는 행이 1건이므로 굳이 인덱스를 읽지 않고 바로 테이블을 검색해야 한다.


11. Case문에서 ELSE를 생략하면 어떤 현상이 발생되는가?
1. ELSE를 생략하고 작성하면 실행 시 ELSE 조건이 참이 되며 오류가 발생한다.
2. ELSE 조건이 만족하게 되면 공집합이 리턴 된다.
3. ELSE 조건을 만족하게 되면 무시된다.
4. ELSE 조건이 만족하게 되면 NULL이 된다.
 
✏️

더보기

정답 : 4

CASE문은 IF~THEN~ELSE를 구현할 수 있는 SQL문이다. 즉, 어떤 조건이 참이면 A를 실행하고 그렇지 않으면 B를 실행하라는 것이다. CASE문에서 ELSE 조건을 생략하면 NULL이 되돌려진다.

  •  

12. 다음 모델의 배송 엔터티에서 고객의 정보를 찾을 때, 성능 향상과 SQL 문장을 단순화하는 가장 적절한 반정규화 방법은 무엇인가? (단, 주문목록 엔터티에서는 고객의 주식별자를 상속받기를 원하지 않음, 배송 엔터티에서는 고객 엔터티의 모든 속성을 참조하기를 원함)
1. 고객과 배송 엔터티의 관계를 추가(1:M관계)하는 관계 반정규화
2. 배송과 고객의 엔터티를 통합하는 반정규화
3. 배송 엔터티와 주문목록 엔터티 관계를 식별자 관계로 수정
4. 고객의 모든 정보를 모두 배송 엔터티의 속성으로 반정규화
 
✏️

더보기

정답 : 1

고객 엔터티의 모든 속성을 참조하기를 원할 때 가장 효율성이 좋은 반정규화 기법은 관계를 중복하는(관계의 반정규화) 방법이며 이를 적용하면 두 테이블의 조인 경로를 단축하게 되고 SQL 문장을 단순하게 구성할 수 있다.


13. 다음 중 아래 테이블 정의와 인덱스 구조를 참고하여, 인덱스를 효율적으로 액세스할 수 없는 검색조건을 고르시오.

1. where 주문번호 between 1 and 10
2. where 주문자명 like ‘%홍길동%’
3. where 주문일자 >= ‘20181201’
4. where 주문일자 = ‘20181201’
 
✏️

더보기

정답 : 2

LIKE 검색 문자열 앞뒤에 모두 ‘%’ 기호를 붙였으므로 정상적인 Index Range Scan이 불가능하다.


14. 두 개 릴레이션 Student와 Department가 있을 때, 질의문 “SELECT * FROM Student s, Department d WHERE s.dept > 100;”을 수행하려고 한다. 이 질의 수행으로 생성되는 결과 릴레이션의 차수(Degree)와 카디널리티(Cardinality)는 각각 얼마인가? (단, 릴레이션 Student의 애트리뷰트 ‘소속(dept)’은 릴레이션 Department의 애트리뷰트 ‘코드(dno)’를 외부키로 참조한다)

1. 차수=5, 카디널리티=3
2. 차수=5, 카디널리티=2
3. 차수=8, 카디널리티=9
4. 차수=8, 카디널리티=3
 
✏️

더보기

정답 : 3

차수(Degree)와 카디널리티(Cardinality)를 구하는 문제로 차수는 결과 릴레이션의 칼럼 수이다. 그래서 Student와 dept 테이블을 조인하여 모든 컬럼을 출력하기 때문에 (SELECT *) 각각 Student 테이블에서 5개 , dept 테이블에서 3개 , 총 8개의 컬럼(=차수)을 가지게 된다.
카디널리티는 선택된 행들의 개수이다. Where문을 보면 결과 릴레이션에서 Student 릴레이션의 dept값이 100보다 큰 것만 조회한다. 위 조건에 부합하는 결과 행수는 9건이므로 카디널리티는 9가 된다.
(Student와 Dept를 카티션곱 조인하면 15개의 행이 나오고, 이중 where 조건에 부합하는 대상은 9건이다)


15. Subquery의 종류 중에서 Subquery가 Mainquery의 제공자 역할을 하고 Mainquery의 값이 Subquery에 주입되지 않는 유형은 무엇인가?
1. Filter형 Subquery
2. Early Filter형 Subquery
3. Associative Subquery
4. Access Subquery
 
✏️

더보기

정답 : 4

Access Subquery는 제공자 역할을 하는 서브쿼리이다.


16. 다음 설명에 해당하는 모델링 관점은 무엇인가?

업무가 어떤 데이터와 관련이 있는지 또는 데이터 간의 관계는 무엇인지에 대해서 모델링 하는 관점

1. 프로세스 관점
2. 데이터와 프로세스의 상관 관점
3. 데이터와 데이터 간의 상관 관점
4. 데이터 관점
 
✏️

더보기

정답 : 4

데이터 모델링의 세 가지 관점
1. 데이터 관점 : 업무가 어떤 데이터와 관련이 있는지 또는 데이터 간의 관계는 무엇인지에 대해서 모델링 하는 방법(What, Data)
2. 프로세스 관점 : 업무가 실제로 하고 있는 일은 무엇인지 또는 무엇을 해야 하는지를 모델링 하는 방법(How, Process)
3. 데이터와 프로세스의 상관 관점 : 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링하는 방법(Interaction)


728x90
반응형

+ Recent posts