Jump to content
Hipnoted

Sugestões sobre construção de BD para Gestão de Tarefas

Recommended Posts

Hipnoted

Boas!

Num projeto estou a construir a BD para a gestão de Tarefas.

As tarefas podem ser repetitivas, e necessito de gerir também o histórico da mesma tarefa. Para explicar melhor como funciona, imaginemos a seguinte tarefa: "Pagar a Luz". Suponhamos que defino a ação desta tarefa de 2 em 2 meses... Teria de mostrar essa tarefa, por exemplo, em Janeiro, Março, Maio, etc. Em cada um destes anteriores meses pode-se marcar a tarefa como concluída, indicando a data.

Ao aceder ao histórico da Tarefa pode acontecer eu ver que a fatura da luz foi paga em Janeiro e Maio mas que a de Março ainda não foi concluída...

Para isso criei uma tabela Task onde defino a tarefa, a sua periodicidade, entre outras coisas. Criei também uma tabela TaskProgress onde registo todo o histórico da tarefa... Por exemplo, pegando no exemplo anterior, teria 3 registos da mesma Tarefa: Janeiro, Março e Maio. O Modelo é mais ou menos o que mostra a imagem:

vd04.png

Sugestões? Será esta a melhor forma de implementar isto?


"Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"

Share this post


Link to post
Share on other sites
Rui Carlos

O esquema parece-me apropriado.

Olhando para alguns detalhes, esperaria que o createtime estivesse na Task (penso que é estas que crias, e as outras aparecem automaticamente, certo?). O mesmo parece-me aplicável ao name e description (nestes casos, eu costumo querer alterar o nome e a descrição de todas as tarefas com a mesma origem ao mesmo tempo).

Já agora, em vez de TaskProgress acho que devias usar TaskInstance ou similar. Associo TaskProgress mais ao estado (o teu Status) do que a uma ocorrência da tarefa :D

  • Vote 1

Share this post


Link to post
Share on other sites
Hipnoted

Boas Rui Carlos, obrigado pelo feedback.

Olhando para alguns detalhes, esperaria que o createtime estivesse na Task (penso que é estas que crias, e as outras aparecem automaticamente, certo?).

Sim as "tarefas em curso" vão sendo colocadas lá automaticamente, mas também quero saber quando foram realmente criadas por isso esse campo faz todo o sentido. No entanto, e já que falas nisso, reparei que também faz sentido colocar um createtime e um updatetime na tabela Task.

O mesmo parece-me aplicável ao name e description (nestes casos, eu costumo querer alterar o nome e a descrição de todas as tarefas com a mesma origem ao mesmo tempo).

Nesse caso está bem como está, porque se reparares na tabela Task tem lá esses nomes. Na altura, ao fazer o desenho inicial da BD coloquei os campos também na outra tabela mas em princípio são para retirar ou para não serem usados, daí percebo a tua confusão... :)

Em relação ao nome é mesmo isso que pretendo, daí o nome. Quero registar a ocorrência da tarefa mas também dou muita importância ao estado em que se encontra. Mas isto dos nomes são "penauts"... :D

Edited by Hipnoted

"Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.