none
(RESOLVIDO - ASP.NET C#) Sistema de pergunta e comentários RRS feed

  • Pergunta

  • :D

    Eu quero desenvolver um sistema no qual o usuário faça uma pergunta (semelhante aqui no forum) e possa ter q sua dúvida respondida.

    Vejam se a minha abstração está correta: eu vou precisar de uma tabela(1) chamada TB_PERGUNTA e outra chamada TB_RESPOSTA(2). Nessa última (TB_RESPOSTA) eu vou precisar salvar o ID_PERGUNTA, sendo um campo FOREIGN KEY, referenciando a TB_PERGUNTA, além disso, eu vou precisar salvar o ID_USUARIO.

    falta mais alguma coisa?



    quinta-feira, 15 de agosto de 2013 19:23

Respostas

  • E ai Daniel, blz?

    Seguinte antes de mais nada, evite utilizar TB na frente do nome das tabelas, isso já não se usa mais.

    Seu modo de pensar esta correto, você terá uma tabela PERGUNTA com os seguintes campos (id_pergunta, id_usuario, pergunta, dataehora), entre outros atributos, depende da sua necessidade. 

    Ja a tabela RESPOSTA tera os campos (id_resposta, id_usuario, id_pergunta, resposta, data), entre outros. 

    Para fazer a consistência do banco, voce deve fazer as chaves estrangeiras.

    Veja como fica a tabela PERGUNTA:

    PERGUNTA(id_usuario) » USUARIO(id_usuario)

    não esqueça de colocar "on delete cascade" e "on update cascade"

    assim se um usuário for deletado as perguntas que estao vinculadas a ele serao deletas ou atualizadas. 

    Veja agora a tabela RESPOSTA:

    RESPOSTA(id_pergunta) » PERGUNTA(id_pergunta)

    RESPOSTA(id_usuario) » USUARIO(id_usuario)

    assim obrigatoriamente um resposta só existira se pertencer a uma pergunta existente anteriomente.

    não esqueça de colocar "on delete cascade" e "on update cascade", se quiser que quando uma pergunta for excluída ela tenha também todas as respostas a ela excluídas ou atualizadas.


    quinta-feira, 15 de agosto de 2013 22:04

Todas as Respostas

  • Você poderá criar também uma tblUsuario, com informações deste usuario, isso depende da complexidade de seu sistema e usá-lo com FK na tbPergunta e tbResposta tudo depende de sua necessidade.

    Se for util marque...

    quinta-feira, 15 de agosto de 2013 19:33
  • E ai Daniel, blz?

    Seguinte antes de mais nada, evite utilizar TB na frente do nome das tabelas, isso já não se usa mais.

    Seu modo de pensar esta correto, você terá uma tabela PERGUNTA com os seguintes campos (id_pergunta, id_usuario, pergunta, dataehora), entre outros atributos, depende da sua necessidade. 

    Ja a tabela RESPOSTA tera os campos (id_resposta, id_usuario, id_pergunta, resposta, data), entre outros. 

    Para fazer a consistência do banco, voce deve fazer as chaves estrangeiras.

    Veja como fica a tabela PERGUNTA:

    PERGUNTA(id_usuario) » USUARIO(id_usuario)

    não esqueça de colocar "on delete cascade" e "on update cascade"

    assim se um usuário for deletado as perguntas que estao vinculadas a ele serao deletas ou atualizadas. 

    Veja agora a tabela RESPOSTA:

    RESPOSTA(id_pergunta) » PERGUNTA(id_pergunta)

    RESPOSTA(id_usuario) » USUARIO(id_usuario)

    assim obrigatoriamente um resposta só existira se pertencer a uma pergunta existente anteriomente.

    não esqueça de colocar "on delete cascade" e "on update cascade", se quiser que quando uma pergunta for excluída ela tenha também todas as respostas a ela excluídas ou atualizadas.


    quinta-feira, 15 de agosto de 2013 22:04