[CS知識]データベース1トランザクション
1.取引
what?
データベースのステータスを変更するために実行されるアクションの単位.
ステータスの変更->SQLクエリーによるデータベースへのアクセス原子星
トランザクションはすべてdbに反映するか、完全に反映しない必要があります.
整合性
トランザクションの結果は常に一致するはずです.
独立性
2つ以上のトランザクションが同時に実行される場合、他のトランザクションは介入できません.
連続性
取引結果は永久に反映しなければならない.
commit
トランザクションが完了すると、データベースが一貫した状態にある場合に通知される演算.
rollback
トランザクションが失敗した場合は、以前の状態に戻す必要があります.
what?
データベースのステータスを変更するために実行されるアクションの単位.
ステータスの変更->SQLクエリーによるデータベースへのアクセス
SELECT, INSERT, DELETE, UPDATE
作業単位->ユーザ定義の基準に基づいてSQL文を決定する예시 ) 사용자 A가 사용자 B에게 만원을 송금한다.
* 이때 DB 작업
- 1. 사용자 A의 계좌에서 만원을 차감 : UPDATE 문을 사용해 사용자 A의 잔고를 변경
- 2. 사용자 B의 계좌에 만원을 추가 : UPDATE 문을 사용해 사용자 B의 잔고를 변경
현재 작업 단위 : 출금 UPDATE + 입금 UPDATE
-> 이를 통해 하나의 트랜잭션이라고 한다.
- 두 쿼리가 완료되어야 하나의 작업(트랜잭션)이 완료됨 -> 'COMMIT'
- 만약, 쿼리가 하나라도 실패하면 이전 상태로 되돌려야 함 -> 'ROLLBACK'
how? (プロパティ)トランザクションはすべてdbに反映するか、完全に反映しない必要があります.
トランザクションの結果は常に一致するはずです.
2つ以上のトランザクションが同時に実行される場合、他のトランザクションは介入できません.
取引結果は永久に反映しなければならない.
トランザクションが完了すると、データベースが一貫した状態にある場合に通知される演算.
rollback
トランザクションが失敗した場合は、以前の状態に戻す必要があります.
Reference
この問題について([CS知識]データベース1トランザクション), 我々は、より多くの情報をここで見つけました https://velog.io/@redcarrot01/CS지식-데이터베이스1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol