Pergunta

Eu estou trabalhando em um projeto para um amigo e eu me deparei com uma decisão difícil. O projeto consiste de ensaios, cada um dos quais pode ser desafiado, e também comentou sobre. A coisa é isso, apenas uma pessoa é capaz de desafiar o ensaio, e depois todo mundo está bloqueado e só pode comentário.

As réplicas só pode haver duas respostas profundas, 2.000 palavras para o primeiro e 500 palavras para o segundo. Nesse ponto, há mais refutações - o resto da discussão acontece nos comentários (comprimento fixo de n caracteres, ao contrário refutações) se os espectadores sentem o assunto não estava exausto

.

Então eu decidi, inicialmente, que refutações e comentários eram estruturalmente a mesma coisa, e eu seria apenas adicionar um campo boolean dentro de minha mesa de comentários para indicar se o comentário is_rebuttal. Mas estou me sentindo um pouco sobre inseguro nesse sentido.

O que o coletivo-você sugere? Cada ensaio pode ter uma discussão entre duas pessoas apenas, e ambos só começar a falar 2 vezes. Muito semelhante aos comentários, mas separado.

Foi útil?

Solução

Então, eu provavelmente teria uma mesa para 'conversas', com campos para identificação do usuário do cartaz ensaio, a resposta única (inicialmente NULL) e, provavelmente, um título ou resumo. Outra mesa conteria 'ensaios' com campos para o ensaio ou userID do rebutter, o conversationID, o corpo do post, e uma contagem post para colocá-los em ordem. Finalmente, eu tenho uma tabela 'comentários' com comentários cartazes IDs, essayID de ligá-los aos postos de ensaio, de CommentID para colocá-los no modo de thread (se isso é apropriate) e, claro, o corpo comentário.

Outras dicas

Bem, difícil dizer sem saber mais sobre o sistema. Mas eu diria que, a partir do que você escreve, sim, réplicas e comentários são semelhantes e devem ser colocados em uma única tabela.

Meu lema sempre é: Em caso de dúvida, use o método mais simples. Que aqui é claramente uma única tabela.

Se mais tarde descobre-se que mesas separadas são mais útil, você pode sempre refatorar.

Se os comentários e réplicas têm diferentes comprimentos máximos, e diferentes restrições sobre quantas você pode ter por ensaio, que soam como coisas muito diferentes para mim. Seu esquema será mais claro se você criar duas tabelas para entidades com diferentes limitações, e estabelecer diferentes restrições de coluna e referenciais.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top