簡體   English   中英

數據庫表設計問題

[英]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表中。

==================================已編輯=============== ========================

實際上,這里的PROCESSACTIVITY是BPM(業務流程管理)所涉及的PROCESSACTIVITY

那些了解BPM的人可以弄清楚什么是ACTIVITYPROCESS

那些不知道BPM ,我向您解釋PROCESSACTIVITY含義。

任何企業都具有各種PROCESS (例如CustomerOrderPlaced,CustomerOrderCancelled等),而ACTIVIT就像流程的一部分,將執行該流程以完成流程。

因此, ACTIVITYPROCESS的子級,具有一些額外的屬性。

或就Java而言,ACTIVITY擴展了PROCESS

只要你說“ ACTIVITY就像是過程的一部分 ”,“ ACTIVITY擴展PROCESS ”不再是一個有效的語句。 這不是一種關系。 這是一種有關系的關系。

用ER術語來說,流程和活動之間存在一對多的關系。 如果一個活動屬於多個流程,則可能是多對多關系。

例如,CustomerPlacesOrder是一個流程。 這些活動是:

  • 客戶填充購物車;
  • 客戶結帳;
  • 客戶輸入交貨和賬單信息,必要時進行注冊;
  • 工人接到命令;
  • 如果物品有庫存,則工人選擇合適的包裝容器並填充;
  • 工人每天交貨時發送。

或無論您想要變得多么復雜。 繼承不是。

您應該有多個表。 表格如下所示:

工藝表

ID (主密鑰)
流程名稱
ProcessCode ...

活動表

ID (主密鑰)
活動名稱
活動代碼
活動描述
ProcessID (ProcessTable的外鍵)...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM