0. 트랜잭션과 무결성
기술노트
0. 트랜잭션과 무결성
1. 트랜잭션
트랜잭션은 DB에서 하나의 논리적 기능을 수행하기 위한 작업 단위를 말한다. DB에 접근하는 방법은 쿼리이므로 즉 여러 개의 쿼리들을 하나로 묶는 단위를 말한다. 이에 대한 특징은 원자성, 일관성, 독립성, 지속성이 있으며 이를 한꺼번에 ACID 특징이라고 한다.
원자성
원자성은 트랜잭션과 관련된 일이 몯 ㅜ수행되었거나 되지 않았거나를 보장하느 특징이다.
일관성
일관성은 허용된 방식으로만 데이터를 변경해야 하는 것을 의미한다.
격리성
ㄱ겨리성은 트랜잭션 수행 시 서로 끼어들지 못하는 것을 의미한다. 복수의 병령은 서로 격리되어 마치 순차적으로 실행되는 것 처럼 작동되어야 하고 데이터 베이스는 여러 사용자가 같은 데이터에 접근할 수 있어야 한다.
지속성
지속성은 성공적으로 수행된 트랜잭션은 영원히 반영되어야 하는 것을 의미한다.
2. 무결성
무결성이란 데이터의 정확성, 일관성, 유효성을 유지하는 것을 말하며 무결성이 유지되어야 DB에 저장된 값과 그 값에 해당하는 현실 세계의 값이 일치하는지에 대한 신뢰가 생긴다.
무결성 종류
- 개체 무결성 : 기본키로 선택된 필드는 빈 값을 허용하지 않는다.
- 참조 무결성 : 서로 참조 관계에 있는 두 테입르의 데이터는 항상 일관된 값을 유지해야 한다.
- 고유 무결성 : 특정 속성에 대해 고유한 값을 가지도록 조건이 주어진 경우 그 속성 값은 모두 고유한 값을 가진다.
- NULL 무결성 : 특정 속성 값에 NULL이 올 수 없다는 조건이 주어진 경우 그 속성 값은 NULL이 될 수 없는 제약 조건