データ中心アプローチが解って来たような...

DOAの効能

データベースを効果的に利用するため、
DOA(Data Oriented Approach)(データ中心アプローチ)を取り入れたい。

DOAに対して、デーベースの構造を検討しない手法は、POA(Process Oriented Approach)と呼ばれる。

システムは、ビジネスの変化に、対応し易い構造でなければならない。
システムの仕様が確定し、変更が無い場合はPOADOAどちらの方法でも代わりは無いだろう。

一般的にシステムは、入力値に対し、演算処理を行い結果を出力をする。

業務システムは、情報を記録すること、要件に沿った集計を出力することが目的だ。
もともと、手書きの伝票への記入や帳簿への記帳、集計のための元帳への転記、集計を
パソコンで効率化するための手段なので、ほぼ手作業での同じ手順、構造のおきかえをイメージすることが可能だろう。

データベースを活用した帳簿組織の構築がDOAであり、高機能なデータベースを使用できるようになったことで、
その性能を効率良く利用する方法を検討する必要がある。

システムの構成要素を考えると、
データベース(RDBMS)、プログラムの組み合わせである。
業務システムの構成要素としてのデータベースは、効率的な記録を受け持つ、
プログラムは、VBJavaなどの言語で記述される。

データベースはSQL言語で操作をするが、VBJavaは、直接SQLを発行できる使用になっていないため、
ODBCJDBC等のデータベースへのインターフェースを利用し、文字列でデータベースを操作する。

○文字列での受け渡しを最適化する必要がある。
○データベース側でも、テーブルの構造を検討し、複雑なSQL文を作成しなくても良いような工夫が必要。
 テーブルの構造、リレーションシップを最適化することで、見やすいSQLが書けるでしょう。

○業務の流れを追跡できるような、テーブル構造を構築し、安易にレコードの内容を書き換えてはいけない。
 ノートにメモを追記していくようなイメージで、消しゴムで消してしまっては、証跡が残らない。
 


POAの場合、入力と出力をいきなりブラックボックスでつないでしまう
そのため、作業の流れが見えなくなる。結果オーライのシステムである。


どんな業務であれ、受け払い作業と、要件にあわせた集計の繰り返しであり、その記録を残す。

受け払いとは、当事者間で商品を受け渡す、商品の対価である資産(お金)を受け渡す。
人・物・金が相対する当事者間で受け渡される。人が物を受け渡しし、お金を支払う。
この受け払いは、2者の間の関係だけではない。
たとえば、消費税を含めた金額が、受け渡されるわけだが、売上が立った時点において、
得意先から受け取った消費税を納税する義務が発生する。
取引の状況によっては、慣習その他法令に基づき、受け渡しの利害関係者は、2者間だけとは限らない。


同時発生的に様々な記録をしなければならない。
記録に不可欠な情報を決定し、テーブルを予め設計する必要がある。

POAで、入力に対する、出力を保証したとしても、その間に記録されるべき事象を見ることはすくない。
設計されたデータベースに、几帳面に記録、転記せずに、関数的に結果が導き出されたとしても、
途中の結果をチェックすることは困難だ。おそらく結果をを導き出すために、中間テーブルを
設計しなければならないだろう。データベースを利用するためにデータベースに振り回される。
チェック不能なプログラムを大量に生成した後で、
仕様の変更でもあろうことなら、「双六での、振り出しに戻る。」に近い。

テーブル(帳簿)を定義し、記帳、転記、集計を明確に分離できれば、プログラムの追跡も楽なものである。


データを記録する構造を先に検討するのがDOAである。

テーブルの設計を安易に行い、要件にあわせ必要な都度テーブルを修正しているのでは、あまりに
効率が悪い。


DOAは、詳細にテーブル構造を設計しなければならないので、設計ツール無しでの実現は、困難。
設計ツールは、有償のツールや無償のXEAD Modelerを利用できます。