SQLD / 모의고사 정리 1
영진닷컴 이기적 CBT 모의고사 참조
다음 결과 2개의 테이블을 어떤 JOIN으로 진행한 것인가?
- Natural Join
- Right Outer Join
- Left Outer Join
- Full Outer Join
정답 : 4
- EMPNO와 DEPTNO 각각 서로 NULL 값이 있음.
엔티티 간 1:1, 1:M과 같이 관계의 기수성을 나타내는 것을 무엇이라 하는가?
- 관계 차수
- 관계명
- 관계선택성
- 관계정의
정답 : 1
- 엔티티 간 1:1, 1:M 등 관계 참여 인스턴스의 수를 지칭하는 것은 관계 차수
3차 정규화에 대한 설명으로 옳은 것을 고르시오.
- 속성 간 종속성을 가지면 안 된다.
- 모든 속성은 반드시 기본 키 전부에 종속되어야 한다.
- 모든 속성은 반드시 하나의 값을 가져야 한다.
- 다수의 주식별자를 분리시킨다.
정답 : 1
- 식별자를 제외한 일반 속성 간 종속 제거 = 3차 정규화
- 참고 (도부이 결다조)
- 1차 정규화 : 원자 값 아닌 도메인 분해
- 2차 정규화 : 부분 함수 종속 제거
- 3차 정규화 : 이행 함수 종속 제거 (일반 속성 간 종속 제거)
- BCNF : 결정자가 후보키가 아닌 것 제거
- 4차 정규화 : 다치 종속 제거
- 5차 정규화 : 조인 종속 제거
다음 설명에 해당하는 모델링 관점은 무엇인가?
1
업무가 어떤 데이터와 관련이 있는지 또는 데이터 간의 관계는 무엇인지에 대해서 모델링하는 관점
- 프로세스 관점
- 데이터와 프로세스의 상관 관점
- 데이터와 데이터 간의 상관 관점
- 데이터 관점
정답 : 4
- 데이터 모델링의 세 가지 관점
- 데이터 관점 (관계무엇) : 업무가 어떤 데이터와 관련이 있는지 또는 데이터 간의 관계는 무엇인지에 대해서 모델링 하는 방법 (What, Data)
- 프로세스 관점 (실제어떻게) : 업무가 실제로 하고 있는 일은 무엇인지 또는 무엇을 해야 하는 지를 모델링 하는 방법 (How, Process)
- 데이터와 프로세스의 상관 관점 : 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는 지 모델링 하는 방법 (Interaction)
아래의 결괏값을 보고 SQL문의 빈칸에 들어갈 수 있는 내용을 고르시오.
- ROLLUP(DEPTNO, JOB)
- GROUPING SETS(DEPTNO, JOB)
- DEPTNO, JOB
- CUBE(DEPTNO, JOB)
정답 : 1
- DEPTNO별 합계, DEPTNO, JOB별 합계, 전체 합계가 조회되므로 빈칸에는 그룹 함수 중 ROLLUP이 와야함
- ROLLUP(1, 2) : 1 합계, 1 + 2 합계, 총 합계 리턴 (계층 구조, 순서 상관)
- GROUPING SETS(1, 2) : 1 합계, 2 합계, 1 + 2 합계, 총 합계 리턴 (순서 무관)
- CUBE(1, 2) : 1 합계, 2 합계 (순서 무관)
다음 SQL문의 실행 결과는 무엇인가?
1
SELECT COALESCE(NULL, '2', '1') FROM DUAL;
- 1
- 2
- 3
- NULL
정답 : 2
- COALESCE 함수는 NULL이 아닌 첫 번째 값을 리턴하는 함수, 쿼리에서 1 번째는 NULL 이기 때문에 그 다음 2가 옴
다음 중에서 집합 연산자의 종류에 해당되지 않는 것을 고르시오.
- UNION ALL
- UNION
- PROJECT
- EXCEPT
정답 : 3
- 집합 연산자 종류 : UNION / UNION ALL / EXCEPT / INTERSECTION / DIFFERENCE / PRODUCT
- PROJECT 는 순수 관계 연산자
숫자형 함수 적용과 그 결괏값이 올바르지 않은 것은?
- ABS(-30) = 30
- SIGN(-50) = -1
- MOD(7,3) = 2
- CEIL = 39
정답 : 3
- MOD(7,3)은 7을 3으로 나누었을 때의 나머지, 결괏값은 1
- ABS는 n의 절댓값 리턴
- SIGN은 n의 부호를 반환 -> ex) 양수일 경우 1, 음수일 경우 -1, 0 = 0
다음 SQL문에 대한 설명으로 올바르지 않은 것은?
1
2
3
SELECT ENAME, SAL,
NTILE(4) OVER (ORDER BY SAL DESC) as DATA
FROM EMP;
- DATA 필드가 가질 수 있는 값의 범위는 0~3까지다.
- SAL이 큰 순을 조회된다.
- SAL의 값에 따라서 데이터를 4등분으로 분류해서 DATA 필드로 조회된다.
- SAL의 마지막 행은 급여가 가장 작은 사람이다.
정답 : 1
- NTILE(n) 윈도우 함수는 데이터를 n값으로 n등분하는 함수이다.
- 위에서 n값은 4이기 때문에 1~4 4등분
엔티티에 대한 개념 중 엔티티 정의의 공통점 3가지가 아닌 것은?
- 데이터베이스 내에서 변별 가능한 객체이다.
- 엔티티는 사람, 장소, 물건, 사건, 개념 등의 명사에 해당된다.
- 저장되기 위한 어떤 것이다.
- 업무상 관리가 필요한 관심사에 해당된다.
정답 : 1
사원 테이블에 사원번호는 기본키로 설정되어 있다. SQL문으로 사원번호 1번을 검색하는데 사원 테이블에는 하나의 ROW만 저장되어 있다. 이때 유리한 스캔 방식을 무엇으로 판단되는가?
- Unique Index Scan
- Non-Unique Index Scan
- Index Full Scan
- Table Full Scan
정답 : 4
- 하나의 데이터(행)을 읽기 위해서는 인덱스를 굳이 사용하지 않고 테이블을 FULL SCAN 하는 것이 효율적임.
- 즉, 문제에서 검색되는 행이 1건이므로 굳이 인덱스를 읽지 않고 바로 테이블을 전체 검색해야함
다음의 SQL문에 대한 설명으로 올바르지 않은 것은?
1
2
3
4
5
6
SELECT JOB, ENAME, SAL,
RANK(
) OVER (ORDER BU SAL DESC) ALL_RANK,
RANK(
) OVER (PARTITION BY JOB ORDER BY SAL DESC) JOB_RANK
FROM EMP;
- SAL 컬럼은 급여가 큰 순으로 조회된다.
- JOB 별로 SAL이 큰 등수가 조회된다.
- RANK() 함수를 사용했으므로 급여가 동일한 사람이 있다면, 조회 순서에 따라서 1등과 2등으로 표시된다.
- PARTITION 문을 사용해서 해당 파티션 내에서 순위를 계산한다.
정답 : 3
- RANK() 함수는 동일한 순위에 대해 같은 등수로 리턴함
다음 개념에 해당하는 관계는 무엇인가?
1
부모 엔티티로부터 속성을 받았지만, 자식 엔티티의 주식별자로 사용하지 않고 일반적인 속성으로만 사용한다.
- 식별자 관계
- 비식별자 관계
- 일반 속성 관계
- 외부 식별 관계
정답 : 2
- 부모 엔티티로 부터 속성을 받았지만 자식 엔티티의 주식별자로 사용하지 않고 일반적인 속성으로만 사용하는 것은 비식별자 관계에 대한 설명
- 식별자 관계 = 부모 엔티티의 주식별자가 자식 엔티티의 주식별자로 포함됨
- 일반 속성 관계 = 서로 독립적인 엔티티 간 연결, 단순 속성 연관
분산 데이터베이스의 특징 중 저장 장소 명시가 불필요하다는 특성은 무엇인가?
- 지역 사상 투명성
- 위치 투명성
- 병행 투명성
- 분할 투명성
정답 : 2
- 데이터 저장 장소 명시 불필요, 위치 정보 시스템 카탈로그에 유지
다음의 SQL문에 대한 설명으로 올바른 것은?
1
2
3
SELECT 'A', 1 FROM DUAL
UNION ALL
SELECT 1, 'A' FROM DUAL;
- 위의 SQL문 실행 결과는 A 1, 1 A가 조회된다.
- UNION ALL을 사용해서 합집합을 만들고 중복을 제거한다.
- 위의 SQL문은 실행되지 않는다.
- 실행 결과로 아무것도 출력되지 않는다.
정답 : 3
- 각 열 데이터 타입 불일치로 실행 안됨
Sort Merge 방식의 조인이 Nested Loop 방식 조인보다 효율적으로 판단되는 것을 고르시오.
- 기본키와 외래키 관계에서 외래키에 인덱스가 없을 때
- 사용자가 발주한 주문에 대해서 체결 정보 한 건을 확인할 때
- 병렬로 테이블을 읽고 SORT_AREA_SIZE가 작은 경우
- Random Access가 자주 발생하지 않을 때
정답 : 1
- Sort Merge 방식의 조인은 두 개의 테이블을 정렬 한 후에 병합함.
- 병합이 완료되면 한 번의 Full Scan으로 데이터를 검색함
- 따라서 기본키와 외래키 관계에서 외래키에 인덱스가 없을 때 옵티마이저가 Sort Merge 방식의 조인으로 동작하게 함
- Nested Loop : 주로 작은 데이터 집합 처리, 두 개의 루프를 사용하여 모든 조합 탐색
다음 중 분산 데이터베이스의 투명성(Transparency)에 속하지 않는 것은?
- 분할 투명성
- 병행 투명성
- 중복 투명성
- 병렬 투명성
정답 : 4
- 분산 데이터베이스의 투명성의 종류에는 분할 투명성, 위치 투명성, 지역 투명성, 중복 투명성, 병행 투명성, 장애 투명성이 있다.
- 분위지중병장
테이블 R과 S가 다음과 같을 때, 아래 SQL문 (SELECT 구문)의 실행 결과로 옳은 것은?
- 4
- 5
- 9
- 20
정답 : 4
- R과 S에 조인 조건이 따로 없어서 카테시안 곱이 발생함, 4 * 5 (cross join 과 동일한 효과)
우선순위를 계산하는 윈도우 함수에서 동일한 우선순위가 나와도 고유의 값을 부여하기 위한 방법으로 올바른 것은 무엇인가?
- SELECT RANK() OVER (PARTITION BY DEPTNO ORDER BY SAL DESC) DEPT_RANK;
- SELECT DENSE_RANK() OVER (PARTITION BY DEPTNO ORDER BY SQL DESC) DEPT_RANK;
- SELECT ROW_NUMBER() OVER (PARTITION BY DEPTNO ORDER BY SAL DESC) DEPT_RANK;
- SELECT UNIQUE_RANK() OVER (PARTITION BY DEPTNO ORDER BY SAL DESC) DEPT_RANK;
정답 : 3
- ROW_NUMBER() 는 동일한 우선순위가 나올 때 고유 값 부여
- DENSE_RANK() 는 동일한 값을 가진 행에 대해 같은 순위 부여
- UNIQUE_RANK() 는 동일 순위 일때 중복 없는 순위 부여
이 블로그는 저작권자의 CC BY 4.0 라이센스를 따릅니다.