假設我有員工&會議表。數據庫設計與其他表的多對多關係
Employee
-----------
id
name
Meeting
-----------
id
name
Employee_Meeting
-----------
id
employee_id
meeting_id
現在我需要在該會議中添加員工的任務(或其他任務)。最佳做法是什麼?我能有這樣的關係:
Employee_Meeting_Task
-----------
Employee_Meeting_id
task_id
或
Employee_Tasks
-----------
id
employee_id
meeting_id
task_id
是這兩種方法從視圖「適當的」數據庫設計點是否有效?
我的擔憂是:
案例1:在大多數情況下,如果我從我需要刪除他的任務,這次會議以及會議中移除的員工。 Employee_Meeting_Task
將強制約束。案例2:有時員工參加一些日常會議,並定期在該會議中執行相同的任務。如果他病了好幾天,我想把他從會議中解救出來,但我不想在他下次參加會議時將他的任務重新加入到會議中。
由於員工在會議中可以有多個任務,因此我認爲讓Employee_Meeting_Task表最有意義。如果它是1比1的映射,但表格會感到多餘。 – Tobberoth
在多對多表的主鍵上閱讀http://stackoverflow.com/questions/2190272/sql-many-to-many-table-primary-key。 –