我有三个交易表,用户可以在其中更新交易状态。 这些表捕获上次更新状态时的用户详细信息,数据时间等。
我有一个要求,即如果用户将交易状态更新为“X”,则应在第二天选择这些交易。 现在的问题是..如果用户'A'将状态更新为'X',表格将捕获用户'A'的详细信息,现在如果用户'B'将状态从'X'更改为'Y', table将捕获用户'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
OR
----------------------------------
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
答案 0 :(得分:1)
我会添加另一张表。这也有一个优点,你可以看到交易的历史。
相信我 - '他们'说他们有一天不需要它,他们会来找你,'这个价值是错误的。谁改变了?'
答案 1 :(得分:0)
我建议添加另一个表调用Transaction,你可以在其中登录它。因此,可以更容易地完成对其进行的所有修改。