Primeiro, observei que talvez essa pergunta pertencia à troca de banco de dados, mas acho que está mais amplamente relacionada a uma solução de programação como um todo do que a bancos de dados. Passará para a troca de banco de dados se as pessoas acharem que é a melhor.
Eu queria saber quando uma tabela de banco de dados deve ter um carimbo de data / hora criado e atualizado adicionado?
A primeira resposta óbvia é que, se alguma lógica de negócios precisar saber quando algo foi atualizado (como uma data de conclusão da transação, etc.), deve entrar.
Mas e os casos de lógica não comercial? Por exemplo, posso pensar em cenários em que seria realmente útil saber a data e hora em que as linhas foram alteradas para ajudar na localização de falhas, por exemplo, alguma lógica de negócios está falhando e, olhando as linhas do banco de dados relacionadas, é possível identificar que uma linha está sendo atualizada antes outra linha que está causando o erro.
Com esse caso de uso, faria sentido atualizar todas as tabelas e criar um registro de data e hora (exceto talvez as tabelas de enumeração mais triviais que não seriam atualizadas por nenhuma parte do aplicativo).
Dar a cada tabela um carimbo de data / hora é certamente uma ótima maneira de atolar rapidamente um banco de dados (embora possa estar errado).
Então, quando uma tabela de banco de dados deve usar criar e atualizar registros de data e hora?