データチェック

概要

データチェックとは、プログラムコード中で、利用者の入力した値などに誤りや矛盾がないか調べること。条件文などを用いて記述し、不適切なデータが検知された場合は再入力を促したり例外処理を行う。何をチェックするかによって様々な種類があり、必要に応じて組み合わせて記述する。

リミットチェック (限界検査/限度検査)

数値などが規定された上限あるいは下限に収まっているかどうかを調べることをリミットチェックという。値が規定された上限値より小さいか、下限値より大きいかを調べるもの。上限あるいは下限のみが設定されたものを指すことが多い。

レンジチェック (範囲検査)

数値などが規定の範囲内に収まっているかどうかを調べることをレンジチェックという。上限と下限の両方が定義され、値がその間に存在することを確認する。

フォーマットチェック (書式検査/形式検査)

あらかじめ定められた書式(フォーマット)に則って記述されているかどうかを調べることをフォーマットチェックという。

例えば、日付を入力すべき場所に、有効な日付として解釈可能なデータが入力されているか、電話番号や郵便番号として入力されたデータの桁数が適切か、数字とハイフン以外の文字が混じっていないか、といった点を検査する。形式上の誤りがないかを調べるチェックであり、論理的、意味的に妥当かどうかといった点については別の手法により検査する。

シーケンスチェック (順序検査/順番検査)

順序が決められているようなデータで、入力値が順番通りに並んでいるか確かめることをシーケンスチェックという。

順序が決まっているデータ群に対して行われるチェックで、規定された順序どおりに並んでいるかどうかを調べる。例えば、時系列の変化を記録したデータが日付・時刻の推移の通りに並んでいるか、伝票番号のような通し番号が付与されたデータが昇順(小さい順)あるいは降順(大きい順)に並んでいるか、といったことを調べる。また、連続した番号などが対象の場合には、あるべきデータが抜け落ちていないかどうかを調べる場合もある。

論理チェック (ロジックチェック/妥当性チェック)

データの論理的な整合性を確かめることを論理チェックあるいは妥当性チェックという。

生年月日が未来の日付になっているなど、データ単体として論理的にありえない状態になっていることを検知したり、複数の項目やデータ間の関係を調べ、販売したチケット数が座席数より多い、発送日が発注日より過去になっている、などの論理的に矛盾したデータが入力されていないかを調べる。

ニューメリックチェック (数値検査)

データが数値としての形式を満たしているかどうかを判別することをニューメリックチェックという。

個数や値段など数値を入力すべき場所に、数値として解釈可能な文字群が正しく入力されているか、アルファベットや日本語文字など、数値として扱うことができないデータが含まれていないかを調べる。

数値であることが確認されたあと、その値が上限あるいは下限を超えていないか調べるのは「リミットチェック」あるいは「レンジチェック」の役割で、個数に小数点以下の値があるなど論理的に正しくないことを検知するのは「論理チェック」の役割となる。

バランスチェック (平衡検査)

必ず一致していなければならない一対のデータを実際に計算してみて一致するかどうか確認することをバランスチェックという。

会計データの借方と貸方のように、2つ以上の異なるデータの並びについて、その合計値などが最終的に必ず一致しなければならない場合がある。このような場合に、実際にそれぞれ計算してみて一致するかどうかを確認することを指す。

(2018.2.4更新)

データの用語一覧