В моем проекте все в порядке, кроме полей проверки. Просто вставка и обновление проверяются в нашей мнимой вселенной.
Я предложил одну таблицу, похожую на следующие примеры:
-
Предложения по внедрению таблиц аудита в SQL Server? Просто имя таблицы, столбец таблицы, пользователь, действие и дата.
Но моя команда не думала так же, они помещали столбец в каждую таблицу для отслеживания времени обновления или вставки. И когда я спросил, почему? они сказали мне, что они поддерживают ход своей работы.
В конце концов, я сдаюсь, и я помещаю каждое поле в каждую таблицу. Поскольку вся команда, кроме меня, велела мне поместить эти поля.
Пример:
Их подход
Table Customer
+-------------+-------------+-----+--------------------------------+-------------+
| Name | LastName | ... | LastModification (Audit Field) | User |
+-------------+-------------+-----+--------------------------------+-------------+
| varchar(30) | varchar(50) | ... | datetime | varchar(30) |
+-------------+-------------+-----+--------------------------------+-------------+
Мой подход
Table Customer
+-------------+-------------+-----+
| Name | LastName | ... |
+-------------+-------------+-----+
| varchar(30) | varchar(50) | ... |
+-------------+-------------+-----+
Table Audit
+-----------+------------+--------+------+-------------+
| TableName | TableField | Action | User | DateAndTime |
+-----------+------------+--------+------+-------------+
Итак, вопрос:
Какой лучший дизайн, одна таблица, которая хранит историю транзакций или одно поле для каждой таблицы? (Pro и минусы)