Let's say I have Employee & Meeting tables.
Employee
-----------
id
name
Meeting
-----------
id
name
Employee_Meeting
-----------
id
employee_id
meeting_id
Now I need to add employee's tasks (or anything else) in that meeting. What is a best practice to do that? I could have a relationships like this:
Employee_Meeting_Task
-----------
Employee_Meeting_id
task_id
or
Employee_Tasks
-----------
id
employee_id
meeting_id
task_id
Are both these approaches valid from 'proper' database design point of view?
My concerns are:
Case 1: Most of the time if I remove employee from the meeting I need to remove his tasks in that meeting as well. Employee_Meeting_Task
would enforced that by constraint.
Case 2: Sometimes employee participates some daily meeting and regularly does same tasks in that meeting. If he got sick for several days, I would like to remove him from the meeting, but I don't want to re-add his tasks to the meeting next time he participates it.