Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia, pessoALL.
Tenho um relacionamento do tipo um Curso possui no mínimo 1 Aluno ou mais. E Aluno só pode estar em um único Curso e não pode ser repetir novamente esta ocorrência de Aluno para Curso (claro que este exemplo é meramente para sanar minha dúvida, o exemplo não é real).
Então, qual é a minha dúvida: A melhor forma de garantir que o Aluno irá estar somente uma vez em Curso durante toda sua existência seria colocar a chave de Aluno como estrangeira em Curso e como Unique?
Os colegas fariam desta forma?
Obrigado.
Claro Motta. você tem razão.
Se é 1:N a chave estrangeira estará do lado N. Logo só será possível garantir a regra de negócio ou do lado da aplicação ou via trigger.
Não tem período envolvido. O Aluno só poderá cursar um único Curso durante toda sua existência. Nunca mais este Aluno poderá cursar outro Curso.
Então Curso é atributo de Aluno.
Mas lembre, uma vez feito assim se amanhã decidem abrir mais de curso, f")&" ... pois o Sistema está engessado.
:)
É f")&" .... rsrsrsrsrsrs
Regra é regra. Cliente quer assim....vamos lá.
Obrigado pelo apoio mais uma vez.
Depende, se o relacionamento é sempre um para um curso é atributo e deveria ser uma coluna em aluno, se é uma coisa como UM CURSO DURANTE UM PERÌODO deveria ser uma tabela com a alicação (eu faria por trigger) controlando a regra.