У меня есть приложение с расписанием в Asp.Net MVC, но вопрос должен быть общего дизайна базы данных:
У меня есть несколько связанных таблиц: Клиент, Проект, Задача, Сотрудник, Сегмент времени. Теперь я хочу иметь возможность связывать Задачи с Сотрудниками как «ресурсы». И для каждого ресурса я хочу, чтобы у меня была информация о проценте работы, назначенном сотруднику для конкретной задачи. Но я не могу обернуть голову вокруг этого. Насколько я вижу, это не может быть просто отношение «многие ко многим» между «Задачей» и «Сотрудником», потому что где бы я тогда разместил поле процента? Если я надену это на сотрудника, как это будет связано с конкретной задачей?
Кажется, что это будет простая проблема, но я не могу понять это, и я должен упомянуть, что мои навыки работы с базами данных довольно просты. Так что любая помощь будет принята с благодарностью!
EDIT:
Хорошо, некоторые из вас ответили на какой-то вариант создания отдельной таблицы для «Ресурсов» с Employee_Id и Task_Id и WorkPercentage. Но следует ли мне вручную обновлять Employee_Id и Task_Id каждый раз, когда я добавляю задачу? Потому что я сначала понял эти ответы как подсказку, что мне нужно добавить отношение «многие ко многим» между Employee и Task, а затем добавить поле для WorkPercentage в соединительной таблице (EmployeeTask). Я попробовал это, но я сразу же столкнулся с проблемами при попытке добавить сотрудника, который потребовал список EmployeeTasks и жаловался, что не может быть нулевого значения для необнуляемого поля. Но тогда я не должен был это делать? Скорее отдельная таблица, обновляемая вручную с каждым значением поля ...?
Пожалуйста, объясните, если возможно, как именно решить проблему, предложенную некоторыми из вас (то есть с точки зрения любых отношений). Спасибо!