0

我有三个事务表,用户可以在其中更新事务的状态。这些表在上次更新状态时捕获用户详细信息、数据时间等。

我有一个要求,如果用户将交易状态更新为 'X' ,则应在第二天选择这些交易。现在的问题是.. 如果用户“A”将状态更新为“X”,该表将捕获用户“A”的详细信息,现在如果用户“B”将状态从“X”更改为“Y”,则表将捕获用户“B”的详细信息(最后更新状态的人),用户“A”的详细信息将丢失。第二天,由于状态已更改,我无法选择该交易。

添加包含状态和用户详细信息的列的新表是否更好?当有人将状态更改为“X”时,将在其中插入一条记录。或者当状态更新为“X”时,最好在现有事务表中添加新列来捕获用户详细信息?

-------------------------
Existing Table  design
-------------------------
------------------------------------------------------------------------
Key | Status | User name | User ID | Update_Dt |Other Columns.........
-------------------------------------------------------------------------
1   |    Y   |      B    |    2    |  2013-01-10


-------------------------
Adding new Table
-------------------------
------------------------------------------------
Key | Status | User name | User ID | Update_Dt |
------------------------------------------------
1   |    X   |      A    |     1   |  2013-01-10

或者

----------------------------------
Extending Existing Table  design
---------------------------------
--------------------------------------------------------------------------------------
Key| Status|User_name|User_ID|Update_Dt|X_Stat_User_Name|X_Stat_User_ID| X_Stat_Upd_Dt|other columns....
---------------------------------------------------------------------------------------
1  |   Y   |   B     |    2  |2013-01-10|    A          |       1      | 2013-01-10 
4

2 回答 2

1

我会添加另一个表。这还有一个好处是您可以查看交易的历史记录。

相信我——“他们”说他们有一天不需要它,他们会来找你,“这个值是错误的。谁改变了它?

于 2013-04-11T19:42:22.933 回答
0

我建议添加另一个表调用 Transaction ,您可以在其中记录到它。因此,获得对其进行的所有修改可能会更容易。

于 2013-04-11T15:11:27.350 回答