Это может быть хорошо. Первое, что я рекомендую вам сделать, это узнать о взглядах. Представления - это просто хранимые запросы. Взгляды - ваш друг.
Например, вместо того, чтобы искать «Где удалено не равно нулю» в вашей базовой таблице, вы можете создать представление с именем viewActiveWh независимо и отфильтровать представление, чтобы оно получало данные только в том случае, если Delete не равно нулю. Помните, просмотров - ваш друг .
Мягкое удаление (помечено как удаленное) против жесткого удаления (Poof действительно исчезло). Это может действительно испортить ситуацию в зависимости от того, какая у вас структура данных.
- Если вы пометите как удаленные и положитесь на представления, которые показывают только активные данные (помните, представления - это ваши друзья ), это работает хорошо.
- Некоторые данные (особенно внутренние объединенные данные могут отсутствовать), если их нет)
Не для того, чтобы сделать это более трудным, но иногда приятно сохранить то, как что-то выглядело до того, как это изменилось. Таким образом, простое размещение измененной даты в строке данных говорит только о том, что эта строка была изменена ... но не говорит о том, что было изменено.
Теперь, если данные, к которым вы обращаетесь, называются «Управляющими данными», вы можете рассмотреть вопрос о сохранении хронологической таблицы. Затем перед каждым обновлением записи в контрольной таблице вы вставляете текущую строку данных в хронологическую таблицу, а затем производите обновление. Теперь у вас есть постоянная запись того, что было изменено, и вы можете вернуться назад и просмотреть все изменения.
Если вы делаете все свои обновления в хранимых процедурах, этот вид ведения записей не так сложен.