1

私はタスクに直面しています:

入力: 20 ~ 30 のリレーショナル テーブル (SQL DB) を介して巨大なエンティティを表すデータ モデル。多くの制約 + 参照データ リンクがあります。

タスク: ドラフト モードのサポートを追加します。これは、オブジェクトを任意の状態で保存できることを意味します (必要なフィールドをすべて入力したり、制約を破ったりする必要はありません)。オブジェクトを公開するときは、すべての制約に対してオブジェクトを検証する必要があります。

ドラフトモードを実装する良い方法を知っている人はいますか? クライアントとの契約上、非リレーショナル DB は該当しません。

私は次のことを考えてきました:テーブルを複製し、すべての重複から検証を削除し、パブリッシュ時に行を同じトランザクション内の元のテーブルに移動します。このアプローチは多くのにおいがします。私のシステムでは、すべてのオブジェクトが XML にシリアライズ可能です。それらの状態を DB ドラフト モードに保存できます。

4

1 に答える 1

1

簡単な答え:

CHECK (is_draft OR (condition_one AND condition_two AND condition_three))
于 2012-09-23T04:35:10.283 に答える