Tôi đang làm việc để tạo ra một mô hình dữ liệu để lưu trữ dữ liệu liên quan đến theo dõi sản xuất. Tôi làm việc cho một công ty kỹ thuật mô hình hóa và phân tích dữ liệu cho khách hàng của chúng tôi. Có một số bước trong quy trình và quy trình được cập nhật liên tục.
Tôi đang cố gắng mô hình hóa các quy trình và bao gồm các quy trình cha mẹ và thứ tự tuần tự của các quy trình.
Ví dụ:
Process Table
---------------------
ProcessID - uniqueidentifier
ProcessName - varchar
ProcessDescription - varchar
...
ProcessOrder Table
---------------------
ProcessID - uniqueidentifier FK - Process
ParentProcessID - uniqueidentifier FK - Process
ProcessOrder - int
...
Các ProcessOrder
cột trong ProcessOrder
bảng chỉ đơn giản là sẽ lưu trữ một số đại diện mà bước tuần tự trong quá trình mẹ nó đại diện.
Ví dụ, một quy trình mô hình hóa có các bước sau: tạo mô hình trống mới, mô hình tên, nhập tham số mô hình. Các Process
bảng sẽ trông như thế:
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
Các ProcessOrder
bảng sẽ trông như thế:
ProcessID | ParentProcessID | ProcessOrder
--------------------------------------------------
UUID2 | UUID1 | 1
UUID3 | UUID1 | 2
UUID4 | UUID1 | 3
Vấn đề với thiết kế này là khi dòng công việc được cập nhật, thứ tự quy trình sẽ thay đổi và tôi sẽ cần cập nhật ProcessOrder
bản ghi cho quy trình đã thay đổi và cho tất cả các bản ghi tiếp theo giống nhau ParentProcessID
.
Có cách nào tốt hơn để lưu trữ loại dữ liệu này và duy trì chuẩn hóa?