Спочатку зауваження, я подумав, що, можливо, це питання належить до обміну базами даних, але я вважаю, що це в більшій мірі пов'язане з рішенням програмування в цілому, ніж з базами даних. Перейдемо до обміну базами даних, якщо люди вважають, що найкраще.
Мені було цікаво, коли в таблицю бази даних повинні бути створені та оновлені часові позначки?
Перша очевидна відповідь полягає в тому, що якщо будь-яка бізнес-логіка повинна знати, коли щось було оновлено (наприклад, дата завершення транзакції тощо), вона повинна входити.
А як щодо випадків, що стосуються логіки бізнесу? Наприклад, я можу придумати сценарії, коли було б дуже корисно знати час дати, коли змінилися рядки, щоб допомогти у пошуку помилок, наприклад, якась бізнес-логіка виходить з ладу, і при перегляді відповідних рядків бази даних можна виявити, що один рядок оновлюється раніше інший рядок, який викликає помилку.
У цьому випадку використання було б доцільно надавати кожній таблиці оновлення та створювати часові позначки (за винятком, можливо, самих тривіальних таблиць перерахувань, які не оновлювалися б жодною частиною програми).
Надання кожній таблиці часової позначки - це, безумовно, чудовий спосіб швидко забруднити базу даних (хоча це може бути неправильним).
То коли слід використовувати таблицю бази даних для створення та оновлення часових позначок?