É bom ter detalhes do trabalho na própria tabela de fila de trabalho ou ter os detalhes em uma tabela separada?

StackOverflow https://stackoverflow.com//questions/11688105

Pergunta

Atualmente estou projetando um módulo onde um aplicativo de serviço ou console estará lendo o trabalho de uma tabela do trabalho no trabalho.Eu projetei a tabela JobQueue com as seguintes informações:

jobid: int forwardkey

JOBTYPE: INT NOTNULL

estado: varchar notnull

Conectado: Datetime Notnull

LastModifiedon: DateTime Nullable

complexas: datetime nullable

O atributo jobtype é introduzido principalmente para manter esta tabela mais genérica, do que no tipo de trabalho específico.Minha pergunta é se deve manter os detalhes para o trabalho ser executado nesta tabela em si ou alguma outra tabela com o ID do trabalho referenciando-o?Isso porque eu tenho os dados disponíveis em alguma outra tabela.Então, ao executar o trabalho, podemos buscar indiretamente os dados.Para evitar duplicar as informações, pensei em algo assim.Será esta uma boa abordagem?Precisa de seu conselho sobre isso

Foi útil?

Solução

Mantenha todos os dados que você tem naquela "outra tabela" naquela tabela.O que você precisa considerar aqui é como você vai usar os dados.
Se você for exibir algum trabalho indexado de onde se pode selecionar um para visualizar os detalhes, você pode obter seus dados em dois busca separados.Ou se você precisar de todos os dados (dados na tabela JobQueue e dados nessa "outra tabela") relacionadas a um trabalho, você pode sempre executar um único busca com uniões.Eu não acho que os dados de manter JobDetails em uma tabela separada causariam qualquer problema.

Outras dicas

Eu não vejo muitos atributos aqui (talvez você não mostrasse esses?)

Eu vejo um ID (JobID) claramente necessário, digite e informações de estado (não consigo ver como você pode fazer sem esses dados.)

e, em seguida, você tem informações de auditoria, criada, modificada e concluída.Eu gosto de colocar uma string lá para quem criou e que modificou, mas tenho que informações de auditoria em todas as tabelas que crio.É sempre útil quando você não tem certeza do que aconteceu e você está tentando manter o banco de dados.

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