첫 번째 전자 상거래 스키마를 설계하고 있습니다. 나는 주제에 대해 잠시 동안 읽고 있었고, a order_line_item
와 a 의 관계에 대해 약간 혼란 스럽 습니다.product
A product
를 구입할 수 있습니다. 다양한 세부 사항이 있지만 가장 중요한 것은입니다 unit_price
.
은 order_line_item
받는 외래 키가 product_id
1, 구입 quantity
구입하고,이 unit_price
시점에서 고객이 제품을 구입합니다.
내가 읽은 대부분은 unit_price
on을 order_line_item
명시 적으로 추가해야 한다고 말합니다 (즉,를 통해 참조하지 않아야 함 product_id
). 상점에서 향후 가격을 변경하여 주문 보고서, 추적, 무결성 등을 엉망으로 만들 수 있으므로 의미가 있습니다.
내가 이해하지 못하는 것은 왜 unit_price
값을 order_line_item
?
unit_price
변경 사항 을 문서화하는 감사 / 기록 테이블을 작성하는 것이 좋지 product
않습니까?
를 만들면 테이블 order_line_item
의 외래 키 product_audit
가 추가되고 가격을 참조에서 검색 할 수 있습니다.
이 접근법 (데이터 복제, 가격 변경 내역 등)을 사용하면 많은 긍정적 인 것으로 보이므로 왜 더 자주 사용하지 않습니까? 이 접근 방식을 사용하는 전자 상거래 스키마의 예를 보지 못했습니다.
UDPATE : 내 질문은 천천히 변화하는 차원 과 관련이있는 것 같습니다 . 느리게 변화하는 차원이 데이터웨어 하우스 및 OLAP과 관련되어 있기 때문에 여전히 혼란 스럽습니다. 따라서 느린 변경 차원 유형을 기본 OLTP (Business Transaction Process Database)에 적용 할 수 있습니까? 많은 개념을 혼합하고 있는지 궁금합니다. 지침에 크게 감사드립니다.