1.쉬움
결과를 급여가 가장 높은 것부터 낮은 것 순으로 정렬하려면 어떻게 합니까?
- AORDER BY salary ASC
- BSORT salary DOWN
- CGROUP BY salary DESC
- DORDER BY salary DESC
2.쉬움
관계형 모델에서 테이블의 행을 무엇이라고 합니까?
- A속성
- B튜플
- C도메인
- D스키마
3.쉬움
열에 대한 UNIQUE 제약 조건은 무엇을 보장합니까?
- A그 열이 자동으로 테이블의 기본 키가 된다
- B그 열에서 두 행이 같은 NULL이 아닌 값을 가지지 않는다
- C열 값이 정렬되어 있다
- D삽입 후에는 열을 변경할 수 없다
4.보통
SQL 인젝션(SQL injection)이란 무엇입니까?
- A인덱스를 추가하는 방법
- B사용자 입력이 SQL 쿼리의 구조를 변경하는 공격
- CINSERT 문 하나로 많은 행을 빠르게 삽입하는 기법
- D데이터베이스 백업 기법
5.보통
orders 테이블에는 각각 기존 고객을 참조하는 5개의 행이 있습니다. customers 테이블에는 3개의 행이 있습니다. customer_id로 INNER JOIN하면 몇 개의 행이 반환됩니까?
- A3
- B8
- C15
- D5
6.보통
제1정규형(1NF)이 요구하는 것은 무엇입니까?
- A각 열이 원자값을 가지며 반복 그룹이 없어야 함
- B모든 테이블이 정확히 하나의 열을 가져야 함
- C외래 키가 없어야 함
- D키가 아닌 모든 열이 키 전체에 종속되고 오직 키에만 종속됨
7.어려움
다중 버전 동시성 제어(MVCC)에서 읽는 쪽은 어떻게 쓰는 쪽을 막지 않을 수 있습니까?
- A읽는 쪽은 커밋된 행 버전의 일관된 스냅샷을 보고, 쓰는 쪽은 새 버전을 만든다
- B읽는 쪽이 활성 상태인 동안에는 쓰기가 허용되지 않는다
- C읽는 쪽은 커밋되지 않은 데이터를 직접 읽는다
- D읽는 쪽은 항상 모든 쓰는 쪽이 커밋할 때까지 기다린다
8.어려움
EXPLAIN(또는 PostgreSQL의 EXPLAIN ANALYZE)은 쿼리에 대해 무엇을 보여 줍니까?
- A쿼리에 있는 각 SQL 키워드의 의미
- B쿼리를 실행한 사용자 목록
- C관계 대수 표기법으로만 다시 쓴 쿼리
- D스캔과 조인 방법 같은, 옵티마이저가 선택한 실행 계획
정답표
- 1. D · ORDER BY salary DESC
- 2. B · 튜플
- 3. B · 그 열에서 두 행이 같은 NULL이 아닌 값을 가지지 않는다
- 4. B · 사용자 입력이 SQL 쿼리의 구조를 변경하는 공격
- 5. D · 5
- 6. A · 각 열이 원자값을 가지며 반복 그룹이 없어야 함
- 7. A · 읽는 쪽은 커밋된 행 버전의 일관된 스냅샷을 보고, 쓰는 쪽은 새 버전을 만든다
- 8. D · 스캔과 조인 방법 같은, 옵티마이저가 선택한 실행 계획
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.