Я рассматриваю проектирование схемы реляционной БД для БД, которая фактически никогда ничего не удаляет (устанавливает флаг удаления или что-то еще).
1) Какие столбцы метаданных обычно используются для размещения такой архитектуры?Очевидно, логический флаг для IsDeleted может быть установлен.Или, может быть, лучше всего использовать временную метку в столбце «Удаленные», или, возможно, и то, и другое.Я не уверен, какой метод вызовет у меня больше проблем в долгосрочной перспективе.
2) Как обычно обрабатываются обновления в таких архитектурах?Если вы пометите старое значение как удаленное и вставите новое, вы столкнетесь с уникальными проблемами ограничения PK (например, если у вас есть идентификатор столбца PK, то новая строка должна иметь такой же идентификатор, как и тот, который вы только что отметили как недействительный, илииначе все ваши внешние ключи в других таблицах для этого идентификатора станут бесполезными).