首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库表设计问题

数据库表设计问题
EN

Stack Overflow用户
提问于 2010-02-20 18:04:38
回答 2查看 124关注 0票数 1

Scenario:有一个PROCESS的层次结构。喜欢

PR-2, PR-3 are children of Pr-1

PR-4, PR-5 are children of PR-2

现在可以用一系列的ACTIVITY来描述leaf processes (in our case PR-3, PR-4 and PR-5

现在,ACTIVITY只是PROCESS的子级,但是有一些额外的属性,所以

我应该做两个不同的。数据库中的表(一个用于ACTIVITY,一个用于PROCESS)?

我是否应该在PROCESS表中添加一些字段(用于ACTIVITIY的额外属性),并将ACTIVITY存储在PROCESS表中。

===================================编辑的======================================

实际上,这里的PROCESSACTIVITY是业务流程管理(Businees Process Management)中的一个。

那些有业务流程管理知识的人可以搞清楚ACTIVITYPROCESS是什么。

那些不了解BPM的人,我将向您解释我所说的PROCESSACTIVITY是什么意思。

任何企业都有各种各样的PROCESSes (如CustomerOrderPlaced、CustomerOrderCancelled等)而ACTIVITie就像是为了完成该过程而要执行的过程的一部分。

因此,ACTIVITYPROCESS的子类,具有一些额外的属性。

或者就Java而言,活动扩展了流程

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-20 18:08:48

只要你说"ACTIVITY就像是进程的一部分“,"ACTIVITY扩展PROCESS”就不再是一个有效的语句。这不是一种关系。这是一种有血有肉的关系。

在ER术语中,流程和活动之间存在一对多的关系。或者,如果一个活动属于多个进程,则可能是多对多关系。

例如,CustomerPlacesOrder就是一个进程。这些活动包括:

  • 客户填写购物车;
  • 客户结账;
  • 客户输入发货和账单信息,登记necessary;
  • Worker是否收到订单;
  • 如果物品有库存,则工人选择适当的包装容器并装满;
  • 工人每天发货。

或者不管你想变得多复杂。这不是继承。

票数 1
EN

Stack Overflow用户

发布于 2010-02-20 22:10:19

您应该有多个表。这些表可以如下所示:

ProcessTable

ID (主键)

ProcessName

ProcessCode ...

ActivityTable

ID (主键)

ActivityName

ActivityCode

ActivityDesc

ProcessID (ProcessTable的外键) ...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2301773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档