none
Duvida Sobre Relacionamento RRS feed

  • Pergunta

  • Olá a todos.

    Preciso fazer um crud para um trabalho da faculdade e estou com uma duvida sobre o relacionamento das tabelas. É um cadastro de alunos, onde um aluno pode ter varias matérias. Estou em dúvida de como fazer esse relacionamento, e também precisarei de um atributo do tipo List<> para a minha classe do tipo Aluno para salvar as matérias?

    Alguém pode me dar um dica de como fazer isso?

    Obrigado.

    quinta-feira, 7 de março de 2013 21:16

Todas as Respostas

  • Julio,

    No caso do relacionamento, você precisará ter mais ou menos a seguinte estrutura:

    Tabela Alunos: coluna IDAluno

    Tabela Materias: coluna IdMateria

    Tabela AlunosMaterias : coluna IDAluno e coluna IdMateria 

    A tabela AlunosMaterias será responsável por armazerar o relacionamento Aluno X Materias, sendo 1:N, ou seja, 1 aluno pode ter N matérias vinculadas.

    Espero ter ajudado.

    sexta-feira, 8 de março de 2013 12:29
  • Só um adendo...

    Esse relacionamento é N:N, uma vez que uma matéria pode estar atrelada a N alunos tb.

    Mas a ideia é justamente a passada pelo Rafael

    sexta-feira, 8 de março de 2013 14:15
  • Entendi pessoal, obrigado.

    Só que agora fiquei com outra dúvida. Primeiro eu terei que salvar o aluno na tabela de Alunos, ai recuperar o id dele para salvar ele e as matérias na tabela AlunoMatérias, é isso mesmo?

    Outra coisa, no meu objeto do tipo Aluno, terei que ter um atributo do tipo List para salvar as matérias?

    Muito Obrigado.

    sexta-feira, 8 de março de 2013 18:16
  • Exato Júlio...

    Você grava a entidade principal (aluno no caso) depois as as periféricas.

    Na hora de excluir faça a operação inversa. As periféricas até chegar a principal. Isso se seus relacionamentos não estiverem setados para a exclusão em cascata. Mas isso já é outra história.

    Abraço !


    Não esqueça de marcar o post como útil caso tenha te ajudado.

    sexta-feira, 8 de março de 2013 19:24
  • Logan,

    Me desculpe, acho que me expressei erroneamente..Quando informei o relacionamento 1:N seria entre Alunos X AlunosMaterias, entretanto, ainda temos uma tabela de Materias.

    segue abaixo:

    Alunos 1:N AlunosMaterias

    Materias 1:N AlunosMaterias

    sábado, 9 de março de 2013 00:12
  • Rafael,

    Estou acompanhando o Post e fiquei na dúvida no que realmente você esta tendo dificuldade em definir os relacionamentos? Além disso, as cardinalidades que você esta especificando em alguns cenários vão ser mais indicadas utilizar N:N ao invês de 1:N.

    Se você pensar podemos ter N materiais com N Alunos e N AlunosMateriais com N Materiais, entre outros.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sábado, 9 de março de 2013 16:44