은행계좌 X와 Y에 대한 트랜잭션 T1과 T2가 수행되는 다음 스케줄에… | [7급 국가직 데이터베이스론] 22년 1회차 기출문제 상세 페이지
1[7급 국가직 데이터베이스론] 22년 1회차
은행계좌 X와 Y에 대한 트랜잭션 T1과 T2가 수행되는 다음 스케줄에 대한 설명으로 옳지 않은 것은? (단, 두 트랜잭션 수행 전 X계좌 잔액은 20 이상의 양수이고, Y계좌 잔액은 50 이상의 양수이다)
| T1 | T2 |
|---|---|
| read(X) X := X + 50 write(X) | |
| read(Y) Y := Y + 20 write(Y) | |
| read(Y) Y := Y - 50 write(Y) | |
| read(X) X := X - 20 write(X) |
1
사이클을 포함한 스케줄이다.
2
2단계 로킹 규약(two-phase locking protocol)으로 구현할 수 있다.
3
두 트랜잭션 수행 전과 수행 완료 후 X계좌와 Y계좌 잔액의 합(X + Y)은 같다.
4
두 트랜잭션 수행 완료 후 X계좌 잔액이 180이면, 두 트랜잭션 수행 전 X계좌 잔액은 150이다.
해설
이 스케줄을 2단계 로킹 규약으로 구현할 수 있다는 설명이 틀렸다. 선행 그래프에 사이클이 있어 충돌 직렬가능하지 않으므로 2PL로는 만들어질 수 없다.
X에서는 T1의 write(X)가 T2의 read(X)보다 앞서 T1→T2, Y에서는 T2의 write(Y)가 T1의 read(Y)보다 앞서 T2→T1이 생겨 사이클이 된다. 2PL은 충돌 직렬가능한 스케줄만 허용한다.
- 사이클 포함: 위의 T1→T2, T2→T1 간선 때문에 옳다.
- 잔액 합 보존: 각 연산이 직전에 쓰인 값을 읽어 갱신 손실이 없고, X는 +50−20, Y는 +20−50이라 합의 변화가 0이므로 옳다.
- X 잔액 역산: X는 최종적으로 30 증가하므로 수행 후 180이면 수행 전은 150이라 옳다.
오류나 개정된 내용이 보이면 알려주세요
이어서 풀어보기
[7급 국가직 데이터베이스론] 22년 1회차 25문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요비슷한 기출
- 다음설명을확인하여해당하는항목을보기에서찾아적으시오. 1.오류가발생하기전까지의사항을로그(log)로기록해놓고,이전상태로되돌아간후,실패가발생하기전까지의과정을그대로따라가2022년 정보처리기사실기 1회차
- 데이터베이스에서개념적설계단계에대한설명으로틀린것은? {"answer":3,"content":[{"content":"산출물로e-rdiagram을만들수있다.22년-2회차-정보처리기사-필기
- 데이터베이스에서하나의논리적기능을수행하기위한작업의단위또는한꺼번에모두수행되어야할일련의연산들을의미하는것은? {"answer":1,"content":[{"co21년-3회차-정보처리기사-필기