DBデータベーススペシャリスト試験 午後Ⅱ
平成21年度春期 データベーススペシャリスト 午後Ⅱ 問2
事例を読んで設問の答えを考えてから、解説のポイントとIPA公式の解答例・採点講評で確認しましょう。
問題











![図7 概念データモデル(一部未完成)。会員、商品、カタログ、受注、カタログ送付などのエンティティと関係を示す概念データモデル。右端の[f]を含む全体を囲む。](/figures/e741db97be2788ba21d84ab07c3d39997f2f89af98c701c92a46e653178a65e5.webp)

解き方のヒントを見る
業務の事実と関係を整理する視点
業務上の記述を読むときは、登場する対象と出来事を分けて捉え、それらの間にどのような関係があるかを一貫した意味で整理することに注目します。表現の細部より、業務上の事実がどう対応するかを確認しましょう。
この問題で問われていること
業務上の一つの事実がモデル上で重複なく表され、対象同士の結び付きが同じ意味で伝わるかという整合性だけを確認します。概念から表形式へ移る過程でも、その対応が保たれるかを見ます。
視点
業務文書から対象・出来事・関係を読み取り、概念レベルの整理と表形式の整理が同じ業務上の意味を保っているかを追います。名称の似ている要素ではなく、誰と何がどの場面で結び付くかという対応関係に着目すると、表現の違いに惑わされにくくなります。
確認ポイント
- 業務上の対象と出来事が、モデル上で同じ意味の要素として一貫して扱われているか。
- 対象同士の関係が、記述の各箇所で矛盾なく対応付けられているか。
- 概念の整理から表形式の整理へ移る際に、意味の重複や取り落としが生じていないか。
正解と解説を見る
解説
カタログ通信販売の会員、商品、カタログ、コンテンツ、受注、出荷及び送付業務を題材に、業務記述と帳票から概念データモデルと関係スキーマを設計する問題です。
問題の全体像
Q社は、会員管理から商品企画、カタログ企画、受注、出荷、カタログ送付までを扱う通信販売会社です。出題の狙いは、業務記述や帳票例を読み、管理対象となるエンティティタイプ、エンティティ間の関係、属性及び主キー・外部キーを一貫した概念データモデルへ写像する力を確認することにある。公式の出題趣旨では、トップダウンでエンティティタイプとリレーションシップを見抜く力、ボトムアップで属性を抽出し第3正規形まで正規化する力、さらに両者を妥当なモデルへ収れんさせる力が問われている。
設問2(1)
図7の[a]~[f]は、商品とカタログの共通部分及び固有部分を読み取ってサブタイプ名を入れる。商品については、通常商品と特売商品で商品コードが異なり、通常の商品単価と特売単価も別管理され、特売商品から通常商品を特定する対応付けがある。したがって、公式解答例では、aが通常商品、bが特売商品となる。カタログについては、共通のカタログ情報を持つ一方、通常カタログと特売カタログで設計方法や属性が異なる。通常カタログはさらにブランド別カタログと総合カタログに分かれるため、cが通常カタログ、dがブランド別カタログ、eが総合カタログ、fが特売カタログとなる。
設問2(2)
まず、会員と家族構成の記述から、会員を家族構成に対応付け、同居家族をまとめるために代表会員と家族会員を表す関係を追加する。商品側では、大分類・中分類・小分類の階層、ターゲット及びブランドと商品との関係を補い、商品を通常商品・特売商品へ分ける。さらに、商品からSKU、コンテンツ、商品画像へつなげ、コンテンツと商品画像の多対多関係を「コンテンツ使用商品画像」で表す。カタログ側では、カタログと対象家族構成を対応付け、ブランド別カタログの掲載商品・コンテンツを「構成コンテンツ」で表す。総合カタログとブランド別カタログの組合せ及び掲載順序は「構成ブランド別カタログ」で表し、削除・入替の情報は「改編差分」で表す。受注は受注明細、出荷は出荷明細に分解し、受注明細単位で出荷状況を管理する。カタログ送付は送付明細を持ち、請求による送付、送込みカタログ送付、その下位の定期カタログ送付及び商品同梱送付へ分ける。公式解答例は、このように業務記述に現れる管理単位と、複数の対象を結び付ける中間エンティティを追加して図を完成させている。
設問2(3)
属性は、図8に既に示されたエンティティの空欄を、業務上必要な属性、主キー及び外部キーで補うとともに、設問2(2)で追加したエンティティの関係スキーマを追加する。公式解答例では、会員に会員コードや氏名、住所、家族構成コード、家族会員区分などを持たせ、商品分類、ターゲット、ブランド、商品、サイズ、カラーをそれぞれ独立したスキーマとしている。通常商品には通常商品コードと商品単価、特売商品には特売商品コード、通常商品コード、特売単価及び特売カタログ番号を持たせ、通常商品と特売商品の対応を表します。カタログにはカタログ番号などの共通属性を置き、通常カタログ、ブランド別カタログ、総合カタログ、特売カタログには、それぞれの識別子と固有属性を置く。SKU、コンテンツ、商品画像及びコンテンツ使用商品画像では、商品コード、コンテンツ番号、商品画像番号などを組み合わせて識別する。カタログ対象家族構成、構成コンテンツ、構成ブランド別カタログ、改編差分は、カタログや商品・コンテンツ間の対応、掲載順序、削除・入替区分を保持する。受注・受注明細、出荷・出荷明細、カタログ送付・送付明細及び送付方法別の下位スキーマには、各番号と対応する外部キーを設定する。商品単価の履歴を保持しないという記述から最新単価だけを商品側に置き、受注時点の価格は受注単価として受注明細に保持する点が重要です。また、他属性から導出できる値は除外し、繰返し項目や多対多関係は中間エンティティへ分解して第3正規形を満たすようにする。
学習のポイント
サブタイプ、多対多関係、履歴を持たない属性、正規化の判断を重点的に学ぶ。
出典:独立行政法人 情報処理推進機構(IPA)平成21年度春期 データベーススペシャリスト試験 午後Ⅱ 問2(公式資料:問題冊子(PDF) / 解答例 / 採点講評)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針