본문 바로가기

IT일반과목/DataBase

데이터베이스 (집공부7)

1. 트랜잭션(TRANSACTION)

 -> 데이터 처리의 한 단위

EX)

다른은행에 돈을 송금할때 정상적이면 돈이 출금되고 다른은행에 돈이 입금된다. 


1.1 트랜잭션 제어를 위한 명령어(Transaction Control Language)

COMMIT, SAVEPOINT, ROLLBACK


 -> 데이터를 추가, 수정, 삭제하는건 데이터를 조작하는 명령어인 DML(Data Manipulation Language)를 말한다.

 -> DML 작업이 성공적으로 처리될려면 COMMIT 명령을, 작업을 취소할려면 ROLLBACK 명령을 써야한다.


--------------------------------------------------------------------------------------------------------------------


1.2 COMMIT

 -> COMMIT 은 모든 작업들을 정상적으로 처리하겠다고 확정하는 명령어이다.

 -> COMMIT 명령어를 수행하게 되면 하나의 트랜잭션 과정을 종료하게 된다.


--------------------------------------------------------------------------------------------------------------------


1.3 ROLLBACK
 -> ROLLBACK은 작업 중 문제가 발생되어서 트랜잭션의 처리 과정에서 발생한 변경사항을 취소하는 명령어입니다.
 -> ROLLBACK 명령어 역시 트랜잭션 과정을 종료하게 됩니다.
 -> ROLLBACK은 트랜잭션으로 인한 하나의 묶음 처리가 시작되기 이전의 상태로 되돌립니다.

트랜잭션은 여러개의 물리적인 작업(DML 명령어)들이 모여서 이루어지는데 이러한 과정에서 하나의 물리적인 작업이라도 문제가
발생하게 되면 모든 작업을 취소해야 하므로 이들을 하나의 논리적인 작업단위(트랜잭션)로 구성해 놓는다.
문제가 발생하게 되면 이 논리적인 작업 단위를 취소해 버리면 되기 때문입니다.

--------------------------------------------------------------------------------------------------------------------


1.4 COMMIT 명령어와 ROLLBACK 명령어의 장점
 -> 데이터 무결성이 보장됩니다.
 -> 영구적인 변경 전에 데이터의 변경 사항을 확인할 수 있습니다.
 -> 논리적으로 연관된 작업을 그룹화할 수 있습니다.

--------------------------------------------------------------------------------------------------------------------


1.5 COMMIT 명령어 
 -> Transaction(INSERT, UPDATE, DELETE) 작업 내용을 실제 DB에 저장합니다.
 -> 이전 데이터가 완전히 UPDATE 됩니다.
 -> 모든 사용자가 변경된 데이터의 결과를 볼 수 있습니다.

--------------------------------------------------------------------------------------------------------------------


1.6 ROLLBACK 명령어
 -> Transaction(INSERT, UPDATE, DELETE) 작업 내용을 취소합니다.
 -> 이전 COMMIT 한 곳 까지만 복구합니다.

--------------------------------------------------------------------------------------------------------------------

제약조건

제약조건

표기

설명

UNIQUE

UK

중복된 값을 허용하지 않습니다.

NOT NULL

NN

NULL 값을 허용하지 않습니다.

PRIMARY KEY

PK

UNIQUE와 NOT NULL의 조건을 만족하는 값을 허용합니다.

FOREIGN KEY

FK

참조하는 테이블의 칼럼의 값이 존재하면 값을 허용합니다.

CHECK

CK

제약조건을 설정할 때 설정한 값만을 받아들입니다.