追加/編集/削除されたメモを追跡するSQLテーブルを作成します。私はこの時点で各NOTEID
の状態をテーブルに表示し、選択したノートの変更のログを表示し、与えられたすべてのノートを削除することができるようにしたいと考えていますNOTEID
。SQLテーブルの主キーの選択
create table[dbo].[NOTES]{
NOTEID [varchar](128) NOT NULL,
CREATEDBY [varchar](128) NOT NULL, /*is this redundant?*/
TIMECREATED DATE NOT NULL, /*is this redundant?*/
MODIFIEDBY [varchar](128) NOT NULL,
TIMEMODIFIED DATE NOT NULL,
NOTE [VARCHAR}(2000) NULL,
PRIMARY KEY (/* undecided */),
};
このテーブルを作成する自然な方法は何ですか?プライマリIDとしてプライマリIDを自動生成するか(NOTEID
、TIMEMODIFIED
)する必要がありますか?どのような偽の証明の保護を追加する必要がありますか?
すべてのメモを[メモ履歴]ウィンドウに表示したいと考えています。それで、3日前、作成時のメモ、2日前のメモ、修正された今日のメモを保存する必要があります。
ただし、「Notes」テーブルには各NOTEIDの最終状態が表示されます。つまり、
SELECT NOTE from NOTES where NOTEID = 'selected_note_id' and date = latest
私はあなたのcreatedbyとtimecreatedは冗長だと思います。一番早くタイムモディファイドされた値を持つレコードは、作成された時刻になります。 –