도서 반납 시 대출의 반납일 기록과 도서의 대출가능 상태 변경이 반드시… | [SQLD] SQL 개발자 기출유형 모의고사 5회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 5회
도서 반납 시 대출의 반납일 기록과 도서의 대출가능 상태 변경이 반드시 함께 반영되어야 한다. 이를 처리하는 방법으로 옳은 것은?
1
도서 상태 변경은 별도 트랜잭션에서 한다
2
두 변경을 한 트랜잭션으로 묶어 처리한다
3
반납일을 먼저 커밋한 뒤 상태를 바꾼다
4
한쪽이 실패해도 성공한 쪽은 유지한다
해설
함께 반영되어야 하는 두 변경은 하나의 트랜잭션으로 묶어 모두 성공하면 COMMIT, 하나라도 실패하면 ROLLBACK 한다.
이것이 트랜잭션의 원자성으로, 반납일만 기록되고 도서는 대출중으로 남는 불일치를 막는다.
- 반납일을 먼저 커밋하면 상태 변경이 실패했을 때 되돌릴 수 없다.
- 성공한 쪽만 유지하면 두 테이블의 상태가 어긋난다.
- 별도 트랜잭션으로 나누면 함께 반영된다는 보장이 사라진다.
오류나 개정된 내용이 보이면 알려주세요