我正在創建數據模型以存儲與生產跟蹤相關的數據。我爲一家工程公司工作,爲我們的客戶建模和分析數據。流程中有幾個步驟,流程不斷更新。可更新順序記錄的數據庫設計
我想模擬進程,幷包括父進程和進程順序。
例如:
Process Table
---------------------
ProcessID - uniqueidentifier
ProcessName - varchar
ProcessDescription - varchar
...
ProcessOrder Table
---------------------
ProcessID - uniqueidentifier FK - Process
ParentProcessID - uniqueidentifier FK - Process
ProcessOrder - int
...
在ProcessOrder
表的ProcessOrder
柱將簡單地存儲表示在它所表示的父進程,其順序步驟的數字。
例如,建模過程有以下步驟:創建新的空模型,名稱模型,輸入模型參數。該Process
表如下所示:
ProcessID | ProcessName | ProcessDescription
-------------------------------------------------
UUID1 | Modeling | Create Model of Data
UUID2 | New Model | create new empty model
UUID3 | Name Model | name model
UUID4 | Parameters | enter model parameters
的ProcessOrder
表如下所示:
ProcessID | ParentProcessID | ProcessOrder
--------------------------------------------------
UUID2 | UUID1 | 1
UUID3 | UUID1 | 2
UUID4 | UUID1 | 3
這種設計的問題是,當工作流被更新,流程訂單將有所改變,我需要爲更改的過程更新ProcessOrder
記錄,並更新ParentProcessID
相同的所有後續記錄。
有沒有更好的方式來存儲這種數據和維護規範化?