@z_a_p_a_r_a

Как правильно построить структуру БД?

Есть следующие модели:
  • Duty
public class Duty
    {
        public int DutyId { get; set; }

        public int dateId { get; set; }
        public Date DateOfDuty { get; set; }

        public int typeOfDutyId { get; set; }
        public TypeOfDuty typeOfDuty { get; set; }

        public List<DutyOfPerson> DutyPerson { get; set; }
    }

TypeOfDuty
public class TypeOfDuty
    {
        public int typeOfDutyId { get; set; }
        public string Name { get; set; }
        public List<RoleInDuty> rolesInDuty { get; set; }
    }

RoleInDuty
public class RoleInDuty
    {
        public int roleInDutyId { get; set; }
        public string Name { get; set; }
        public int typeOfDutyId { get; set; }
    }

Person
public class Person
    {
        public int PersonId { get; set; }
        public string Name { get; set; }
    
        public List<DutyOfPerson> DutyPerson{ get; set; }
    }


Cоздаю связной класc Person-Duty:
public class DutyPerson
    {
        public int DutyId { get; set; }
        public Duty Duty { get; set; }
        public int PersonId { get; set; }
        public Person Person { get; set; }
    }

Теперь есть возможность установить дежурство, его тип и назначить людей в дежурство, но как теперь приписать роль человеку в данном дежурстве?
Примерная схема БД5c315a7d6a9ac810726328.png
И ещё установить, в каком дежурстве может участвовать человек и какие роли может выполнять (это второстепенно). Первое понятно как выполнить=> создать связную таблицу типа PersonTypeOfDuty, но опять же как установить какие роли он может выполнять в данных дежурствах?
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы