[英]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.