1.쉬움
대리 키(surrogate key)란 무엇입니까?
- A이메일 주소처럼 실세계 데이터로 만든 키
- B뷰에서만 사용하는 키
- C다른 테이블을 참조하는 키
- D자동 증가 id처럼 업무상 의미가 없는 인위적 식별자
2.쉬움
PostgreSQL과 MySQL에서 결과의 처음 10개 행만 반환하는 절은 무엇입니까?
- AFIRST 10 ONLY
- BMAX 10
- CTOP ROWS 10
- DLIMIT 10
3.쉬움
트랜잭션에서 ROLLBACK은 무엇을 합니까?
- A테이블을 삭제한다
- B트랜잭션 시작 이후의 변경을 취소한다
- C마지막 문을 반복한다
- D트랜잭션의 모든 변경을 디스크에 영구적으로 저장한다
4.보통
더티 읽기(dirty read)란 무엇입니까?
- A손상된 디스크에서 데이터를 읽는 것
- B아직 커밋하지 않은 다른 트랜잭션이 쓴 데이터를 읽는 것
- C같은 행을 두 번 읽어 같은 값을 얻는 것
- DWHERE 절 없이 데이터를 읽는 것
5.보통
테이블 a에는 3개, 테이블 b에는 4개의 행이 있습니다. SELECT * FROM a CROSS JOIN b는 몇 개의 행을 반환합니까?
- A7
- B4
- C12
- D3
6.보통
두 SELECT 쿼리 사이에 사용한 INTERSECT는 무엇을 반환합니까?
- A첫 번째 결과에는 있지만 두 번째에는 없는 행
- B결과들의 카티션 곱
- C두 결과의 모든 행
- D두 결과 모두에 나타나는 행
7.어려움
더티 리드는 방지하지만 반복 불가능한 읽기(non-repeatable read)는 여전히 허용하는 격리 수준은 무엇입니까?
- ASerializable
- BRead committed
- CRepeatable read
- DRead uncommitted
8.어려움
SELECT name, dept, AVG(salary) OVER (PARTITION BY dept) FROM emp는 무엇을 반환합니까?
- A모든 직원 행과 그 부서의 평균 급여
- B부서마다 평균 급여를 담은 한 행
- Cname이 GROUP BY에 없으므로 오류
- D부서 평균보다 많이 버는 직원만
정답표
- 1. D · 자동 증가 id처럼 업무상 의미가 없는 인위적 식별자
- 2. D · LIMIT 10
- 3. B · 트랜잭션 시작 이후의 변경을 취소한다
- 4. B · 아직 커밋하지 않은 다른 트랜잭션이 쓴 데이터를 읽는 것
- 5. C · 12
- 6. D · 두 결과 모두에 나타나는 행
- 7. B · Read committed
- 8. A · 모든 직원 행과 그 부서의 평균 급여
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.