2013-02-07 79 views
-1

我有一个数据库设计的问题,我试图在图中的sql服务器管理中完成。两个表上的两个关系

我有一个进程表和一个活动表。

一个进程可以调用多个活动,但是活动一次只能由一个进程调用(一对多关系)。 但是,在我的第二种情况下,活动一次可以调用一个进程,因此只能由一个活动调用进程。 (一对一关系)

围绕这个主体设计这些表格的最佳方式是什么,并追踪谁称谁?

在此先感谢。

回答

0

只需添加activityID处理,并的ProcessID的活动,这样,你有2个关系1 - 中号,你所描述

也许叫他们像CalledByProcessID(活动)和CalledByActivityID(过程

0

要回答

跟踪谁叫谁

听起来好像是你需要一个THI第三届表记录的调用,包括活动/进程的ID叫,活动的ID /过程做了通话,开始时间,结束时间等

此外,执行

的活动才可以称为通过每次一个过程

一个活动也可以调用一个过程同时

可以通过添加字段的活动表,called_by_processID和calling_processID,这将需要在呼叫开始进行更新,并在通话结束时清空完成。

或者,将该功能留在日志表中,并且仅当相应的先前调用完成时才允许该活动/进程调用。稍微复杂的逻辑,但更好的规范化。