Вы можете использовать инструмент моделирования данных, такой как ER / Studio или ERWin. Оба инструмента имеют доменные столбцы, в которых вы можете определить шаблон столбца, который можно применить к любой таблице. Когда домен меняется, изменяются и связанные столбцы. ER / Studio также имеет шаблоны триггеров, которые вы можете создавать и применять к любой таблице. Таким образом мы обновляем наши столбцы LastUpdatedBy и LastUpdatedDate, не создавая и не поддерживая сотни триггерных сценариев.
Если вы создадите таблицу аудита, у вас будет по одной строке для каждой строки в каждой таблице, которая использует таблицу аудита. Это может стать грязным. На мой взгляд, вам лучше размещать столбцы аудита в каждой таблице. Вы также можете разместить столбец отметки времени во всех ваших таблицах. Вы никогда не знаете, когда параллелизм становится проблемой. Наши столбцы аудита БД, которые мы помещаем в каждую таблицу: CreatedDt, LastUpdatedBy, LastUpdatedDt и Timestamp.
Надеюсь, это поможет.