Web Application 을 만들다 보면, DB의 테이블을내 공통적인 column 들을 가지고 만들게 된다. 

* create_user, modify_user, create_datetime, modify_datetime 
  - 일반적으로 Admin을 운영하다보면 히스토리 관리를 해야 한다. 운영을 하다보면 실수를 하게 되는데 그 실수의 원인을 파악하기 위해서는 누가, 언제 고쳤는지에 대한 히스토리를 알고 있어야 한다. 
* audit log table
  - 위의 create_*, modify_* 의 경우, 데이터의 처음과 끝 사용자와 시간만 있다. 데이터가 변경된 흐름이 없다. 따라서 이럴 때는 실제로 변경된 데이터를 기준으로 하는 audit log table 을 만들어야 한다. 
  - 이 때 가장 쉽게 하려면 DB 단계에서 이 정보를 기록해야 하고, 잘 갖춰진 Postgresql 트리거가 https://github.com/m-martinez/pg-audit-json  이다. 
 * onwer_user, onwer_group
  - 데이터의 permission을 관리하기 위해서는 해당 데이터의 주인과 주인그룹이 있어야 한다. 데이터의 그룹과 group 이 데이터 마다 있어야 한다.