2013-02-07 112 views
-1

我有一個數據庫設計的問題,我試圖在圖中的sql服務器管理中完成。兩個表上的兩個關係

我有一個進程表和一個活動表。

一個進程可以調用多個活動,但是活動一次只能由一個進程調用(一對多關係)。 但是,在我的第二種情況下,活動一次可以調用一個進程,因此只能由一個活動調用進程。 (一對一關係)

圍繞這個主體設計這些表格的最佳方式是什麼,並追蹤誰稱誰?

在此先感謝。

回答

0

只需添加activityID處理,並的ProcessID的活動,這樣,你有2個關係1 - 中號,你所描述

也許叫他們像CalledByProcessID(活動)和CalledByActivityID(過程

0

要回答

跟蹤誰叫誰

聽起來好像是你需要一個THI第三屆表記錄的調用,包括活動/進程的ID叫,活動的ID /過程做了通話,開始時間,結束時間等

此外,執行

的活動纔可以稱爲通過每次一個過程

一個活動也可以調用一個過程同時

可以通過添加字段的活動表,called_by_processID和calling_processID,這將需要在呼叫開始進行更新,並在通話結束時清空完成。

或者,將該功能留在日誌表中,並且僅當相應的先前調用完成時才允許該活動/進程調用。稍微複雜的邏輯,但更好的規範化。