JPA/데이터베이스

트랜잭션, 기본키와 외래키

이째형 2021. 7. 28. 15:18

트랜젝션(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