ユーザーがトランザクションのステータスを更新できる 3 つのトランザクション テーブルがあります。これらのテーブルは、ステータスが最後に更新されたときのユーザーの詳細、日時などをキャプチャします。
ユーザーがトランザクションのステータスを「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