我有三个事务表,用户可以在其中更新事务的状态。这些表在上次更新状态时捕获用户详细信息、数据时间等。
我有一个要求,如果用户将交易状态更新为 '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