Procura-se uma solução. Cadastro e Comparação

Saudações.

Enquanto fazia um projeto universitário, me deparei com um problema que se mostrou um empecilho. Preciso criar um sistema cujo é necessario que um usuário, selecione dias da semana e períodos(noturno, diurno, matutino) de forma que lhe for conveniente. Ex: o usuário está disponível na segunda de manhã e tarde e no domingo a noite.

Selecionados os dias e períodos disponíveis(via checkboxes no site), esse usuário irá se deparar com “trabalhos e projetos” que estão dentro de seu perfil e dias disponíveis. Visto que os projetos também devem ter essa opção para selecionar seus dias e períodos no momento de sua criação.

O grande problema está na criação dessa parte específica, quebrei a cabeça com algumas tables e sobre formas de cruzar essas informações no banco, mas nada me pareceu que iria funcionar.

[![Visto que as relações entre as tables ainda está por fazer][1]][1]

Peço-lhes ajuda e agradeço desde já.

Então seria necessário mais uma tabela Inscricao assim:

Inscricao {
  PK(usuario, projeto), dia
}

Acho que a tabela Periodo poderia ser simplificado, com todos os atributos do tipo boolean:

Periodo {
  manha, tarde, noite
}

e os atributos da tabela Dia fossem chave estrangeira do Periodo.