リレーショナル データベースにテーブルの履歴/リビジョンを保持する最善の方法を見つけようとしています。
私はいくつかの調査と読書を行いましたが、変更を追跡するための最良の方法が何であるかはわかりません. 私の主なテーブルについては、追跡するためにリビジョン テーブルに落ち着いたと確信していますが (図を参照)、リレーション テーブルについてはよくわかりません。たぶん、変更を保持する監査証跡テーブルだけでしょうか?
以下のサンプル画像を見て、movies_has_actors
テーブルの履歴を保持する最良の方法は何ですか? リレーションが作成された時点でどの MOVIE Revision_id がアクティブであったかを知る必要があるため、2 つのメイン テーブル (映画、俳優) を単純に処理することはできません。また、どの USER がリレーションを追加したかを追跡したい場合はどうすればよいでしょうか (USER テーブルはサンプル画像にはありません)。リレーション テーブル自体にすべてを保持したくありません。それは、単に巨大になり、クエリが遅くなるからです...![代替テキスト][1]
要約すると、関係テーブルの履歴を保持する最良の方法は何ですか?
画像へのリンク: img115.imageshack.us/my.php?image=44623598nv1.jpg
[1]:イメージ