728x90
반응형
1. 트랜잭션
- 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위를 말한다.
- 즉, 여러 개의 쿼리들을 하나로 묶는 단위를 말한다.
- 특징으로는 원자성, 일관성, 독립성, 지속성이 있다.
- 이러한 특징을 ACID 특징이라고 말한다.
2. 원자성
- 원자성(atomicity)은 트랜잭션과 관련된 일이 모두 수행되었거나 되지 않았거나를 보장하는 특징이다.
- 트랜잭션이 원자처럼 더 이상 쪼개지지 않는 하나의 프로그램 단위로 동작해야 한다는 의미이다.
- 일부만 수행되는 일이 없도록 전부 수행하거나 아예 수행하지 않아야 한다. (all or nothing)
- COMMIT, ROLLBACK 같은 트랜잭션 제어 명령어 (Transaction Control Language)를 이용한다.
3. 일관성
- 트랜잭션은 데이터베이스의 일관성을 유지해야 한다.
- 일관성은 데이블이 생성 시 CREATE문과 ALTER문의 무결성 제약조건을 통해 명시된다.
4. 독립성
- 데이터베이스는 공유가 목적이므로 여러 트랜잭션이 동시에 수행된다.
- 동시에 수행되는 트랜잭션은 상호 존재를 모르고 독립적으로 수행된다.
- 독립성을 유지하기 위해서는 트랜잭션이 변경 중인 임시 데이터를 다른 트랜잭션이 읽고 쓸 때 제어가 필요하다. -> 동시성 제어
5. 지속성
- 트랜잭션이 정상적으로 완로(commit) 혹은 부분완료(partial commit)한 데이터는 DBMS가 책임지고 데이터베이스에 기록하는 성질이다.
- 버퍼내용 기록 전에 시스템 다운 등으로 실패하면 트랜잭션이 수행한 작업을 모두 원상복구한다.
6. 커밋과 롤백
- 커밋(commit)은 여러 쿼리가 성공적으로 처리되었다고 확정하는 명령어이다.
- 트랜잭션 단위로 수행되며 변경된 내용이 모두 영구적으로 저장되는 것을 말한다.
- 롤백은 트랜잭션으로 처리한 하나의 묶음 과정을 일어나기 전으로 돌리는 일(취소)을 말한다.
7. 무결성
- 무결성이란 데이터의 정확성, 일관성, 유효성을 유지하는 것을 말한다.
- 무결성이 유지되어야 데이터베이스에 저장된 데이터 값과 그 값에 해당하는 현실 세계의 실제 값이 일치하는 지에 대한 신뢰가 생긴다.
- 무결성의 종류는 개체 무결성, 참조 무결성, 고유 무결성, NULL 무결성이 존재한다.
- 개체 무결성 : 기본키로 선택된 필드는 빈 값을 허용하지 않는다.
- 참조 무결성 : 서로 참조 관계에 있는 두 테이블의 데이터는 항상 일관된 값을 유지해야 한다.
- 고유 무결성 : 특정 속성에 대해 고유한 값을 가지도록 조건이 주어진 경우 그 속성 값은 모두 고유한 값을 가진다.
- NULL 무결성 : 특정 속성 값에 NULL이 올 수 없다는 조건이 주어진 경우 그 속성 값은 NULL이 될 수 없다는 제약 조건이다.
728x90
반응형
'CS > Database' 카테고리의 다른 글
[DataBase] 데이터베이스와 테이블 관리하기 (1) | 2024.03.10 |
---|---|
[Database] ERD와 정규화 과정 (0) | 2023.05.18 |
[Database] 데이터베이스의 기본 (2) (0) | 2023.04.12 |
[Database] 데이터베이스의 기본 (1) (0) | 2023.04.09 |