SQLD데이터베이스 구축난이도 3MCQ

SQLD 데이터베이스 구축 기출문제 #5033

문제

다음 트랜잭션 시나리오에서 발생할 수 있는 문제로 가장 적절한 것은?

트랜잭션 T1: UPDATE 계좌 SET 잔액 = 잔액 - 100000 WHERE 계좌번호 = 'A001'; 트랜잭션 T2: SELECT 잔액 FROM 계좌 WHERE 계좌번호 = 'A001'; (T1이 커밋되기 전에 T2가 실행됨)

① Dirty Read - T2가 T1의 미확정 변경사항을 읽을 수 있다 ② Non-repeatable Read - T2가 같은 데이터를 다시 읽으면 다른 값이 나온다 ③ Phantom Read - T2가 존재하지 않는 새로운 행을 읽는다 ④ Lost Update - T1의 변경사항이 손실된다

정답

1

해설

①번이 정답이다. T1이 커밋되기 전에 T2가 T1의 변경사항을 읽는 것은 Dirty Read 현상이다. T2는 T1이 롤백될 수도 있는 불확실한 데이터를 읽게 된다. ②번은 같은 트랜잭션 내에서 반복 읽기 시 다른 값이 나오는 경우, ③번은 새로운 행이 나타나는 경우, ④번은 동시 업데이트로 인한 변경사항 손실이다.

SQLD 시험 준비 가이드

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] 데이터베이스 구축 기출 #5033 | 문어CBT