全て、
簡単にするために、質問を支援するために以下のシナリオを作成しました。これは、私が抱えている実際の問題に近いものです。
オブジェクトに関するデータを保持する「 Stock 」と呼ばれる別のテーブルに関連する値を保持する「State 」と呼ばれるテーブルがあります。
例えば
+-----+-------+
|TABLE| VALUE |
+-----+-------+
|Stock| Ball |
+-----+-------+
|State|Instock|
+-----+-------+
したがって、上記のケースから、Stock テーブルの「Ball」というレコードは、State テーブルによると「Instock」です。
ただし、この結論に到達するには、アイテムと呼ばれる別のテーブルを分析する必要があります。これは、その在庫の実際のアイテムが現実の世界にいくつ存在するかの真の値です。したがって、アイテムが存在するか、利用可能なアイテムがない場合、これは状態テーブルの値に影響しますそれはその Stock レコードに関連しています。
これを分析して状態を変更するには、State テーブルから開始し、Stock テーブルを介して Items テーブルに移動する必要があります。
State ----> Stock ----> Items
現在、このテーブルには多くのレコードがあり、少なくとも毎日監視する必要があります。
私はこれまでこのようなことに着手したことはありませんでしたが、私の直感では、すべてのテーブルを取得し、それらをデータ オブジェクトとして分析アプリケーションにロードし、メモリ内で仮想的に関係を形成することができました。
したがって、最初に 1 つの大きなクエリを実行し、すべての SQL 結果をメモリにロードするだけで済みます。これは可能ですか、それとも賢明ですか?
ただし、私が検討した他のオプションは、そのように各レコードを反復するだけです。多くのトランザクションを順番に実行します。
State record 1 ----> Stock record 1 ----> Analyse Items records --> Update State record 1
State record 2 ----> Stock record 2 ----> Analyse Items records --> Updates State record 2
.......
これらの方法のいずれかが適切なオプションですか、それとも別の方法がありますか?
制約
- オラクル 11g データベース
- スキーマまたはテーブルを変更できません
- この分析アプリケーションにJavaまたはPerlを使用することを考えています
- このアプリケーションは外部にあり、DB と物理的に同じ場所にはありません。
疑似コード
Get all state records in State table
Find their related records in Stock table
Find all child records of Stock table in Items table
Modify state of current record
Move onto next record set.
したがって、この問題に利用できるガイダンスまたは特定の方法論/機能は歓迎されます。
私に解決策を与えないでください。正しい方向に少しだけ微調整するだけです:)