【发布时间】:2012-03-07 07:07:37
【问题描述】:
我有一个名为 Books 的表,其中包含一些列。
ColumnNames: BookId, BookName, BookDesc, xxx
我想跟踪某些列的更改。 我不必维护旧值和新值的历史。我只想跟踪该值是否已更改。
实现这一目标的最佳方法是什么?
1) 创建 Books 表为:
ColumnNames: BookId, BookName, BookName_Changed_Flag, BookDesc, BookDesc_Changed_Flag,
xxx, xxx_Changed_Flag?
2) 创建一个单独的表 Books_Change_Log 与 Books 表完全相同,但仅包含跟踪更改列:
ColumnNames: BookId, BookName_Changed_Flag, BookDesc_Changed_Flag, xxx_Changed_Flag?
请指教。
--更新--
每张表有 20 多列。每列代表 UI 中的某个元素。如果列值从其原始记录发生更改,我需要以不同的样式显示代表列值的 UI 元素。其余元素应该看起来正常。
【问题讨论】:
-
您是否需要记录每次更改行的时间,还是只需要知道该行历史上的某个时间点已更改?
-
我需要知道哪些列值发生了变化。我需要知道每一列的内容,以便我可以为该特定字段进行 UI 更改
标签: sql-server sql-server-2005 database-design