Derived Column

파생 컬럼은 계산 비용과 갱신 책임을 교환한다

주문 총액을 저장하면 읽기는 빠르지만 주문상세가 바뀔 때마다 같은 계산을 다시 수행해야 한다.

1 상세 변경order_items의 수량 또는 단가가 바뀐다.
2 재계산SUM(unit_price × quantity)를 다시 구한다.
3 저장orders.total_amount를 한 트랜잭션 안에서 갱신한다.
4 검증원본 합계와 저장 합계가 다른지 로그로 확인한다.
관점
이득
책임
읽기
목록과 상세 화면에서 총액을 즉시 읽는다.
저장된 값이 최신인지 확인해야 한다.
쓰기
복잡한 집계를 매번 반복하지 않는다.
삽입·수정·삭제마다 재계산한다.
업무 의미
주문 당시 금액 보존처럼 이력 요구를 만족한다.
현재 금액과 주문 시점 금액을 구분한다.

기준: 파생 컬럼은 정규화 규칙의 예외가 아니라 읽기 패턴과 갱신 책임이 명확할 때 선택하는 저장 전략이다.