일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터베이스
- JDBC
- 순환신경망
- 딥러닝
- 상속
- JSP/Servlet
- 개발일기
- ChatGPT
- SQL
- 혼공머신
- 정보처리기사실기
- 연습문제
- 자바스크립트
- 자바 실습
- 파이썬
- CSS
- 컴퓨터비전
- 컴퓨터구조
- 중학수학
- 디버깅
- JSP
- 중학1-1
- 자바
- 정보처리기사필기
- html/css
- 데이터분석
- 자바스크립트심화
- 머신러닝
- rnn
- c언어
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
트랜잭션 제어와 세션 1 - 하나의 단위로 데이터를 처리하는 트랜잭션과 트랜잭션을 제어하는 명령어 본문
트랜잭션 제어와 세션 1 - 하나의 단위로 데이터를 처리하는 트랜잭션과 트랜잭션을 제어하는 명령어
huenuri 2024. 8. 21. 17:48이제 1시간 15분 정도에 걸쳐 트랜젝션의 기본적인 개념 학습을 진행해보려고 한다. 나머지 시간에는 꼭 해야 할 중요한 일이 있다. 새벽 시간이 너무나도 빨리 가는 것 같아 정말 아쉽다.
바로 이어서 공부를 진행해 볼 것이다.
학습 목표
- TCL이 무엇인지 배울 수 있다.
- 하나의 단위로 데이터를 처리하는 트랜젝션
학습 시간
새벽 5시 40분 ~ 6시 30분 <50분 소요>
1. 하나의 단위로 데이터를 처리하는 트랜잭션
트랜잭션이란?
송금 트랜잭션
이 4가지가 트랜젹션이다. 이때 COMMIT까지 해야 모든 과정이 완료된다.
만약 데이터가 유실이 되면 큰일이 난다. 모두 실행이 되지 않으면 모두 실행이 되지 않도록 해야 한다.
트랜잭션의 4가지 특성
이 부분은 시험문제에 자주 등장하므로 꼭 기억하기로 하자.
2. TCL 명령어의 종류
하나의 트랜잭션에 묶여있는 데이터 조작어(DML)의 수행 상태는 모든 명령어가 정상적으로 수행 완료된 상태 또는 모든 명령어가 취소된 상태 2가지로만 존재할 수 있다.
TCL 명령어를 사용하기 전에 먼저 테이블을 복사하여 만들어준다.
이러한 모든 테이블을 불러올 수 있다.
이제 정보를 삭제해본다.
그랬을 때 사장님의 정보인 100번이 삭제되었음을 볼 수 있다.
그런 다음 ROLLBACK을 하면 이전의 상태로 되돌릴 수 있다. 이번에는 다시 삭제를 하고 COMMIT을 했다. 이것은 영구 저장하는 명령어이다.
커밋을 한 다음에는 아무리 롤백을 해도 이전의 상태로 되돌아가지 않는다.
퀴즈 문제 풀기
여기까지 진행했을 때 TAB3에 저장된 값은 몇 개일까? 총 4개이다. A, B가 COMMIT으로 저장이 되고, ROLLBACK을 했으므로 C가 사라진다. 거기에 D, E을 COMMIT 했으므로 4개가 남아있다.
3. 트랜잭션을 제어하는 명령어
테이블 만들기
테이블을 생성하여 이러한 4개의 행을 불러왔다.
테이블에 데이터를 입력 · 수정 · 삭제하기
수정하고 삭제한 결과 이처럼 결과값이 바뀌었음을 확인할 수 있다.
트랜잭션을 취소하고 싶을 때 ROLLBACK
현재 트랜잭션에 포함된 데이터 조작 관련 명령어의 수행을 모두 취소한다.
다시 처음으로 돌아갔다.
트랜잭션을 영원히 반영하고 싶을 때 COMMIT
처음의 롤백 문장은 앞선 예제에서 진행했던 부분이다. 이렇게 3개의 작업을 진행한 결과가 나왔다.
COMMIT으로 영구 저장까지 해보았다. 이 명령어는 한번 사용하면 절대로 되돌릴 수 없으므로 매우 신중하게 선택해야 한다.
학습을 마치고
트랜잭션에 대한 학습을 여기서 마친다. 강의도 듣고 책도 보면서 예제도 실습해 보았다. 트랜잭션이 무엇인지 알게 되었고 어제 정처기 책에서 보았던 이 개념도 확실히 정립이 되어 기뻤다.
DB든 코딩이든 프로그래밍에서는 결과를 바로 확인할 수 있는 점이 정말 매력적인 것 같다. 어쩌면 이런 이유로 내가 프로그래밍과 개발을 좋아하는지도 모르겠다~ 바로 이어서 세션에 대해서 학습하고자 한다. 세션은 JSP 수업에서도 어제 배웠던 개념인데 데이터베이스에서는 어떻게 다른지 궁금하다.
'알고리즘 및 자료 관리 > 데이터베이스' 카테고리의 다른 글
데이터 정의어 1 - 정의어와 CREAT, ALTER, RENAME, TRUNCATE, DROP 명령어 (0) | 2024.08.23 |
---|---|
트랜젝션 제어와 세션 2 - 세션과 읽기 연관성, LOCK에 대하여 (0) | 2024.08.21 |
데이터를 추가, 수정, 삭제하는 데이터 조작어 4 - DML 수업 (0) | 2024.08.21 |
데이터를 추가, 수정, 삭제하는 데이터 조작어 3 - 단원 마무리 연습문제 풀기 (0) | 2024.08.21 |
데이터를 추가, 수정, 삭제하는 데이터 조작어 2 - 데이터 수정 및 삭제 (0) | 2024.08.21 |