アプリケーションの画面や外部システムから、DBに対して汚れたデータが投入されるのを阻止するのが入力側の対策だ。データの不備を発見し、汚れたデータを受け付けない、あるいは修正して受け付ける仕組みが必要になる。入力側ですべての汚れたデータを阻止できるわけではないが、入力側の対策があるとないとではデータ品質に大きな差が出る。DB編、出力編へと進む前に、まずは入力側の対策を打つことがポイントだ。

 以下では、入力側の対策を特に重視する二つの事例を紹介しよう。

工夫なしでは混入防げない

 「パッケージソフトの標準画面では、入力ミスがどこかで発生する」。こう強調するのは、電通国際情報サービスの増田圭一氏(ビジネスソリューション事業部 ソリューションコンサルティング2部 第1グループ プロジェクトマネージャー)である。ERPパッケージの導入を数多く手掛けてきた増田氏は、標準画面で入力の不備が起こる現実を目の当たりにした。そして不備を防ぐには、適切なチェック機構が必要という結論に行き着いた。

 そこで増田氏が取り入れたのが、画面に関するいくつものチェック機構である(図2)。例えば、ユーザーが混同しがちな計画と実績の値を別画面で入力する画面構成とした。「似たような意味を持つ入力項目は入力間違いのもと。たとえ画面数が増えても、できるだけ分けるべきだ」(増田氏)という。加えて画面上には「受注入力(実績)」と目立つように掲げ、誤認識する可能性を低くしている。

図2●画面側にチェック機構を備える
図2●画面側にチェック機構を備える
まずは汚れたデータが混入する状態を断ちたい。電通国際情報サービスの増田圭一氏は、入力を間違わない画面構成や、選択式による入力、内部データの比較などで不正データの入力を防いでいる
[画像のクリックで拡大表示]

 また、不整合や誤りを防ぐために、顧客や商品といったマスターデータにあるデータは直接入力しない作りとしている。プルダウンメニューから選択したり、キーワードで検索して選ぶようにしたりする工夫を取り入れる。

 さらに増田氏は、合計額と明細額をあえてユーザーに別々に入力してもらい、両者をシステム内部で比較して入力ミスを発見する対策も講じる。システム側が、一つの入力データだけでは誤りを発見できなくても、視点を変えた二つのデータが入力されれば、それらを照合することで入力ミスと判断できると考えたのである。

ガチガチ制御でユーザーうんざり

 一般には、想定外の値を入力できないように、各入力欄に制御をかける。この制御は、アプリケーション側に埋め込む場合と、データベース管理システム(DBMS)側に埋め込む場合がある。ただし注意すべきは、Webシステムのアプリケーション側にこの制御を多く埋め込む“ガチガチな画面”にすると、操作性を損ねることだ。毎回サーバーに対して値の判断を問い合わせることになり、レスポンスが低下するのである。あまり制御が多いと次の画面になかなか進めない。増田氏は「誤解のない画面構成や選択式の入力、内部的なデータ照合など、自然に入力ミスがなくなるチェック機構を“そっと”組み込むことが肝心だ」とアドバイスする。

 ここでは画面について触れたが、外部システムからデータを受け取る際も同様のチェック機構が必要だ。「特に複数の外部システムから売り上げデータなどを受信する場合、それらが同じ意味を持つデータなのかをよく確認しておくことだ」(増田氏)という。