Primero una nota, pensé que tal vez esta pregunta pertenecía al intercambio de bases de datos, pero creo que está más relacionada con una solución de programación en su conjunto que con las bases de datos. Se moverá al intercambio de bases de datos si la gente cree que es la mejor.
Me preguntaba cuándo una tabla de base de datos debería tener una marca de tiempo actualizada y creada.
La primera respuesta obvia es que si alguna lógica de negocios necesita saber cuándo se actualizó algo (como una fecha de finalización de la transacción, etc.), entonces debe entrar.
Pero, ¿qué pasa con los casos de lógica no comercial? Por ejemplo, puedo pensar en escenarios en los que sería realmente útil saber la fecha y hora en que las filas cambiaron para ayudar con la búsqueda de fallas, por ejemplo, fallan algunas lógicas de negocios y al observar las filas de la base de datos relacionadas es posible identificar que una fila se está actualizando antes otra fila que está causando el error.
Con este caso de uso, tendría sentido dar una actualización a cada tabla y crear una marca de tiempo (a excepción de quizás las tablas de enumeración más triviales que ninguna parte de la aplicación actualizaría).
Darle a cada tabla una marca de tiempo es seguramente una excelente manera de atascar rápidamente una base de datos (aunque podría estar equivocado).
Entonces, ¿cuándo debería una tabla de base de datos usar crear y actualizar marcas de tiempo?