[英]Data Entry Tracking (Database Design)
我已經開發了一個網站(PHP),允許員工將記錄添加到我們的系統上。
員工將在我們的數據庫中添加數千條記錄。
我需要一種方法來跟蹤已完成的記錄以及記錄的過程/狀態。
在這里,我可以想到許多團隊:
數據錄入團隊
校對團隊
行政團隊
當員工(數據輸入團隊)完成記錄時,他/她將點擊完成按鈕。 然后,它應該以某種方式自動分配給“校對團隊”。
記錄需要從校對團隊進行兩次檢查。 如果StaffB完成校對,則校對團隊的另一名成員需要再次檢查。
完成校對后,管理團隊將分配“記錄已完成”
在幾個月后,可能需要更新記錄(拼寫錯誤,價格變化等)-管理員可能會將記錄分配給數據輸入團隊。
這是一個好的數據輸入管理解決方案嗎? 如何將其放入數據庫設計角度?
這是我嘗試的:
mysql> select * from records;
+----+------------+----------------------+
| id | name | address |
+----+------------+----------------------+
| 1 | Bill Gates | Text 1 Text Text 1 |
| 2 | Jobs Steve | Text 2 Text 2 Text 2 |
+----+------------+----------------------+
mysql> select * from staffs;
+----+-----------+-----------+---------------+
| id | username | password | group |
+----+-----------+-----------+---------------+
| 1 | admin1 | admin1 | admin |
| 2 | DEntryA | DEntryA | data_entry |
| 3 | DEntryB | DEntryB | data_entry |
| 4 | PReadingA | PReadingA | proof_reading |
| 5 | PReadingB | PReadingB | proof_reading |
+----+-----------+-----------+---------------+
mysql> select * from data_entry;
+----+------------+-----------+------------------------+
| id | records_id | staffs_id | record_status |
+----+------------+-----------+------------------------+
| 1 | 2 | 3 | data_entry_processiing |
| 2 | 2 | 3 | data_entry_completed |
| 3 | 2 | 4 | proof_read_processing |
| 4 | 2 | 4 | proof_read_completed |
| 5 | 2 | 5 | proof_read_processing |
| 6 | 2 | 5 | proof_read_completed |
+----+------------+-----------+------------------------+
有沒有其他更好的數據庫設計解決方案?
我認為設計很好。 但可能是您想將組分為組表,而將record_status分為狀態表。 如果要存儲大量記錄,則會存儲許多無用的信息,至少要為record_status字段和group字段創建一個枚舉類型
表:組
id-名稱
1-管理員
2-data_entry
3-校對
...表:狀態
id-名稱
1-data_entry_processing
...
如果您希望用戶一次位於不同的組中,則可以創建users_group表
表格:user_groups
group_id-user_id
1-1
2-1
1-4
3-4
4-4
....
希望這可以幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.