文字数の関係で記事を2つに分割します。(前の記事から・・・)
■マスタ情報を複写して管理(パターン5)
取引が発生した時点の商品情報を取引(トランザクション)に複写して持つことにより、過去の商品情報を管理するようにします。
【図5】
①参照時点のマスタ情報をトランザクション側に持つ場合、マスタ情報の変更が発生した場合、トランザクション側の情報も同期をとって変更する必要があります。
②トランザクション側で参照していない時点での変更内容が不明となる可能性があります。
③顧客情報等は、トランザクションデータにマスタの情報を持つことによりセキュリティ上の問題が発生する可能性があります。
■変更属性のみ別エンティティで管理(パターン6)
変更された属性を別エンティティとして管理するようにします。
①変更された属性のみ履歴管理するため、変更されていない情報については保持する必要はありません。
②変更前の情報を確認するためには、どの属性なのかという情報(商品属性コード)と変更日付から変更前のレコードを特定する必要があります。