Prima di tutto una nota, ho pensato che forse questa domanda apparteneva allo scambio di database, ma penso che sia più ampiamente correlata a una soluzione di programmazione nel suo complesso che ai database. Passerà allo scambio di database se la gente pensa che sia la migliore.
Mi chiedevo quando una tabella di database avrebbe dovuto aggiungere un timestamp creato e aggiornato?
La prima risposta ovvia è che se una qualsiasi logica aziendale ha bisogno di sapere quando qualcosa è stato aggiornato (come una data di completamento della transazione, ecc.), allora deve entrare.
Ma per quanto riguarda i casi di logica non business? Ad esempio, posso pensare a scenari in cui sarebbe davvero utile conoscere l'ora in cui le righe sono state modificate per aiutare con la ricerca dei guasti, ad es. alcune logiche di business non funzionano e guardando le relative righe del database è possibile identificare che una riga viene aggiornata prima di un'altra riga che sta causando l'errore.
Con questo caso d'uso, avrebbe senso dare ad ogni tabella un aggiornamento e creare un timestamp (eccetto forse le tabelle enumerate più banali che non verrebbero aggiornate da nessuna parte dell'applicazione).
Dare ad ogni tavolo un timestamp è sicuramente un ottimo modo per impantanare rapidamente un database (anche se potrebbe essere sbagliato).
Quindi quando una tabella di database dovrebbe utilizzare creare e aggiornare data e ora?