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



解き方のヒントを見る
業務要件の記述と設計要素の対応付け
空欄を埋めるときは、直感や一般的な慣習に頼らず、業務要件のどの記述がその空欄の根拠になるかを一つずつ突き合わせることが大切です。根拠となる記述を特定してから、設計全体と矛盾しないかを確かめましょう。
この問題で問われていること
この分野では、業務要件の文章に書かれた条件や制約が、設計のどの部分にどう反映されているかを読み取る力が問われます。要件の一文ごとに、それが設計上のどの要素に関わる記述なのかを意識して読み進めることが、検討の出発点になります。
視点
業務要件から設計を完成させる問題では、設計の各部分に必ず要件側の根拠があるという前提で考えます。空欄一つに対して、それを決める手掛かりとなる要件の記述を探し、その記述が述べている内容を自分の言葉で言い直してから設計に当てはめると、思い込みによる判断を避けやすくなります。また、ある箇所で得た解釈が、ほかの箇所の設計とも整合しているかを見直すことで、解釈の誤りに気付きやすくなります。
確認ポイント
- 空欄ごとに、根拠となる業務要件の記述を具体的に一か所以上特定できているか
- その記述が示す条件や制約を、自分の言葉で正確に言い直せるか
- 一つの空欄について得た解釈が、設計のほかの部分の内容と食い違っていないか
正解と解説を見る
解説
太陽光発電設備メーカのアフタサービス業務を題材に、決定表、概念データモデル、関係スキーマを完成させる問題です。押さえるべき点は四つあります。①製品と部材、号機と品目、故障現象と品目、保守契約と号機のような多対多を連関エンティティで解消すること。②未利用地設置プラントのように、固有属性をもつサブタイプを見つけること。③問合せ・遠隔監視から現調手配、現調・定期点検から修理対応・予防保全対応、各対応から対応明細へと続く業務の連鎖を、外部キーとリレーションシップで表すこと。④記述の条件(1日1回、引き続いて実施、あらかじめ日時を定める業務は除く、など)から属性の要否を判断すること。
問題の全体像
E社(太陽光発電設備メーカ)がアフタサービス業務支援システムを再構築する事例です。業務分析の結果は四つの部分からなります。顧客・自社組織(発電プラント、号機、エンドユーザ、エリア、営業所、サービス班)、品目・保守契約、故障現象・リコール・リコール対応枠、そして業務の内容(問合せ、現調手配、現調、定期点検、遠隔監視、下草刈り、修理対応、予防保全対応、リコール対応、対応明細)です。設問は、表1の決定表(現調・定期点検の結果の判断方法)の空欄、図1の概念データモデルのエンティティタイプ名と欠落したリレーションシップ、図2の関係スキーマの属性を問います。出題趣旨では、①マスタ間の関連を見抜く能力、②リレーションシップを考察する能力、③妥当な関係スキーマを設計する能力を評価するとされています。採点講評では全体の正答率は標準的とされています。そのうえで、当初1対多だった関係が、後から追加されるデータで多対多になることを読み取れていない解答、トランザクションの連鎖を表すリレーションシップを誤った解答、連鎖の後続側の属性を誤った解答が挙げられています。
設問(1)(ア)
表1の条件部は「修理が必要か」「予防保全保守契約を結んでいるか」「予防保全の対応が必要か」の三つです。空欄アの行は、1列目(Y・Y・Y)と4列目(N・Y・Y)だけにXが付いています。どちらも「予防保全保守契約を結んでいる」かつ「予防保全の対応が必要」な列です。4(8)①の「予防保全保守契約があり、予防保全対応が必要と判断した場合、予防保全対応を実施し」に対応します。公式解答例では「予防保全対応を実施する」です。一つ上の行「修理対応を実施する」と同じ形の動作記述にそろえるのがポイントです。
設問(1)(イ)
空欄イの行は、1〜4列目にXが付き、5・6列目(修理不要かつ予防保全対応なし)は「-」です。つまり、修理対応か予防保全対応のどちらかを実施した場合に必ず行う処理です。4(10)①には「予防保全対応・修理対応・リコール対応の記録に用いている帳票の…明細部分は共通の様式であり、共通の対応明細で記録する」とあります。修理でも予防保全でも、対応した内容は対応明細に記録されます。公式解答例では「対応明細を記録する」です。採点講評では、この項目を答えられない解答が散見されたと指摘しています。あわせて、決定表はエンティティタイプ間のリレーションシップの妥当性を検証するツールでもあるので、条件の組合せと記録の関係を構造的に捉えるよう求めています。
設問(2)(あ)
1(1)②に「産業用プラントは工場・倉庫の屋上又は未利用地に設置される。未利用地設置プラントの場合は…下草刈り総面積を保持する」とあります。図2の産業用プラントには設置区分があり、屋上か未利用地かを区別できます。そして未利用地の場合にだけ固有の属性(下草刈り総面積)があります。設計方針(4)「サブタイプ固有の属性がある場合、必ずそのサブタイプの属性とする」に従うと、産業用プラントのサブタイプが必要です。公式解答例では「未利用地設置プラント」です。2(2)④の下草刈りが未利用地設置プラントを対象とする点とも整合します。
設問(2)(い)
図1では、製品から空欄いへ1対多の矢印が引かれています。2(1)③には「製品に対応する部材、及び製品一つ当たりの対応数を表にまとめ…この表を製品部材対応という」とあります。2(1)②では「部材のほとんどは複数製品に共通に用いられる」ので、製品と部材は多対多です。これを解消する連関エンティティが空欄いです。公式解答例では「製品部材対応」です。記述中の名称をそのまま使えます。
設問(2)(う)
図1では、号機から空欄うへ矢印が引かれています。2(1)⑤に「各号機を構成する品目について、品目ごとの構成数を記録している」とあります。一つの号機は多数の品目で構成され、一つの品目は多数の号機で使われるので、号機と品目は多対多です。その連関エンティティが空欄うで、公式解答例では「号機構成品目」です。
設問(2)(え)
図1では、故障現象から空欄えへ矢印が引かれています。3(1)②に「故障現象別に、対応に必要な品目の一覧を整備している。その一覧では、直接関連区分…を有している」とあります。故障現象と品目の多対多を解消し、直接関連区分をもたせるエンティティです。公式解答例では「故障現象対応品目」です。
設問(2)(お)
図1では、保守契約から空欄おへ矢印が引かれています。2(2)には「保守契約は、一つ又は複数の号機を対象に結ぶ。保守契約は、後から追加されたり解約されたりすることがある」とあります。一つの号機にも定期点検・遠隔監視・予防保全などの契約が後から追加されていくので、号機と保守契約は多対多になります。これを解消する連関エンティティが空欄おです。公式解答例では「保守対象号機」です。採点講評が「当初1対多の対応関係が、時間の経過で追加されるデータによって多対多になる」点の読み取り不足を指摘しているのは、主にこの部分に関係します。
設問(2)(リレーションシップ)
公式解答例の図1で追加されているリレーションシップを、根拠とともにまとめます。
①発電プラントをスーパタイプとして、住宅用プラント・産業用プラントをサブタイプとする関係、さらに産業用プラントをスーパタイプとして未利用地設置プラント(あ)をサブタイプとする関係。
②多対多を解消するための関連:部材→製品部材対応、品目→号機構成品目、品目→故障現象対応品目、号機→保守対象号機。
③発電プラント→保守契約(保守契約のプラント番号。複数プラントにまたがる契約はない)、発電プラント→リコール対応(個々の発電プラントごとにリコール対応を登録)、リコール→リコール対応、リコール対応→リコール対応枠(一つのリコール対応に一つ以上の枠を割り当てるが、一つの枠に複数のリコール対応は割り当てない)。
④各保守契約のサブタイプ→対応する業務:定期点検保守契約→定期点検、遠隔監視保守契約→遠隔監視、下草刈り保守契約→下草刈り、予防保全保守契約→予防保全対応。サービス班→定期点検・下草刈り・現調手配。
⑤トランザクションの連鎖:問合せ—現調手配、遠隔監視—現調手配(どちらも1回の手配に対応。同じ異常では再手配しない)。現調・定期点検と修理対応・予防保全対応の関連(どの業務の判断によるものかを対応付ける)。修理対応・予防保全対応・リコール対応→対応明細。
⑥品目→品目設置対応明細、品目→品目回収対応明細。
これらは、図2の関係スキーマの外部キー(h〜rなど)と矛盾しないように引きます。採点講評でトランザクションの連鎖の誤りが指摘されているので、手配元(問合せ・遠隔監視)と判断元(現調・定期点検)を取り違えないことが重要です。
設問(3)(a)
未利用地設置プラント(あ)は産業用プラントのサブタイプなので、主キーはスーパタイプと同じプラント番号(実線の下線)です。固有属性は1(1)②の下草刈り総面積です。公式解答例では「プラント番号、下草刈り総面積」です。
設問(3)(b)
製品部材対応(い)は製品と部材の多対多を解消するので、製品番号と部材番号の組が主キー(ともに実線の下線)です。2(1)③の「製品一つ当たりの対応数」を非キー属性として加えます。公式解答例では「製品番号、部材番号、対応数」です。製品と部材はそれぞれ製品番号・部材番号で識別する(2(1)①②)ので、品目番号ではなくこの二つを使う点に注意します。
設問(3)(c)
号機構成品目(う)の主キーは、号機の主キー(プラント番号、号機番号)に品目を加えた複合キーです。公式解答例では、品目を指す属性に「構成品目番号」という意味の分かる名称を付けています。答えは「プラント番号、号機番号、構成品目番号、構成数」で、先頭の三つが主キー(実線の下線)です。構成数は2(1)⑤にある「品目ごとの構成数」です。
設問(3)(d)
故障現象対応品目(え)の主キーは故障現象番号と品目番号です(実線の下線)。3(1)②の直接関連区分(直接原因か間接原因か)を非キー属性とします。公式解答例では「故障現象番号、品目番号、直接関連区分」です。
設問(3)(e)
リコールは、3(2)①で「ある故障現象がリコールに該当すると判断した場合、リコール番号を付与して…登録する」とあるように、故障現象に基づいて登録されます。そのため故障現象番号を外部キー(破線の下線)としてもちます。3(2)②の「リコール対応の開始年月日と完了年月日及びリコール概要」も属性です。公式解答例では「故障現象番号、対応開始年月日、対応完了年月日、リコール概要」です。
設問(3)(f)
リコール対応枠の主キーは、すでにリコール番号・営業所番号・班番号・枠番号で示されています。4(9)③では「一つのリコール対応枠に複数のリコール対応を割り当てることはない」一方、一つのリコール対応には複数の枠を割り当てます。そのため、多側にあたる枠の側に割当先のリコール対応番号を外部キー(破線の下線)として置きます。ほかに、3(3)①の時間枠(年月日・開始時刻・終了時刻)と、③の枠状況区分が必要です。公式解答例では「リコール対応番号、枠年月日、開始時刻、終了時刻、枠状況区分」です。
設問(3)(g)
保守対象号機(お)は号機と保守契約の多対多を解消する連関エンティティです。主キーは号機のプラント番号・号機番号と保守契約の契約番号を組み合わせたものです。公式解答例では「プラント番号、号機番号、契約番号」で、すべて実線の下線(主キー)です。
設問(3)(h)
定期点検は、定期点検保守契約に基づいて行います(4(4))。そのため契約番号を外部キーとしてもちます。実施するのはサービス班なので、サービス班の主キーである営業所番号・班番号も外部キーです(いずれも破線の下線)。4(11)により、出張が必要な業務は開始年月日と完了年月日を記録します。4(4)の定期点検結果概要も加えます。公式解答例では「契約番号、営業所番号、班番号、定期点検開始年月日、定期点検完了年月日、定期点検結果概要」です。
設問(3)(i)
遠隔監視には主キーがまだ示されていません。4(5)①に「発電量、最高気温、最低気温、日射量を1日1回記録する」とあるので、遠隔監視保守契約の契約番号と監視年月日の組で一意に識別できます。公式解答例では「契約番号、監視年月日、発電量、最高気温、最低気温、日射量」で、契約番号と監視年月日に実線の下線(主キー)を付けます。監視は遠隔監視センタが行い、センタはE社に一つだけなので、組織を表す外部キーは不要です。
設問(3)(j)
現調手配では、手配先のサービス班(営業所番号・班番号)と、手配のきっかけになった業務を記録します(4(2)「手配された業務との対応を記録する」)。きっかけは問合せ(4(1)③)か遠隔監視での異常検知(4(5)②)です。そこで、問合せ番号と、遠隔監視の主キーである契約番号・監視年月日を外部キーとしてもちます。公式解答例では「営業所番号、班番号、問合せ番号、契約番号、監視年月日」で、すべて破線の下線です。問合せや遠隔監視の方が先に発生するので、設計方針(2)により、後から発生する現調手配の側に外部キーを置きます。
設問(3)(k)
下草刈りは、下草刈り保守契約に基づいてサービス班が実施します。そのため契約番号、営業所番号、班番号を外部キー(破線の下線)とします。4(6)の作業時間と、4(11)による開始・完了年月日も必要です。公式解答例では「契約番号、営業所番号、班番号、作業時間、下草刈り開始年月日、下草刈り完了年月日」です。
設問(3)(l)
現調の主キーは現調番号で、現調手配と同じ番号をもつ1対1の関係です。手配先のサービス班は現調手配から分かるので、班の外部キーを重ねてもつ必要はありません。出張業務なので4(11)の開始・完了年月日と、4(3)の現調結果概要を属性とします。公式解答例では「現調開始年月日、現調完了年月日、現調結果概要」です。
設問(3)(m)
4(8)②から、予防保全対応の必要性は定期点検又は現調の機会に判断されます。①に「どの業務の判断によるものか対応付ける」とあるので、現調番号と定期点検番号を外部キーとしてもちます。予防保全保守契約がある場合にだけ実施するので、契約番号も外部キーです。③で、判断したサービス班が引き続いて実施するとあるので、サービス班は判断元の業務からたどれます。そのため班の外部キーは不要です。公式解答例では「現調番号、定期点検番号、契約番号、保全対応開始年月日、保全対応完了年月日」で、先頭の三つが破線の下線です。
設問(3)(n)
修理対応も、4(7)①で「どの業務の判断によるものか対応付ける」、②で判断したサービス班が引き続いて実施するとされています。そのため、判断元である現調番号・定期点検番号を外部キーとし、開始・完了年月日を加えます。修理は保守契約の有無と関係なく行う(表1でも契約の条件は修理対応の実施に影響しない)ので、契約番号はもちません。公式解答例では「現調番号、定期点検番号、修理開始年月日、修理完了年月日」です。
設問(3)(o)
4(9)①で、リコール対応は個々の発電プラントに対応して登録されるので、プラント番号を外部キー(破線の下線)とします。④の対応状況区分(日程調整済・対応中・対応完了)も属性です。日時は日程調整とリコール対応枠によってあらかじめ定まっています。4(11)ただし書き「あらかじめ対応の日時を定めている業務はその限りではない」により、開始・完了年月日は不要です。公式解答例では「プラント番号、対応状況区分」です。
設問(3)(p)
4(10)①から、対応明細は予防保全対応・修理対応・リコール対応の三つに共通の明細です。そこで、どのヘッダに属する明細かを示すため、三つの対応の主キーをそれぞれ外部キーとしてもちます。公式解答例では「修理対応番号、予防保全対応番号、リコール対応番号」で、すべて破線の下線です。
設問(3)(q)
品目設置対応明細については、4(10)②に「設置した品目と設置数を記録する」とあります。そこで品目番号を外部キー(破線の下線)とし、設置数を加えます。公式解答例では「品目番号、設置数」です。
設問(3)(r)
品目回収対応明細については、「回収した品目と、品目の個体に記されている製造番号を記録する。回収した個体が複数ある場合、その件数分の対応明細を記録する」とあります。1明細が1個体に対応するので、数量ではなく製造番号を属性とします。公式解答例では「品目番号、回収品目製造番号」で、品目番号が破線の下線(外部キー)です。
学習のポイント
業務の一文ごとに「何が何件と対応するか」をインスタンスの単位で確かめる練習をしましょう。特に、後から追加されて多対多になる関係、トランザクションどうしの連鎖、サブタイプと外部キーを置く場所の判断が重点です。
出典:独立行政法人 情報処理推進機構(IPA)平成28年度春期 データベーススペシャリスト試験 午後Ⅱ 問2(公式資料:問題冊子(PDF) / 解答例 / 採点講評)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針