본문 바로가기
Database/Postgres

postgreSql) 선분이력 테이블

by v.v 2022. 5. 2.

수정된 데이터를 이력으로 관리하는 서비스를 제공해야 해서

해당 테이블에 대한 선분 이력 테이블을 DA분께 설계 요청드렸고

생성된 테이블을 통해 기능을 완성했다 

 

활용한 선분 이력 테이블에 대해서 정리해보았다

 

  • 선분 이력 테이블이란? 

이력을 관리하는 테이블로서 시작 시점과 종료 시점으로 데이터 이력을 관리한다


  • 선분 이력 테이블 활용방법?

original 테이블에서 변경사항이 발생했을 때,

최신 값을 기본 테이블에 수정하고

수정하기 이전의 레코드를 복사해서 history(선분 이력) 테이블에 추가한다

 

history 테이블에 추가할 때 종료일시와 시작 일시를 기록하는데,

종료일시는 변경하는 시간(현재시간),

시작 일시는 최초 입력 시 '19700101000000'로 입력한다

 

동일한 레코드의 두 번째 변경사항이 발생하면

종료일시는 변경하는 시간(현재시간), 시작 일시는 이전의 종료일시를 기록하면 된다.

 

향후 이력테이블의 변경사항을 조회할 때 특정 시점을 종료일시와 시작 일시의 

예) data< '20220502160344' and '19700101000000' < end_data ; 

사이를 조회하면 해당 기간의 이력 레코드를 조회할 수 있다


  • 엑셀을 통해 간단하게 알아보자

⊙ original 테이블의 A -> AA로 변경시

original 테이블의 수정된 데이터 AA -> AAA로 변경시


이렇게 선분이력 테이블을 활용하면 어렵지 않게 이력관리를 할 수 있다

 

'Database > Postgres' 카테고리의 다른 글

postgreSql) Gin index생성  (0) 2022.04.27

댓글