多くのエンタープライズ アプリには、オブジェクトのバックエンド ストレージとしてリレーショナル データベースがあります。一部のオブジェクトは不変であり、一部は不変です。
不変オブジェクトが可変に依存する場合、適切なバージョンを提供する必要があります。
参照: OrderオブジェクトとCustomerオブジェクトがあります。ご注文はお客様次第です。しかし、秩序は決して変わりません。注文が完了して発送された後、顧客は住所を変更します。配送に使用された住所を知るにはどうすればよいですか? データベースが非正規化されるため、すべての情報を順番に保存したくありません。
答えはバージョン管理です。注文は特定のバージョンの顧客に依存する必要があります。
これは、共有ライブラリ (GAC、SxS、さまざまな .so バージョンなど) に使用されるアイデアです。
しかし、データベースでそれを行う方法は? 「バージョン」フィールドをすべてのテーブルとリレーション フィールドに追加しますか? それは私のデータベース X2 を増やし、もつれさせます。
この情報を分離してどこかに保存しますか?
私は素晴らしい解決策がなければならないと信じています。何でも知ってますか?