Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Queria entender um pouco melhor como seria os relacionamentos das tabelas de uma modelagem do estilo Formspring.
Supondo que eu tenha as seguintes tabelas, de forma bem simples:
[uSUARIOS]
-id_usuario (PK)
-txt_nome
[PERGUNTAS]
-id_pergunta (PK)
-id_questionador (FK-id_usuario)
-id_questionado (FK-id_usuario)
-txt_pergunta
[RESPOSTAS]
-id_resposta (PK)
-txt_resposta
O relacionamento das tabelas de perguntas e respostas deveriam ser 1:1, pois só deve haver uma resposta para cada pergunta?
Tentei fazer um relacionamento pelo Workbench, mas ele joga os ids (pergunta, questionador e questionado) para a tabela de respostas e também ficam na de perguntas.
Afinal, qual seria a melhor forma para isso?
Bruno, não é no estilo fórum. É estilo formspring mesmo. Cada usuário faz uma pergunta a um outro usuário específico e ele deve responder as perguntas que ele receber.
Teoricamente cada pergunta só pode ter uma resposta. Por isso que eu falei do relacionamento das tabelas de perguntas e respostas 1:1.
Andei pensando numa alternativa, mas não sei se em questão de desempenho ou até modelagem mais correta, ela é a mais viável. Seria dentro de uma tabela só colocar a pergunta e os ids dos 2 usuarios e deixar um campo de resposta NULL, para posteriormente dar um UPDATE quando o usuário questionado respondê-la.
e no estilo 'fórum'?
TABLE post
id, id_pai, id_usuario, titulo, texto
As linhas que tiverem id_pai = 0, são as 'perguntas', e todas as outras, terão id_pai correspondente ao id da pergunta que estão respondendo.