Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Auto relacionamento


sounobre

Pergunta

Olá pessoal, postei uma pergunta essa semana sobre um sistema de comentários e fui respondidos por amigos q me indicaram fazer um auto relacionamento, mas estou com dificuldade para encontrar como fazer.

eu tenho o seguinte:

Uma tabela com os campos:

Nome:

Email:

Site:

Assunto:

Mensagem:

Como faço no mysql para poder relacionar as postagens a essa tabela, sem q os comentários dos posts se misturem um com os outros.....

Para ficar assim:

Nome: Post1

Email: comentários post1

Site: Post2

Assunto: comentários post2

Mensagem: e assim por diante...

Obrigado a todos :)

abraços!

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Oi, 'sounobre'

Você vai necessitar de identificadores para esta tabela. Um deles será a chave primária e indicará o tópico e o outro indicará que aquele tópico está vinculado a outro tópico.

Seguindo seu exemplo:

Uma tabela com os campos:

Identificador

Pertence_a

Nome:

Email:

Site:

Assunto:

Mensagem:

Ficaria assim:

Identificador    Pertence_a    Nome    Email    Site    Assunto    Mensagem
1    1    xxx    xxx    xxx    xxx    xxx    xxx
2    1    yyy    yyy    yyy    yyy    yyy    yyy

Eu penso que a solução com 3 tabelas seria melhor.

1 tabela de usuários (idusuario, nome, email, etc)

2 tabela de tópicos (idtopico, titulo, data/hora, idusuario, etc)

3 tabela de posts (idtopico, idpost, data/hora, idusuario, mensagem, etc).

O relacionamento seria:

Um usuário pode ter 0 ou N tópicos

Um usuário pode ter 0 ou N posts

um Tópico pode ter 1 ou N posts (O primeiro post é referente a mensagem do tópico e tem como usuário, obrigatóriamente o usuário que abriu o tópico).

Link para o comentário
Compartilhar em outros sites

  • 0
Oi, 'sounobre'

Você vai necessitar de identificadores para esta tabela. Um deles será a chave primária e indicará o tópico e o outro indicará que aquele tópico está vinculado a outro tópico.

Seguindo seu exemplo:

Uma tabela com os campos:

Identificador

Pertence_a

Nome:

Email:

Site:

Assunto:

Mensagem:

Ficaria assim:

Identificador    Pertence_a    Nome    Email    Site    Assunto    Mensagem
1    1    xxx    xxx    xxx    xxx    xxx    xxx
2    1    yyy    yyy    yyy    yyy    yyy    yyy

Eu penso que a solução com 3 tabelas seria melhor.

1 tabela de usuários (idusuario, nome, email, etc)

2 tabela de tópicos (idtopico, titulo, data/hora, idusuario, etc)

3 tabela de posts (idtopico, idpost, data/hora, idusuario, mensagem, etc).

O relacionamento seria:

Um usuário pode ter 0 ou N tópicos

Um usuário pode ter 0 ou N posts

um Tópico pode ter 1 ou N posts (O primeiro post é referente a mensagem do tópico e tem como usuário, obrigatóriamente o usuário que abriu o tópico).

E como faço isso em comandos do mysql??

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
E como faço isso em comandos do mysql??

abraço

Sim, faz.

A Criação das tabelas, a ligação entre elas através de constraints e a administração dos dados (inclusão, alteração e consulta) estão documentadas no capítulo 6 do manual do MySQL (Versão 4.1 - tradução em português).

Se houver dúvidas poste novamente e te ajudarei.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...