Web教材一覧情報技術の基礎データベース

ファイルの概念

学習のポイント

データベースを理解するための前提として,通常のファイルの概念を理解します。

  1. ファイルに取り込むべき項目と,ファイル,レコード,項目の意味を理解します。
  2. イベントファイルとマスタファイルの概念を理解します。

キーワード

コード,ファイル(表,テーブル),レコード(行),項目(列,属性),イベントファイル(トランザクションファイル),マスタファイル,ユニークキー(主キー)

参考動画:メディアリンク「ビジネスパーソンIT道場」


ファイルの構造

本節では,次の事項を学習します。

伝票・帳票とファイルの関係

簡単な例(例題1)により,ファイルに入れるべき内容を検討します。

売上伝票と請求書

当社では,売上が発生するたびに売上伝票が起票して,コンピュータに入力され,売上ファイルとして蓄積されます。毎月末になると,売上ファイルから請求書を出力して得意先に請求します。このときの売上ファイルのデザインを設計することを例にします。

売上伝票の図 請求書の図

ファイルで持つ項目の列挙

ここでは,売上伝票の入力方法や請求書の出力方法は考慮しないで,請求書を出力するためにはどのようなデータ項目がファイルに入っていなければならないかだけに注目します。

  1. まず最初に,請求書に印刷されている事項を,すべての請求書に共通な部分(コダマ電器あての請求書でもリラックスあての請求書でも同じ部分)と,個々の請求書で異なる部分(コダマ電器の××年10月分の請求書に特有な部分)に区分します。
  2. ファイルに入れておかなければならない項目と,それらの項目から計算できる項目を分離します(後者はファイルに入れません)。

このような分析により,売上ファイルに必要な項目は次のようになります(実際にシステムを設計するには,単に一つの帳票を得るためではなく,非常に多くの帳票を調べる必要があります。また,既存の帳票だけでなく,将来どのような情報が必要になるかも調査します。ですから,数百・数千におよぶ項目が列挙されるのが通常です)。
 なお,ここでは次のような表記法をします。

   売上ファイル=年月日
                 +得意先コード+得意先名
                 +商品コード+商品名
                 +商品区分コード+商品区分名
                 +数量+単価

項目,レコード,ファイル

売上ファイルのデザインは下表のようになります。

売上ファイルの内容
項目
年月日や商品コードなど,縦に並んでいるものを項目といいます。そして「年月日」や「商品コード」などの項目の名称を項目名といいます。
レコード
1組の全項目を並べた1件のデータのことをレコードといいます。よく「〇〇件のデータがある」というのは「レコード数が〇〇である」ことになります。
ファイル
同じデザインのレコードを集めたものをファイルといいます。すなわち,ここでの売上ファイルは同じ項目を持つ売上レコードを集めたものです。

これらは,いろいろな用語で呼ばれています。

 一般的用語として      ファイル レコード 項目
 RDBでの用語 (日本語) 表    行    列
 同上またはAccessで(英語) テーブル レコード フィールド
 その他                     属性

過去問題:「データベース一般」( database.html


イベントファイルとマスタファイル

前節では単一のファイルを検討しましたが,現実には,得意先マスタや商品マスタなどのマスタファイルと,売上ファイルのようなイベントファイルトランザクション・ファイルともいう)にわけて持ちます。本節を学習することにより,イベントファイルとマスタファイルの特徴を理解して,そのようにわけるメリットを理解します。

(1)マスタファイルの分離

上の表を見てください。同じ値がいくつも重複していることがわかります。特に得意先名や商品名は「グローバル〜」のように長いものもあるので,かなり無駄が生じています。
 手作業でも,得意先や商品に関する特性を台帳にしていますが,システムでも得意先台帳や商品台帳に記載する項目は,得意先マスタや商品マスタなどのマスタファイルとして持ち,個々の取引により発生する売上ファイルとは別のファイルにするのが通常です。すなわち,売上ファイルには得意先や商品のコードだけを持ち,名称などのマスタファイルの属性である項目は持たないようにするのです。これにより,上のファイルは次の4つのファイルに分解することができます。

これを次のように図式するのが通常です。得意先マスタでは一つの得意先コードに一つのレコードが対応しているので,得意先コードが決まれば,得意先名が一意に決まります。このとき,得意先コードのような項目をユニークキーあるいは主キーといいます。得意先コードを「ユニーク」キーというのは,このファイルには同じ得意先コードを持つレコードは1つしか存在しない(ユニークである)からです。それに対して売上ファイルでは,同じ日に同じ得意先に同じ商品を売り上げることもあるので,ユニークキーに相当する項目は存在しないことが多いのです。

実際のファイルの内容は次のようになります。これから,前節のファイルが復元できることを確かめてください。

これは次のように表現できます。

   売上ファイル=月日+得意先コード+商品コード+数量
   得意先マスタ=得意先コード+得意先名
   商品マスタ=商品コード+商品名+商品区分コード+単価(注)
   商品区分マスタ=商品区分コード+商品区分名

(2)イベントファイルとマスタファイルの特徴

イベントファイルは,個々の取引によってデータが追加されたり更新されたりするファイルです。ここでは売上ファイルがそれにあたります。それに対して,得意先マスタや商品マスタなどのマスタファイルとは,得意先台帳や商品台帳のようなもので,通常ではあまり変化のないファイルです。イベントファイルとマスタファイルの違いを示します。

         イベントファイルとマスタファイルの特徴

        ┌──────┬────────┬───────┐
         │      │イベントファイル│マスタファイル│
         ├──────┼────────┼───────┤
         │レコード数 │比較的多い   │比較的少ない │
         │更新頻度  │非常に多い   │あまりない  │
         │ユニークキー│通常は持たない │通常は持つ  │
         │項目の個数 │比較的少ない  │比較的多い  │
         │項目の追加 │あまりない   │ときどきある │
         │他目的利用 │比較的少ない  │共有して利用 │
         └──────┴────────┴───────┘
レコード数と更新頻度
売上ファイルのようなイベントファイルは,売上が発生するたびにレコードが入力されますので,ファイルのレコード数は非常に多く,ファイルは頻繁に更新されます。それに対して,得意先マスタのようなマスタファイルは,得意先の数がレコード数になりますから,レコード数は比較的少なく,新規の得意先ができたり,住所などに変更が起こったりしたときだけに更新されるのですから,更新頻度は少ないといえます。
ユニークキー
これに関しては前述しました。
項目の個数とその追加
売上ファイルでは,基本的にはいつ・どこへ・何を・どれだけ売り上げたかを示す項目があればよいのだから,項目の個数はあまり多くはなりません。項目追加も原則としては起こりません。それに対して,得意先マスタは得意先台帳のようなものですから,住所,取引開始年月日,得意先区分など多様な項目があります。
そもそも帳票出力では,イベントファイルのレコードをマスタファイルの項目で選択したり集計したりして加工する処理だともいえます。その選択・集計の切り口は多様でするから,マスタファイルの項目数は多く,ニーズの変化に応じて追加されることが多いのです。
他目的への利用
売上ファイルは,売上の分析以外に使われることはあまりありません。それに対して,得意先マスタは,売掛金管理にも利用されるし,商品マスタは仕入業務でも会計業務でも利用されます。このように,マスタファイルは他のシステムと共有して利用されることが多いのです。

理解度チェック

第1問

システムを設計するときには,そこで用いられる伝票類を調査して,ファイルで持つべき項目を決めることが必要であるが,図1−2を例にして次の問に答えよ。

  1. 「コグレ流通株式会社」とか「下記の通り請求申し上げます」という文字列はファイルに持つ必要がない理由を示せ。
  2. 「コダマ電器」や「目立テレビ」などをファイルに持つ必要がある理由を示せ。
  3. 金額や合計金額はファイルに持つべきかどうか。理由も示せ。

第2問

次の仕様のとき,分離前と分離後のデータ容量を計算せよ。ただし( )内の数字はバイト数である。

  売上件数  10万件  年月日(8) 
  得意先数   2千件  得意先コード(6),得意先名(32)
  商品数    5千件  商品コード(8),商品名(32),単価(6)
  商品区分数  50件  商品区分コード(2),商品区分名(16)


本シリーズの目次へ