每個任務可以有許多子任務。任務只能在所有子任務完成時才能完成在mysql中有很多,如何建模?
task_id | parent_task_id | employee_id |完成
SELECT * from tasks WHERE task_id = x and parent_task_id = x
現在假設我要分配一個任務多個員工(每個員工都可以在任何時間有多個任務。)
什麼是模擬的最佳方式?
每個任務可以有許多子任務。任務只能在所有子任務完成時才能完成在mysql中有很多,如何建模?
task_id | parent_task_id | employee_id |完成
SELECT * from tasks WHERE task_id = x and parent_task_id = x
現在假設我要分配一個任務多個員工(每個員工都可以在任何時間有多個任務。)
什麼是模擬的最佳方式?
我會做這樣的事情:
TASKS
id
parent_id
completed
name
EMPLOYEES
id
name
EMPLOYEE_TASKS
id
employee_id
task_id
將會有一個弱實體 EMPLOYEE_TASKS。這意味着,
1對多從EMPLOYEE_TABLE從TASKS_TABLE EMPLOYEE_TASKS
和
1對多到EMPLOYEE_TASKS。
現在您可以將Employee_id和Task_id分配給EMPLOYEE_TASKS
員工表 - < - 員工任務表> - 任務表..這樣一個任務或子任務可以有一個或多個員工相關。 EmployeeTasks具有EmployeeID,taskID,分配日期,EstCompletionDT和CompletionDT以及完成百分比,可能是員工可以更新完成%和註釋以指示進度的記錄。 – xQbert
謝謝xQbert! – Aaron
根據你的問題,我還會將任務和子任務分解到他們自己的表中。在任務中創建您的主(父)任務,並將子任務添加到SubTasks並參考Tasks.id。然後,在您的邏輯中,您需要檢查以確保在用戶完成/簽出主父任務之前,所有子任務都已完成。正常形式的 – mcriecken