テンポラル データベースの日付を 1 つまたは 2 つのテーブルに格納する必要がありますか? これが正規化に違反していない場合は?
PERSON1 DATE11 DATE21 INFO11 INFO21 DEPRECATED
PERSON2 DATE21 DATE22 INFO21 INFO22 CURRENT
PERSON1 DATE31 DATE32 INFO31 INFO32 CURRENT
DATE1 および DATE2 列は、INFO1 および INFO2 が DATE1 と DATE2 の間の期間に true であることを示します。DATE < TODAY の場合、ファクトは廃止され、ユーザー インターフェイスに表示されなくなりますが、歴史的な目的で削除されるべきではありません。たとえば、INFO11 と INFO21 は非推奨になりました。
このテーブルを分割する必要がありますか? 状態 (非推奨または現在) をテーブルに保存する必要がありますか?
質問をさらに明確にするために、非推奨はビジネスで使用される用語です。「最新ではない」ことを好む場合、問題はセマンティックではなく、SQLクエリについてでもありません。どの設計が違反しているか、正規化ルールに最適かを知りたいだけです(正規化が常に進むべき道ではないことは知っています。それも私の質問ではありません)。