Yeonnnnny

[1과목] 1-8. 모델이 표현하는 트랜잭션의 이해 본문

SQLD

[1과목] 1-8. 모델이 표현하는 트랜잭션의 이해

yeonny_do 2024. 3. 4. 09:37

■ 트랜잭션이란

  • 하나의 연속적인 업무 단위를 말함
  • 트랜잭션에 의한 관계는 필수적인 관계 형태를 가짐
  • 하나의 트랜잭션에는 여러 SELECT, INSERT, DELETE, UPDATE 등이 포함될 수 있음
  • EX) 계좌이체
    • A 고객이 B 고객에게 100만원을 이체하려고 한다고 가정
      1. A 고객의 잔액이 100만원 이상인지 확인
      2. 이상이면, A 고객 잔액을 -100 UPDATE
      3. B 고객 잔액에 +100 UPDATE
    • 이때, 2번과 3번 과정이 동시에 수행되어야 함. 즉, 모두 성공하거나 모두 취소돼야 함(All or Nothing)
    • 이런 특성을 갖는 연속적인 업무 단위를 트랜잭션이라고 함.
  • 주의) A 고객 잔애 차감과 B 고객 잔액 가산이 서로 독립적으로 발생하면 안됨 (각각 INSERT 문으로 개발되면 안됨), 부분 COMMIT 불가(동시 COMMIT 또는 ROLLBACK 처리)

 

 필수적, 선택적 관계와 ERD

  • 두 엔터티의 관계가 서로 필수적일 때 하나의 트랜잭션을 형성
  • 두 엔터티가 서로 독립적 수행이 가능하다면 선택적 관계로 표현

IE 표기법 

  • 원을 사용하여 필수적 관계와 선택적 관계를 구분
  • 필수적 관계에는 원을 그리지 않음
  • 선택적 관계에는 관계선 끝에 원을 그림

바커 표기법 

  • 실선과 점선으로 구분
  • 필수적 관계는 관계선을 실선으로 표기
  • 선택적 관계는 관계선을 점선으로 표기

 

'SQLD' 카테고리의 다른 글

[1과목] 1-10. 본질식별자  (1) 2024.03.04
[1과목] 1-9. null 속성의 이해  (0) 2024.03.04
[1과목] 1-7. 관계와 조인의 이해  (0) 2024.03.04
[1과목] 1-6. 정규화  (0) 2024.03.03
[1과목] 1-5. 식별자  (0) 2024.03.01