以前の変更を追跡するために、プロジェクトに履歴機能を設定する必要があります。
今、2つのテーブルがあるとします。
NOTES TABLE (id, userid, submissionid, message)
SUBMISSIONS TABLE (id, name, userid, filepath)
例:ノートに行があり、ユーザーがメッセージを変更したい。変更前と変更後の状態を追跡したい。
アイテムが「古い」かどうかを示すこれらの各テーブルに列を設定するための最良の方法は何でしょうか。アクティブな場合は0 [〜#〜]または[〜#〜]削除済み/非表示の場合は1。
履歴も作成したい(AUDIT TRAIL
)前の状態のid
と新しい状態のid
を保持するテーブル。これらのIDはどのテーブルに関連していますか?
ご覧ください
http://www.codeproject.com/Articles/105768/Audit-Trail-Tracing-Data-Changes-in-Database
データベース設計で監査証跡を作成する方法については、非常によく読んでいます。監査証跡は、データベースの実装に必要です。システム内のデータベースユーザーのアクションを常に確認できる必要があります。
PTA(ポイントインタイム)システムで変更された行を追跡するには、PTA対象のすべてのテーブルにいくつかの標準PTA(ポイントインタイム)列を追加します。
私は以下を提案します:
DateCreated – the actual date on which the given row was inserted.
DateEffective – the date on which the given row became effective.
DateEnd – the date on which the given row ceased to be effective.
DateReplaced – the date on which the given row was replaced by another row.
OperatorCode – the unique identifier of the person (or system) that created the row.
データのバージョン管理機能を設計する場合、いくつかの最小限の(私は思う)要件があります。
ここ は、テックフェアで何度か行ったプレゼンテーションのスライドです。上記のすべてをどのように実行できるかについて説明します。そして here はより詳細なドキュメントです。このドキュメントについてはお詫びする必要があります-これは進行中の作業であり、すべてのセクションが完了しているわけではありません。ただし、単純なバージョン管理から完全なバイテンポラルアクセスまで、あらゆるものを実装するために必要なすべての情報が得られるはずです。