2021. 10. 13. 16:36γλ°μ΄ν°λ² μ΄μ€
1. Transaction
νΈλμμ μ΄λ λ°μ΄ν°λ² μ΄μ€ μνλ₯Ό λ³νμν€λ νλμ λ Όλ¦¬μ κΈ°λ₯μ μννκΈ° μν μμ μ λ¨μ λλ
νκΊΌλ²μ μνλμ΄μΌ ν μΌλ ¨μ μ°μ°λ€μ μλ―Ένλ€.
νΈλμμ μ λ°μ΄ν°λ² μ΄μ€ μμ€ν μμ λ³ν μ μ΄ λ° ν볡 μμ μ μ²λ¦¬λλ μμ μ λ Όλ¦¬μ λ¨μμ΄λ€.
2. Transaction νΉμ§
1οΈβ£ μμμ± Automicity
νΈλμμ μ μ°μ°μ λ°μ΄ν°λ² μ΄μ€μ λͺ¨λ λ°μλκ±°λ νΉμ μ ν λ°μλμ§ μμμΌ νλ€.
2οΈβ£ μΌκ΄μ± Consistency
νΈλμμ μ΄ μ€νμ μ±κ³΅μ μΌλ‘ μλ£νλ©΄ μΈμ λ μΌκ΄μ± μλ λ°μ΄ν°λ² μ΄μ€ μνλ‘ λ³ννλ€.
νΈλμμ μ μμ μ²λ¦¬ κ²°κ³Όκ° νμ μΌκ΄μ± μμ΄μΌ νλ€.
3οΈβ£ λ 립μ±, κ²©λ¦¬μ± (Isolation)
λ μ΄μμ νΈλμμ μ΄ λμμ λ³ν μ€νλλ κ²½μ° μ΄λ νλμ νΈλμμ μ€νμ€μ λ€λ₯Έ νΈλμμ μ μ°μ°μ΄ λΌμ΄λ€ μ μλ€.
4οΈβ£ μμμ± (Durability)
μ±κ³΅μ μΌλ‘ μλ£λ νΈλμμ μ κ²°κ³Όλ μμ€ν μ΄ κ³ μ₯λλλΌλ μꡬμ μΌλ‘ λ°μλμ΄μΌ νλ€.
3. νΈλμμ μ°μ°
1οΈβ£ Commit : commit μ°μ°μ νκ°μ λ Όλ¦¬μ λ¨μ(νΈλμμ )μ λν μμ μ΄ μ±κ³΅μ μΌλ‘ λλ¬κ³ , λ°μ΄ν°λ² μ΄μ€κ° λ€μ μΌκ΄λ μνμ μμ λ, μ΄ νΈλμμ μ΄ νν κ°±μ μ°μ°μ΄ μλ£λ κ²μ νΈλμμ κ΄λ¦¬μμκ² μλ €μ£Όλ μ°μ°μ΄λ€.
2οΈβ£ Rollback : rollback μ°μ°μ νλμ νΈλμμ μ²λ¦¬κ° λΉμ μμ μΌλ‘ μ’ λ£λμ΄ λ°μ΄ν°λ² μ΄μ€μ μΌκ΄μ±μ κΉ¨λ¨λ Έμ λ,
μ΄ νΈλμμ μ μΌλΆκ° μ μμ μΌλ‘ μ²λ¦¬λμλλΌλ νΈλμμ μ μμμ±μ ꡬννκΈ° μν΄ μ΄ νΈλμμ μ΄ νν λͺ¨λ μ°μ°μ μ·¨μ(undo) νλ μ°μ°μ΄λ€.
4. Transaction μν
νλ Activce : νΈλμμ μ΄ μ€νμ€μΈ μν
λΆλΆ μλ£ Partially Commited : νΈλμμ μ΄ λ§μ§λ§ μ°μ°κΉμ§ μ€ννμ§λ§, Commit μ°μ°μ΄ μ€ν λκΈ° μ§μ μ μν
μλ£ Commited : νΈλμμ μ΄ μ±κ³΅μ μΌλ‘ μ’ λ£λμ΄ Commit μ°μ°μ μ€νν νμ μν
μ€ν¨ Failed : νΈλμμ μ€νμ μ€λ₯κ° λ°μνμ¬ μ€λ¨λ μν
μ² ν Aborted : νΈλμμ μ΄ λΉμ μμ μΌλ‘ μ’ λ£λμ΄ Rollback μ°μ°μ μνν μν
5. Trigger
νΈλ¦¬κ±°λ νΉμ ν μ΄λΈμ DML λ¬Έμ΄ μνλμμ λ, λ°μ΄ν°λ² μ΄μ€μμ μλμΌλ‘ λμνλλ‘ μμ±λ νλ‘κ·Έλ¨μ΄λ€.
νΈλ¦¬κ±°λ μ¬μ©μκ° μ§μ νΈμΆνλ ννκ° μλλΌ, λ°μ΄ν°λ² μ΄μ€μμ μλμ μΌλ‘ νΈμΆνλ κ²μ΄ νΉμ§μ΄λ€.
6. Trigger μ’ λ₯
ν νΈλ¦¬κ±° : λ°μ΄ν° λ³νκ° μκΈΈ λ λ§λ€ μ€ννλ€.
λ¬Έμ₯ νΈλ¦¬κ±° : νΈλ¦¬κ±°μ μν΄ λ¨ νλ² μ€ννλ€.
7. Trigger ꡬμ±
μ μΈλΆ DECLARE : νΈλ¦¬κ±°μ λͺ μΉμ΄ μ μλλ λΆλΆ
μ΄λ²€νΈλΆ EVENT : νΈλ¦¬κ±°κ° μ€νλλ νμ΄λ°,μ΄λ²€νΈλ₯Ό λͺ μνλ λΆλΆ
μμ/μ’ λ£λΆ (BEGIN/END) : νΈλ¦¬κ±°μ μμκ³Ό μ’ λ£λ₯Ό νννλ©°, BEGIN/ ENDκ° μμ μ΄λ£¬λ€.
μ΄λ λ€μμ μ€νμ μ μ΄νλ κΈ°λ³Έμ λ¨μκ° λκ³ , λ Όλ¦¬μ νλ‘μΈμ€λ₯Ό ꡬμ±νλ€.
μ μ΄λΆ CONTROL : κΈ°λ³Έμ μΌλ‘ μμ°¨μ μΌλ‘ μ²λ¦¬νλ€.
λΉκ΅ 쑰건μ λ°λΌ λΈλ‘ λλλ¬Έμ₯μ μ€ννκ³ , 쑰건μλ°λΌ λ°λ³΅ μ€ννλ€.
μμΈλΆ EXCEPTION : BEGIN/ENDμ μμ μ€νλλ SQLλ¬Έμ΄ μ€νλ λ μμΈ λ°μ μ μμΈ μ²λ¦¬ λ°©λ²μ μ μνλ μ²λ¦¬λΆ
** νΈλ¦¬κ±°λ μ£Όμμ¬νμ΄ μλ€.
νΈλ¦¬κ±° λ΄μμλ COMMIT, ROLLBACK λ±μ TCL(Transaction Control Language) μ¬μ©μ μ»΄νμΌ μλ¬κ° λλ€.