Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
트랜잭션
Report
Hoyoung Jung
Follow
Master - CodeSquad at CodeSquad
Dec. 7, 2014
•
0 likes
2 likes
×
Be the first to like this
Show More
•
1,397 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Check these out next
mysql 서브쿼리
Hoyoung Jung
GROUP BY, CASE WHEN
Hoyoung Jung
데이터베이스 정규화
Hoyoung Jung
MySQL 인덱스의 기초
Hoyoung Jung
tomcat jdbc mysql 프로그래밍
Hoyoung Jung
MySQL JOIN
Hoyoung Jung
데이터베이스 모델링
Hoyoung Jung
MySQL delete.update
Hoyoung Jung
1
of
25
Top clipped slide
트랜잭션
Dec. 7, 2014
•
0 likes
2 likes
×
Be the first to like this
Show More
•
1,397 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Engineering
데이터베이스 트랜잭션
Hoyoung Jung
Follow
Master - CodeSquad at CodeSquad
Advertisement
Advertisement
Advertisement
Recommended
철권 1단에서 벗어나기
Hoyoung Jung
487 views
•
27 slides
코딩 공부 시작하기
Hoyoung Jung
664 views
•
35 slides
내 질문에는 왜 답변이 달리지 않을까
Hoyoung Jung
1.6K views
•
21 slides
entry를 이용한 코딩 교육1
Hoyoung Jung
2.1K views
•
28 slides
Github Markdown
Hoyoung Jung
1.1K views
•
15 slides
stored procedure2 + jdbc
Hoyoung Jung
1.3K views
•
12 slides
More Related Content
More from Hoyoung Jung
(20)
mysql 서브쿼리
Hoyoung Jung
•
2.5K views
GROUP BY, CASE WHEN
Hoyoung Jung
•
1.5K views
데이터베이스 정규화
Hoyoung Jung
•
4.2K views
MySQL 인덱스의 기초
Hoyoung Jung
•
10.7K views
tomcat jdbc mysql 프로그래밍
Hoyoung Jung
•
5.9K views
MySQL JOIN
Hoyoung Jung
•
2.6K views
데이터베이스 모델링
Hoyoung Jung
•
9.5K views
MySQL delete.update
Hoyoung Jung
•
1.9K views
MySQL Select (1)
Hoyoung Jung
•
3.2K views
4. 함수포인터
Hoyoung Jung
•
1.5K views
2. MySQL DataTye Basic
Hoyoung Jung
•
4.8K views
MySQL Create Table
Hoyoung Jung
•
6.3K views
Mymysql basic sql
Hoyoung Jung
•
6.1K views
데이터베이스 베이직 소개
Hoyoung Jung
•
20.2K views
Crontab 간단 사용법
Hoyoung Jung
•
1K views
3.포인터
Hoyoung Jung
•
1.2K views
포인터의기초 (2) - 포인터 사용하기1
Hoyoung Jung
•
1.8K views
포인터의 기초(1)
Hoyoung Jung
•
3.3K views
우분투에 시스템콜 추가하기
Hoyoung Jung
•
5K views
Preemption under Linux
Hoyoung Jung
•
807 views
Recently uploaded
(20)
약물중절수술후음주 (카카오:TU66)
tjska166
•
4 views
Unreal_GameAbilitySystem.pptx
TonyCms
•
86 views
DevRookie 언리얼 EQS.pptx
MUUMUMUMU
•
7 views
언리얼 리플렉션 & CDO.pptx
MUUMUMUMU
•
2 views
揭秘英国留学:如何获得伯明翰大学毕业证?
gukeho1
•
2 views
DevRookie 언리얼 에셋과 패키지.pptx
MUUMUMUMU
•
12 views
Monash莫纳什大学毕业证
gzexe
•
3 views
부산중절가능한곳알수있을까요? 카톡FDA2
sleep162
•
3 views
미프진성관계 미프진호르몬 미프진약구할곳 카톡 FDA2
ljy7570
•
3 views
아기집이 안보이는데 미프진복용해도될까요 카톡 FDA2
cin4446
•
2 views
[2022]_SW사업_대가산정_가이드(2022년_개정판
sam Cyberspace
•
57 views
메타버스 서비스에 Android 개발자가 할 일이 있나요?
Myungwook Ahn
•
92 views
slideshare.docx
chmam02
•
2 views
Dev Rookie 파이썬 GUI.pptx
MUUMUMUMU
•
15 views
Brazil.pptx
BitangjolArnoldJan
•
2 views
ParameterizedTest 와 ContextCaching.pptx
junu6
•
8 views
DevRookie 메모리 최적화.pptx
MUUMUMUMU
•
10 views
스마트감리앱 아키엠
ssuser4f5538
•
10 views
2023_콘업제안서_건설 디지털 협업 스마트건설 공사감리 공사검측 건설사업관리 페이퍼리스
ssuser4f5538
•
3 views
DevRookie 언리얼 군중 애니메이션.pptx
MUUMUMUMU
•
8 views
Advertisement
트랜잭션
데이터베이스베이직트랜잭션 NHN NEXT
정호영 나눔고딕및나눔고딕코딩글꼴을설치해주세요.
대표적DB응용 OnLineTransactionProcessing(OLTP) OnLineAnalyticalProcessing(OLAP)
Transaction 원래뜻은'거래':쌍방이무언가를교환해야성립 데이터베이스에서는
쪼갤수없는작업의단위를트랜잭션이라고함
Transaction의특징 ACID특성:강의전체에서가장중요한키워드 Atomicity(원자성)
Consistency(일관성) Isolation(고립성) Durability(지속성)
Atomicity:원자성 All or
Nothing '트랜잭션은완전히수행되거나전혀수행되지않은상태를유지해야한다'
원자성의예제 영남이는우진이에게고흐의그림을1억에샀다. 이거래는다음과같이표현
트랜잭션은어디부터어디까지? 1)영남.돈-=1억 2)우진.돈+=1억 3)우진.아이템-=그림 4)영남.아이템+=그림
원자성의예제 영남이는우진이에게고흐의그림을1억에샀다. 이거래는다음과같이표현
트랜잭션은어디부터어디까지?전부다묶어서! 1) 영남.돈-= 1억 2) 우진.돈+= 1억 3) 우진.아이템-= 그림 4) 영남.아이템+= 그림
Consistency:일관성 트랜잭션을수행하고나면하나의일관된상태(correctstatus) 에서다른일관된상태로바뀌어야한다.
Consistency:일관성 Correct State:
도메인의유효범위, 무결성제약조건등의제약조건을위배하지않는정상적인상태 Correct State Correct State Transaction
Consistency예제 영남이의골드잔액은100골드.이때영남이가상점에서'몰왕검'을3200골드에구매하려고함 영남이는상점에3200골드를내고'몰왕검'을사기위해계속구입버튼을누름(100–3200=-3100골드)
시스템상에서골드>0제약조건을가지고있으므로절대'몰왕검'을살수없음
Consistency예제2 세현이는100골드를보유중이다. 1)2500골드의강철의솔라리를구매와
2)3200골드의몰왕검판매를 묶어서진행하려한다. 이경우 1)로인해일시적으로비정상상태가되어도 최종상태는정상상태이므로트랜잭션은수행될수있다
Isolation(고립성) '한트랜잭션이실행되는동안외부에서는트랜잭션에접근할수없다'
Isolation(고립성) 한번에하나의트랜잭션만수행한다면고립성은항상보장 그러나실제DB에서는동시에여러트랜잭션이수행
다수의트랜잭션이동시에수행되더라도한번에하나씩수행된것과동일한결과를가져야하는특성
Durability(지속성) 완료(commit)된트랜잭션은영구적으로보존이되어야된다는특성 *커밋:트랜잭션의완료를나타내는용어
Durability(지속성) 예)트랜잭션이commit된직후PC의리셋버튼을눌렀다. 1)어떻게되어야하나?
2)1)의답을위해시스템과OS레벨에서해야하는일은?
트랜잭션사용하기 STARTTRANSACTION [SQL명령어]+
COMMIT|ROLLBACK COMMIT:트랜잭션을완료함 ROLLBACK:트랜잭션을취소함
롤백예제
COMMIT예제
트랜잭션프로그래밍 JDBC에서 Connection은자동커밋이기본설정
따라서SQL문장은하나하나커밋이됨 기본설정을바꿔야트랜잭션을사용할수있음
JDBC트랜잭션예제 //자동커밋해제 conn.setAutoCommit(false);
//커밋하기 conn.commit(); //롤백하기 conn.rollback();
예제
주의사항 실제코드에서는예외처리코드를꼭작성해야함 트랜잭션의중간에에러가발생했을경우반드시rollback을해야함
트랜잭션을작성할때는얘기치못한에러가발생했을때회사에손해가적게가는방향으로작성해야함!!
실습 account(id,이름,잔액)테이블생성 이체프로그램작성
잔액이0원이하가되면롤백 정상적으로이체가가능할경우commit
추가로공부할것들 •TRANSACTION ISOLATION
LEVEL에대해각자공부합시다.
THANK YOU!!!
Advertisement