하나의 단위로 데이터를 처리하는 트랜잭션
1) 관계형 데이터베이스에서 하나의 작업 또는 밀접하게 연관되어 있는 작업 수행을 위해 나눌 수 없는 최소 수행 단위
2) SQL 문법 중 이러한 트랜잭션을 제어하는 데 사용하는 명령어를 TCL 이라고 합니다.
SQL작성
SQL작성
-> 메모리상에 데이터 변경 밥영
COMMIT; 하면 DB에 데이터 영구 변경 반영
📌트랜잭션은 COMMIT 할때까지의 작업


데이터베이스 접속을 시작으로 여러 데이터베이스에서 관련 작업을 수행한 후 접속을 종료하기까지 전체 기간
세션이 여러 개라는 말은 현재 오라클 데이터베이스에 접속하여 사용 중인 연결이 여러 개 있다는 뜻이다.
예를 들어 현재 우리가 사용하고 있는 오라클 데이터베이스에 토드를 사용하여 SCOTT 계정으로 접속했을 때, 명령어 프롬프트를 켜서 SQL*PLUS를 실행하여 SCOTT으로 접속할 경우에 세션은 두 개가 된다. (dbever쪽에서 하나, cmd에서 하나)
데이터베이스는 여러 곳(여러 사용자, 여러 응용 프로그램)에서 동시에 접근하여 데이터를 관리,사용하는 것이 목적이므로 대부분 수많은 세션이 동시에 연결되어 있습니다.
읽기 일관성이란 어떤 특정 세션에서 테이블의 데이터를 변경 중일 때 그 외 다른 세션에서는 데이터의 변경이 확정되기 전까지 변경 사항을 알 필요가 없으므로, 데이터를 변경 중인 세션을 제외한 나머지 세션에서는 현재 진행 중인 변경과 무관한 본래의 데이터를 보여주는 특성을 의미합니다.
세션1

세션2

커밋을 하기전엔 추가한 데이터가존재하지 않는다
커밋을 해야 하나의 트랜잭션이 만들어짐


동일한 데이터를 바꿀때는 한쪽 작업이 끝날때까지 다른쪽 작업을 수정할 수 없게 된다
-> 데이터의 일관성을 위해 한쪽 작업이 끝날때 까지 대기함( COMMIT해야 작업이 완료됨 )
한쪽에서 바꾸고 커밋을 안하면 무한로딩한다.

SQL
DDL - Data Definition Language: 데이터 정의어
- 데이터의 구조 정의하는 언어
- 실행하자마자 COMMIT 바로 실행 -> 바로 영구 반영
DML - Data Mainpulation Language: 데이터 조작어- INSERT, UPDATE, DELETE, SELECT - DQL
- COMMIT, ROLLBACK이 적용될 수 있음
DCL -Data Control Language: 데이터 제어어- GRANT, REVOKE
- COMMIT, ROLLBACK - TCL
세션: 연결 시작과 종료까지가 하나의 세션