[英]Database Table design problem
Scenario:
存在PROCESS
的層次結構。 喜歡
PR-2, PR-3 are children of Pr-1
,
PR-4, PR-5 are children of PR-2
現在, leaf processes (in our case PR-3, PR-4 and PR-5
可以按照ACTIVITY
系列進行描述
現在, ACTIVITY
只是PROCESS
的子級,但具有一些額外的屬性,因此
我應該做兩個比較。 數據庫中的表(一個用於ACTIVITY
,一個用於PROCESS
)?
要么
我應該在PROCESS
表中添加一些字段(用於ACTIVITIY
額外屬性),並將ACTIVITY
存儲在PROCESS
表中。
==================================已編輯=============== ========================
實際上,這里的PROCESS
和ACTIVITY
是BPM(業務流程管理)所涉及的PROCESS
和ACTIVITY
那些了解BPM的人可以弄清楚什么是ACTIVITY
和PROCESS
。
那些不知道BPM
,我向您解釋PROCESS
和ACTIVITY
含義。
任何企業都具有各種PROCESS
(例如CustomerOrderPlaced,CustomerOrderCancelled等),而ACTIVIT
就像流程的一部分,將執行該流程以完成流程。
因此, ACTIVITY
是PROCESS
的子級,具有一些額外的屬性。
或就Java而言,ACTIVITY擴展了PROCESS
只要你說“ ACTIVITY
就像是過程的一部分 ”,“ ACTIVITY
擴展PROCESS
”不再是一個有效的語句。 這不是一種關系。 這是一種有關系的關系。
用ER術語來說,流程和活動之間存在一對多的關系。 如果一個活動屬於多個流程,則可能是多對多關系。
例如,CustomerPlacesOrder是一個流程。 這些活動是:
或無論您想要變得多么復雜。 繼承不是。
您應該有多個表。 表格如下所示:
工藝表
ID (主密鑰)
流程名稱
ProcessCode ...活動表
ID (主密鑰)
活動名稱
活動代碼
活動描述
ProcessID (ProcessTable的外鍵)...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.