データベース側でイベント追跡をどのように実装しますか?テーブルに次の列があると仮定します。UserID、Column1、Column2、Column3ここで、UserIDは主キーであり、Column1には一意の制約があります。
ユーザーがアプリケーション側でColumn1、Column2、およびColumn3の値を変更できると想定します。
さらに、各列に加えられた変更を検出して、ユーザーに表示する必要があると想定します。
私はこのようなことをすることを考えました:
Table1: EventID (PK), EventDate, UserID, Column1
Table2: EventID (PK), EventDate, UserID, Column2
Table3: EventID (PK), EventDate, UserID, Column3
もちろん主キーを除いて、上記の列のいずれにも一意性の検証はありません。このように、各列が変更されるたびに、新しい値を適切なテーブルに挿入し、列に加えられたすべての変更を追跡できますが、これは、Column1の一意の制約を放棄する必要があることを意味します。各UserIDの最新のColumn1値を取得し、それらを相互に比較することで、アプリケーション層の一意性を確認できます。(これがどれほど賢いかわからない)
これは、変更を追跡する必要がある列ごとに個別のテーブルを作成する必要があることも意味します。
データベース設計の専門家ではないので、イベントトラッキングを実行できる、最も洗練された方法でデータベースアーキテクチャを実装する方法を知りたいと思います。
PSこれが役立つ場合は、SQLAzureの使用に興味があります。