Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 파이썬 #python #file #i/o #input #output
- 파이썬 #python #모듈 #module #import #random #time #calendar #sys
- Git
- 파이썬 #python #예외처리 #exception
- 파이썬 #python #enumerate
- aw3
- redis
- aws
- 파이썬 #python #지역함수
- docker
- 프로그래머스
- 파이썬 #python #filter #map #reduce
- 파이썬 #python #Comprehension
- 파이썬 #python #class #클래스 #상속
- jsonb
- 파이썬 #python #가변매개변수 #키워드가변매개변수 #args #kwargs
- 연산자메서드
- 파이썬 #python #os #os.path #glob
- 파이썬 #python #docstring
- 파이썬 #python #lambda #람다
- EC2
- PostgreSQL
- 배포
- 민감 정보 관리
- 파이썬기본문법 #파이썬 #python
- 파이썬 #python #전역변수 #지역변수 #eval
- 약수 수하기
- spring boot
- 파이썬 #python #함수 #function
- 사용자정의예외
Archives
- Today
- Total
Yeonnnnny
[1과목] 1-8. 모델이 표현하는 트랜잭션의 이해 본문
■ 트랜잭션이란
- 하나의 연속적인 업무 단위를 말함
- 트랜잭션에 의한 관계는 필수적인 관계 형태를 가짐
- 하나의 트랜잭션에는 여러 SELECT, INSERT, DELETE, UPDATE 등이 포함될 수 있음
- EX) 계좌이체
- A 고객이 B 고객에게 100만원을 이체하려고 한다고 가정
- A 고객의 잔액이 100만원 이상인지 확인
- 이상이면, A 고객 잔액을 -100 UPDATE
- B 고객 잔액에 +100 UPDATE
- 이때, 2번과 3번 과정이 동시에 수행되어야 함. 즉, 모두 성공하거나 모두 취소돼야 함(All or Nothing)
- 이런 특성을 갖는 연속적인 업무 단위를 트랜잭션이라고 함.
- A 고객이 B 고객에게 100만원을 이체하려고 한다고 가정
- 주의) 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 |