[9급 국가직 데이터베이스론 2023년 20번]

다음은 A고객의 포인트 1000점을 B고객에게 전송하는 SQL문이다. 이 SQL문을 하나의 트랜잭션으로 처리할 때 이에 대한 설명으로 옳지 않은 것은? (단, A고객과 B고객의 ‘ID’는 각각 123과 456이며, 트랜잭션 수행 전 ‘포인트’는 각각 5000과 200이다)
UPDATE 고객
SET 포인트 = 포인트 - 1000
WHERE ID = 123; ·················
(가)
UPDATE 고객
SET 포인트 = 포인트 + 1000
WHERE ID = 456; ·················
(나)
데이터베이스론
  1. 동시 공유라는 데이터베이스의 특성으로 인해 (가)까지 수행된 결과를 다른 트랜잭션에서 접근할 수 있도록 허용해야 한다.
  2. (가)까지 수행한 직후 시스템이 다운되었다면, 시스템이 재가동된 후에 고객 테이블에서 A고객의 포인트는 5000점으로 되돌려야 한다.
  3. 트랜잭션이 (나)까지 성공적으로 수행된 후에 고객 테이블에서 A고객과 B고객의 포인트 합은 5200점이다.
  4. 트랜잭션이 (나)까지 성공적으로 완료되면 A고객과 B고객의 포인트 변경 결과는 장애가 발생하더라도 손실되지 않도록 보장되어야 한다.
정답 ①

출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)