我在 Asp.Net MVC 中有一个时间表应用程序,但问题应该是一般数据库设计:
我有许多相关的表,客户、项目、任务、员工、时间段。现在,我希望能够将任务与员工相关联作为“资源”。对于每个资源,我希望能够获得有关为特定任务分配给员工的工作百分比的信息。但我无法绕过它。据我所知,它不能简单地是 Task 和 Employee 之间的多对多关系,因为那我应该把百分比字段放在哪里?如果我把它放在员工身上,它与特定任务有什么关系?
看起来这将是一个简单的问题,但我无法弄清楚,我应该提到我的数据库技能相当初级。所以任何帮助将不胜感激!
编辑:好的,你们中的一些人回答了一些关于使用 Employee_Id 和 Task_Id 和 WorkPercentage 为“资源”制作单独表的变体。但是我应该在每次添加任务时手动更新 Employee_Id 和 Task_Id 吗?因为我首先将这些答案理解为提示我应该在 Employee 和 Task 之间添加多对多关系,然后在联结表 (EmployeeTask) 中添加 WorkPercentage 字段。我试过了,但是在尝试添加员工时我立即遇到了问题,这需要一个 EmployeeTasks 列表并抱怨不可为空的字段不能有空值。但那不是我应该这样做的吗?而是使用每个字段值手动更新的单独表......?
如果可能,请准确解释如何处理你们提出的解决方案(即任何关系)。谢谢!