트랜젝션(transaction)
하나의 작업을 수행하기 위해 필요한 데이터베이스의 연산을 모아놓은 것. 데이터베이스에서의 논리적 작업의 단위
커밋(Commit): 모든 부분작업이 정상적으로 완료하면 이 변경사항을 한꺼번에 DB에 반영한다.
롤백(Rollback): 부분 작업이 실패시 트랜잭션 실행 전으로 되돌린다. 하나의 트랜잭션 처리가 비정상적으로 종료되어 데이터베이스 일관성을 깨뜨렸을 때 트랜잭션의 일부가 정상적으로 처리되었더라도 트랜잭션의 원자성을 구현하기 위해 이 트랜잭션이 행한 모든 연산을 취소한다.
트랜젝션의 특징 ACID(Atomicity, Consistency, Isolation, Durability)
데이터베이스 트랜젝션이 안전하게 수행된다는 것을 보장하기 위한 트랜잭션의 특징
- 원자성(Atomicity) : 트랜잭션이 DB에 모두 반영되거나, 혹은 전혀 반영되지 않아야 한다.
- 일관성(Consistency) : 트랜잭션의 작업 처리 결과는 항상 일관성이 있어야 한다.
- 독립성(Isolation) : 둘 이상의 트랜잭션이 동시에 병행 실행되고 있을 때, 어떤 트랜잭션도 다른 트랜잭션 연산에 끼어들 수 없다.
- 영속성(Durability) : 트랜잭션이 성공적으로 완료 되었으면 결과는 영구적으로 반영되어야 한다.
기본키와 외래키
키는 데이터베이스에서 데이터의 사용 및 관계 표현에 가장 중요한 개념이다. 키라는 용어는 무엇인가를 유일하게 식별한다는 의미가 있다. 즉 키가 되는 속성은 반드시 값이 달라서 중복되는 일이 없어야 한다.
'JPA > 데이터베이스' 카테고리의 다른 글
트랜잭션 격리수준 (0) | 2021.10.21 |
---|---|
@Transcational (0) | 2021.10.19 |
데이터형식, 테이블 수정, 도메인 제약조건 (0) | 2021.08.01 |