PR

中問C

 PC関連機器の販売管理業務に関する次の記述を読んで、問97 ~ 100に答えよ。

 I社は、企業に対してPC関連機器の販売を行っており、販売管理業務の情報をデータベースによって管理している。図1に示すデータベースとデータベース管理システムの印刷機能を使って、販売時に図2の請求書を発行する。
 各商品の販売単価は適宜変更され、新たな販売単価とその更新日時が販売単価表の該当レコードに上書きされる。また、取引を行う企業(以下、取引先という)の担当者は原則1人であるが、取引先によっては部署ごとに1人存在することがある。取引先コードは、取引先ごとに採番する。

問題

問100 図2の請求書を表として記録することになった。請求書の表を作成するに当たり、伝票番号、日付、取引先コード、部署名、商品コード、数量、単価の七つの項目を記録することにした。これらの項目を正規化して記録するとき、表の構成として適切なものはどれか。

テクノロジ系>技術要素>データベース>データ操作

解説と解答

 正規化とは、関連するデータをグループ化し、データを重複して持たないように表を分割してデータを整理することです。ここでは、伝票番号、日付、取引先コード、部署名、商品コード、数量、単価の七つの項目を記録するので、これらの項目を関連するグループに分けます。

 まず、1枚の請求書に対して、1回だけ印刷されるグループ(請求書グループ)と、複数回印刷されるグループ(請求書明細グループ)に分類します。

〔請求書グループ〕伝票番号、日付、取引先コード、部署名
〔請求書明細グループ〕商品コード、数量、単価

 請求書明細グループに着目すると、このままではどの請求書に印刷される明細行であるかが分からないことに気がつくでしょう。そこで、伝票番号を追加し、どの請求書に属する明細行であるかが分かるようにします。

〔請求書明細グループ〕伝票番号、商品コード、数量、単価

 最後に、それぞれのグループを表として定義すればよく、次のようになります。なお、下線は主キー項目を表しています。

 なお、この請求書を作成するための表には単価が含まれています。その理由は、販売単価表の販売単価は適宜変更されるからです。もし、単価を記録しないとすると、請求書を発行するとき、単価の変更前(更新日時前)に販売した商品がある場合、その商品の正しい単価が得られなくなってしまいます。

 従って正解は、選択肢ウです。

小倉 美香(おぐら みか)
アプリケーションデザイナー 代表取締役
情報サービス会社の勤務を経て、1998年より現職。保持する資格は、プロジェクトマネージャ、テクニカルエンジニア(ネットワーク)、同(情報セキュリティ)、基本情報技術者など多数。著書に「3週間完全マスター ITパスポート 2010年版」などがある。