電子機器の製造受託会社における調達システムの概念データモデリングに関する次の記述を読んで,設問に答えよ。
基板上に電子部品を実装した電子機器の製造受託会社であるA社は,自動車や家電などの製品開発を行う得意先から電子機器の試作品の製造を受託し,電子部品の調達と試作品の製造を行う。今回,調達システムの概念データモデル及び関係スキーマを再設計した。
〔現行業務〕
1.組織
(1)組織は,組織コードで識別し,組織名をもつ。組織名は重複しない。
(2)組織は,階層構造であり,いずれか一つの上位組織に属する。
2.役職
役職は,役職コードで識別し,役職名をもつ。役職名は重複しない。
3.社員
(1)社員は,社員コードで識別し,氏名をもつ。同姓同名の社員は存在し得る。
(2)社員は,いずれかの組織に所属し,複数の組織に所属し得る。
(3)一部の社員は,各組織において役職に就く。同一組織で複数の役職には就かない。
(4)社員には,所属組織ごとに,業務内容の報告先となる社員が高々1名決まっている
4.得意先と仕入先
(1)製造受託の依頼元を得意先,電子部品の調達先を仕入先と呼ぶ。
(2)得意先と仕入先とを併せて取引先と呼ぶ。取引先は,取引先コードを用いて識別し,取引先名と住所をもつ。
(3)取引先が,得意先と仕入先のどちらに該当するかは,取引先区分で分類している。得意先と仕入先の両方に該当する取引先は存在しない。
(4)仕入先は,電子部品を扱う商社である。A社は,仕入先と調達条件(単価,ロットサイズ,納入可能年月日)を交渉して調達する。仕入先ごとに昨年度調達金額をもつ。
(5)得意先は,昨年度受注金額をもつ。
5.品目
(1)試作品を構成する電子部品を品目と呼び,電子部品メーカー(以下,メーカーという)が製造している。
①品目は,メーカーが付与するメーカー型式番号で識別する。メーカー型式番号は,メーカー間で重複しない。
②メーカー各社が発行する電子部品カタログでメーカー型式番号を調べると,電子部品の仕様や電気的特性は記載されているが,単価やロットサイズは記載されていない。
(2)品目は,メーカーが付けたブランドのいずれか一つに属する。
①ブランドは,ブランドコードで識別し,ブランド名をもつ。
②仕入先は,幾つものブランドを扱っており,同じブランドを異なる仕入先から調達することができる。仕入先ごとに,どのブランドを取り扱っているかを登録している。
(3)品目は,品目のグループである品目分類のいずれか一つに属する。品目分類は,品目分類コードで識別し,品目分類名をもつ。
6.試作案件登録
(1)得意先にとって試作とは,量産前の設計検証,機能比較を目的に,製品用途ごとに,性能や機能が異なる複数のモデルを準備することをいう。得意先からモデルごとの設計図面,品目構成,及び製造台数の提示を受け,試作案件として次を登録する。
①試作案件
・試作案件は,試作案件番号で識別し,試作案件名,得意先,製品用途,試作案件登録年月日をもつ。
②モデル
・モデルごとに,モデル名,設計図面番号,製造台数,得意先希望納入年月日をもつ。モデルは,試作案件番号とモデル名で識別する。
③モデル構成品目
・モデルで使用する品目ごとに,モデル1台当たりの所要数量をもつ。
④試作案件品目
・試作案件で使用する品目ごとの合計所要数量をもつ。
・通常,品目の調達はA社が行うが,得意先から無償で支給されることがある。この数量を得意先支給数量としてもつ。
・合計所要数量から得意先支給数量を減じた必要調達数量をもつ。
7.見積依頼から見積回答入手まで
(1)品目を調達する際は,当該品目のブランドを扱う複数の仕入先に見積依頼を行う。
①1見積依頼には,見積依頼番号を付与し,見積依頼年月日を記録する。また,どの試作案件に対する見積依頼かが分かるようにしておく。
②仕入先に対しては,見積依頼がどの得意先の試作案件によるのか明かすことはできないが,得意先が不適切な品目を選定していた場合に,仕入先からの助言を得るために,製品用途を提示する。
③品目ごとに見積依頼明細番号を付与し,必要調達数量,希望納入年月日を提示する。
④仕入先に対して,見積回答時には対応する見積依頼番号,見積依頼明細番号の記載を依頼する。
(2)仕入先から見積回答を入手する。見積回答が複数に分かれることはない。
①入手した見積回答には,見積依頼番号,見積有効期限,見積回答年月日,仕入先が付与した見積回答番号が記載されている。見積回答番号は,仕入先間で重複し得る。
②見積回答の明細には,見積依頼明細番号,メーカー型式番号,調達条件,仕入先が付与した見積回答明細番号が記載されている。回答されない品目もある。見積回答明細番号は,仕入先間で重複し得る。
③見積回答の明細には,見積依頼とは別の複数の品目が提案として返ってくることがある。その場合,その品目の提案理由が記載されている。
④見積回答の明細には,一つの品目に対して複数の調達条件が返ってくることがある。例えば,ロットサイズが1,000個の品目に対して,見積依頼の必要調達数量が300個の場合,仕入先から,ロットサイズ1,000個で単価0.5円,ロットサイズ1個で単価2円,という2通りの見積回答の明細が返ってくる。
8.発注から入荷まで
(1)仕入先からの見積回答を受けて,得意先と相談の上,品目ごとに妥当な調達条件を一つだけ選定する。
①選定した調達条件に対応する見積回答明細を発注明細に記録し,発注ロッ ト数,指定納入年月日を決める。
②同時期に同じ仕入先に発注する発注明細は,試作案件が異なっても,1回の 発注に束ねる。
③発注ごとに発注番号を付与し,発注年月日と発注合計金額を記録する。
(2)発注に基づいて,仕入先から品目を入荷する。
①入荷ごとに入荷番号を付与し,入荷年月日を記録する。
②入荷の品目ごとに入荷明細番号を発行する。1件の発注明細に対して,入荷が分かれることはない。
③入荷番号と入荷明細番号が書かれたシールを品目の外装に貼って,製造担当へ引き渡す。
〔利用者の要望〕
1.品目分類の階層化
品目分類を大分類中分類小分類のような階層的な構造にしたい。当面は3階層でよいが,将来的には階層を増やす可能性がある。
2.仕入先からの分納
一部の仕入先から1件の発注明細に対する納品を分けたいという分納要望が出てきた。分納要望に応えつつ,未だ納入されていない数量である発注残ロット数も記録するようにしたい。
〔現行業務の概念データモデルと関係スキーマの設計〕
現行業務の概念データモデルを図1に,関係スキーマを図2に示す。
図1 現行業務の概念データモデル(未完成)
図2 現行業務の関係スキーマ(未完成)
解答に当たっては,巻頭の表記ルールに従うこと。ただし,エンティティタイプ間の対応関係にゼロを含むか否かの表記は必要ない。エンティティタイプ間のリレーションシップとして“多対多”のリレーションシップを用いないこと。属性名は,意味を識別できる適切な名称とすること。関係スキーマに入れる属性を答える場合,主キーを表す下線,外部キーを表す破線の下線についても答えること。
設問1 図2中の関係"社員所属”について答えよ。
(1)関係“社員所属”の候補キーを全て挙げよ。なお,候補キーが複数の属性から構成される場合は,{}で括ること。
解答・解説
解答例
{社員コード,社員所属組織コード}
{社員コード,社員所属組織名}
解説
ー
(2)関係“社員所属”は,次のどの正規形に該当するか。該当するものを,◯で囲んで示せ。また,その根拠を,具体的な属性名を挙げて60字以内で答えよ。第3正規形でない場合は,第3正規形に分解した関係スキーマを示せ。ここで,分解後の関係の関係名には,本文中の用語を用いること。
解答・解説
解答例
正規形
第1正規形
根拠
・全ての属性が単一値をとり,候補キーの一部である“社員コー ド”に関数従属する“社員氏名”があるから
・全ての属性が単一値をとり,候補キーの一部である“社員所属組織コード”に関数従属する“社員所属上位組織コード”があるか ら
・全ての属性が単一値をとり,候補キーの一部である“社員所属組織名”に関数従属する“社員所属上位組織名”があるから
関係スキーマ
社員(社員コード,社員氏名)
組織(組織コード,組織名,上位組織コード)
社員所属(社員コード,所属組織コード,役職コード, 報告先社員コード)
役職(役職コード,役職名)
解説
ー
設問2 現行業務の概念データモデル及び関係スキーマについて答えよ。
(1)図1中の欠落しているリレーションシップを補って図を完成させよ。なお,図1に表示されていないエンティティタイプは考慮しなくてよい。
解答・解説
解答例
解説
ー
(2)図2中の a 〜 e に入れる一つ又は複数の適切な属性名を補って関係スキーマを完成させよ。
解答・解説
解答例
a:試作案件番号
b:得意先支給数量,必要調達数量
c:取引先コード,試作案件番号
d:見積依頼番号,メーカー型式番号,ロットサイズ,提案理由
e:見積依頼番号,見積回答明細番号,発注ロット数
解説
ー
設問3 〔利用者の要望〕への対応について答えよ。
(1)“1.品目分類の階層化”に対応できるよう,次の変更を行う。
(a)図1の概念データモデルでリレーションシップを追加又は変更する。該当するエンティティタイプ名を挙げ,どのように追加又は変更すべきかを,30字以内で答えよ。
解答・解説
解答例
・品目分類に自己参照型のリレーションシップを追加する。
・品目分類に再帰リレーションシップを追加する。
・品目分類から自分自身へ1対多のリレーションシップを追加する。
解説
ー
(b)図2の関係スキーマにおいて,ある関係に一つの属性を追加する。属性を追加する関係名及び追加する属性名を答えよ。
解答・解説
解答例
関係名:品目分類
属性名:上位品目分類コード
解説
ー
(2)“2.仕入先からの分納”に対応できるよう,次の変更を行う。
(a)図1の概念データモデルでリレーションシップを追加又は変更する。該当するエンティティタイプ名を挙げ,どのように追加又は変更すべきかを,45字以内で答えよ。
解答・解説
解答例
発注明細と入荷明細との間のリレーションシップを,1対1から1対多へ 変更する。
解説
ー
(b)図2の関係スキーマにおいて,ある二つの関係に一つずつ属性を追加する。属性を追加する関係名及び追加する属性名をそれぞれ答えよ。
解答・解説
解答例
①関係名:発注明細 属性名:発注残ロット数
②関係名:入荷明細 属性名:入荷ロット数
解説
ー
IPA公開情報
出題趣旨
データベースの設計では,業務内容や業務で取り扱うデータなどの実世界の情報を総合的に理解し,データモデルに反映することが求められる。
本問では,電子機器の製造受託会社における調達システムを題材として,関数従属性,正規化理論などの基礎知識を用いてデータモデルを分析する能力,業務要件をデータモデルに反映する能力,設計変更によるデータモデル及び関係スキーマの適切な変更を行う能力を問う。
採点講評
問 1 では,電子機器の製造受託会社における調達システムを題材に,正規化理論に基づくデータモデル分析,業務要件に基づくデータベース設計について出題した。全体として正答率は平均的であった。
設問 2 では,(1)の正答率が低かった。“仕入先”から“見積依頼”,及び“品目”から“見積回答明細”への 1 対多のリレーションシップが記入できていない解答が散見された。状況記述や概念データモデル,関係スキーマから不足している情報を的確に分析し,解答するようにしてほしい。また,(2)d の正答率が低かった。 主キー属性として見積依頼番号を記述できていない解答が目立った。見積回答明細番号は仕入先間で重複し得ることから,“見積回答明細”の主キーは,見積依頼番号との複合キーとなることを状況記述から読み取ってほしい。
設問 3 では,(2)(b)の正答率が低かった。分納によって発注残ロット数を導出するためには,入荷ロット数を新たに追加する必要がある。利用者の要望を受けてデータモデルを変更することは,実務でもよくあることである。利用者の要望に応えるために必要な情報は何か,不足はないか,日常業務でも常に考えてみてほし い。