実際の情報システムでは、台帳に相当するマスタファイル、個々の取引の発生を記録するイベントファイル(トランザクションファイル)があることを理解します。これは、後述の正規化の概念を理解するための布石になります。
イベントファイル(トランザクションファイル),マスタファイル,ユニークキー(主キー)
実際の情報システムでは,得意先マスタや商品マスタなどのマスタファイルと,売上ファイルのようなイベントファイル(トランザクション・ファイルともいう)にわけて持つのが通常です。
手作業でも,得意先や商品に関する特性を台帳にしていますが,システムでも得意先台帳や商品台帳に記載する項目は,得意先マスタや商品マスタなどのマスタファイルとして持ち,個々の取引により発生する売上ファイルとは別のファイルにするのが通常です。すなわち,売上ファイルには得意先や商品のコードだけを持ち,名称などのマスタファイルの属性である項目は持たないようにするのです。これにより,上のファイルは次の4つのファイルに分解することができます。
どうしてこのような4つのファイルになるのか、どうしてそれぞれのファイルにこのような項目が入るのかに関しては、「データの正規化」で説明します。ここでは、直感的に理解してください。
これを次のように図式するのが通常です。得意先マスタでは一つの得意先コードに一つのレコードが対応しているので,得意先コードが決まれば,得意先名が一意に決まります。このとき,得意先コードのような項目をユニークキーあるいは主キーといいます。得意先コードを「ユニーク」キーというのは,このファイルには同じ得意先コードを持つレコードは1つしか存在しない(ユニークである)からです。それに対して売上ファイルでは,同じ日に同じ得意先に同じ商品を売り上げることもあるので,ユニークキーに相当する項目は存在しないことが多いのです。
実際のファイルの内容は次のようになります。これから,前節のファイルが復元できることを確かめてください。
これは次のように表現できます。
売上ファイル=月日+得意先コード+商品コード+数量
得意先マスタ=得意先コード+得意先名
商品マスタ=商品コード+商品名+商品区分コード+単価(注)
商品区分マスタ=商品区分コード+商品区分名
イベントファイルは,個々の取引によってデータが追加されたり更新されたりするファイルです。ここでは売上ファイルがそれにあたります。それに対して,得意先マスタや商品マスタなどのマスタファイルとは,得意先台帳や商品台帳のようなもので,通常ではあまり変化のないファイルです。イベントファイルとマスタファイルの違いを示します。
┌──────┬────────┬───────┐
│ │イベントファイル│マスタファイル│
├──────┼────────┼───────┤
│レコード数 │比較的多い │比較的少ない │
│更新頻度 │非常に多い │あまりない │
│ユニークキー│通常は持たない │通常は持つ │
│項目の個数 │比較的少ない │比較的多い │
│項目の追加 │あまりない │ときどきある │
│他目的利用 │比較的少ない │共有して利用 │
└──────┴────────┴───────┘