DBデータベーススペシャリスト試験 午後Ⅰ

令和4年度秋期 データベーススペシャリスト 午後Ⅰ 問1

事例を読んで設問の答えを考えてから、解説のポイントとIPA公式の解答例・採点講評で確認しましょう。

問題

問1 アフターサービス業務に関する次の記述を読んで,設問に答えよ。 住宅設備メーカーのA社は,アフターサービス業務(以下,AS業務という)のシステム再構築で,業務分析を行って概念データモデルと関係スキーマを設計した。 〔現状業務の分析結果〕 1. 社内外の組織,人的資源の特性 (1)カスタマーセンター(以下,CCという)は,A社に一つだけある組織である。 (2)CCの要員であるカスタマー係(以下,CC要員という)は,社員番号で識別し,氏名をもつ。 (3)ビジネスパートナー(以下,BPという)は,A社の協業先企業で,BPコードで識別し,BP名,所在地をもつ。AS業務の範囲のBPには,販売パートナー(以下,SLPという)と点検修理パートナー(以下,ASPという)がある。 ① SLPは,販売店,工務店など,A社の製品をエンドユーザー(以下,EUという)に販売,設置をする企業であり,後述する問合せの登録を行う。SLPはSLPフラグで分類し,業種と前年販売高をもつ。 ② ASPは,点検修理の委託先企業で,全国を数百のサービス地域に分け,サービス地域の幾つかごとに1社と契約している。ASPはASPフラグで分類し,後述するカスタマーエンジニア(以下,CEという)の人数であるCE数をもつ。 (4)CEは,ASPに所属する技術者で,ASPごとのCE番号であらかじめ登録している。氏名をもつ。 (5)EUは,製品の利用者で,EU番号で識別し,氏名,住所,住所から定まるサービス地域,電話番号,更新年月日をもつ。 2. 製品などのもの,点検修理項目の特性 (1)製品は,A社が製造販売する製品で,製品コードで識別し,製品名をもつ。 (2)製品シリーズは,製品の上位の分類で,床暖房パネル,乾燥機などがある。製品シリーズコードで識別し,製品シリーズ名をもつ。 (3)登録製品には,販売した製品を利用するEUを登録する。 ① 登録製品は,製品製造番号で識別する。登録製品には,製品コード,利用者のEU番号,登録製品の更新年月日を記録している。 ② 登録製品の利用者は,集合住宅での入退居や住宅の売買で変わり得るので,把握の都度,利用しているEUを登録又は更新する。 (4)点検修理項目は,出張による点検修理で発生し得るCEの作業項目で,メンテナンスコード(以下,MTコードという)で識別し,点検修理項目名をもつ。動作確認,分解点検,ユニット交換などがある。 3. 問合せの登録 (1)製品使用者の使用上の不具合や違和感がA社に対する問合せとなる。 (2)問合せは,製品使用者から直接又はSLP経由でCCに入る。 (3)問合せの媒体は,Web上の問合せフォームか電話による通話である。いずれであるか媒体区分で分類する。 (4)一つの問合せは,問合せフォームから入る1件の問合せ文又は1回の通話で,問合せ番号で識別し,問合せ年月日時刻,問合せ内容のほかに,製品使用者への連絡のための情報として,お名前と電話番号を記録する。この段階での連絡のための情報は,登録されているEUのものとは関連付けない。 (5)製品使用者が直接入れる問合せは通話と問合せフォームの両方があり得るが,SLP経由の場合は問合せフォームからに限定している。 (6)入ったWeb問合せに対してCC要員が製品使用者に電話をかける。そのWeb問合せがSLP経由だった場合,製品使用者にどのSLPから受け継いだかを伝えるために,Web問合せに経由したSLPのBPコードを記録している。 (7)通話は,成立しなくても1回の通話としている。通話が成立しないケースは,受信の場合はCC要員の応答前に切れるケース,発信の場合は相手が話し中又は応答がないケースである。通話の成立は通話成立フラグで分類する。 (8)通話の場合,通話したCC要員の社員番号,通話時間,受信か発信かの受発区分,音声データである通話音声を記録している。 (9)問合せは,製品使用者が勘違いしていたり他社製品であったりすることもあり,この場合の問合せは,後述する案件化をすることなく終わる。 4. 問合せの案件化 (1)問合せに対して,回答のためにCCから電話をかける必要又は点検修理の必要があれば,問合せを案件化し,案件番号を発番して案件を登録する。 (2)案件は,対象製品が登録済みの登録製品に合致すればその登録製品と,合致しなければ新たな登録製品を登録して関連付ける。その際,EUが未登録又は更新が必要であれば,EUの登録又は更新も併せて行う。 (3)案件には,案件の登録年月日と更新年月日,EUに対する回答内容,案件の完結を判断するための完結フラグをもつ。 (4)案件化した問合せ及びその後の問合せは案件に従属させる。 5. 出張の手配 (1)案件に対して,どのような内容で点検修理を要するか決まると出張手配を行う。 (2)出張手配は,案件に対して1回行い,EUに了解を得て出張年月日と出張時間帯を決める。 6. 出張の実施 (1)手配された出張を実施すると,実施年月日と実施時間帯,担当したCE,解決したか判断するための解決フラグを記録する。 (2)また,点検修理の内訳をAS実施記録として,実施したMTコード,実施金額を記録する。 〔修正改善要望の分析結果〕 1. ユニット及び要管理機能部品の追加 (1)ユニットは,部品の集合で,ユニットコードで識別し,ユニット名,ユニット概要,製造開始時期,製造終了時期をもつ。熱交換器,水流制御器などがある。 ① 製品の故障は,いずれかのユニットで発生する。 ② 製品シリーズごとに,用いているユニットを登録する。 (2)機能部品は,主要な部品で,機能部品番号で識別し,機能部品名,後述する要管理内容,製造開始時期,製造終了時期をもつ。ポンプや液晶板などがある。 ① 機能部品は,複数ユニット間で共通化を進めている。 ② 機能部品に起因する故障の頻発を予見した場合,その機能部品を要管理機能部品として要管理内容を登録し,組み込んでいるユニットと関連付ける。 2. FAQ及びキーワードの整備 (1)既出の問合せ内容と回答内容の組をFAQとして登録することで,新たな問合せに対してFAQを確認して迅速に正しい回答ができるようにする。 ① FAQは,FAQ番号で識別し,問合せ内容,回答内容,点検修理の必要性を分類する要点検修理フラグ,発生度ランクをもつ。 ② FAQは,点検修理が必要となる要点検修理FAQとその必要のないその他のFAQに分類し,要点検修理フラグで分類する。 ③ 要点検修理FAQには,対象のユニットが何か設定するとともに,対応する点検修理項目を関連付けておく。 ④ FAQには,問合せ内容の解釈によって類似のFAQが複数存在し得るので,類似するFAQを関連FAQとして関連付け,関連度合いをA~Cの3段階に分けて関連度ランクとして設定する。 (2)FAQ中に存在するキーワード(以下,KWという)をあらかじめ登録し,FAQとその中で用いられるKWを関連付ける。KWはKWそのもので識別し,補足説明をもつ。 (3)案件でEUへの回答に適用したFAQは,案件適用FAQとして案件に関連付け,可能性の高いFAQの順に可能性順位を記録する。 〔概念データモデルと関係スキーマの設計〕 1. 概念データモデル及び関係スキーマの設計方針 (1)概念データモデル及び関係スキーマの設計は,まず現状業務について実施し,その後に修正改善要望に関する部分を実施する。 (2)関係スキーマは第3正規形にし,多対多のリレーションシップは用いない。 (3)概念データモデルでは,リレーションシップについて,対応関係にゼロを含むか否かを表す“○”又は“●”は記述しない。 (4)サブタイプが存在する場合,他のエンティティタイプとのリレーションシップは,スーパータイプ又はいずれかのサブタイプの適切な方との間に設定する。 (5)スーパータイプに相当する関係スキーマには,必ずサブタイプを分類する属性を明示する。 (6)同一のエンティティタイプ間に異なる役割をもつ複数のリレーションシップが存在する場合,役割の数だけリレーションシップを表す線を引く。 2. 〔現状業務の分析結果〕に基づく設計 現状の概念データモデルを図1に,現状の関係スキーマを図2に示す。 3. 〔修正改善要望の分析結果〕に関する設計 修正改善要望に関する概念データモデルを図3に,修正改善要望に関する関係スキーマを図4に示す。 解答に当たっては,巻頭の表記ルールに従うこと。また,エンティティタイプ名,関係名,属性名は,それぞれ意味を識別できる適切な名称とすること。関係スキーマに入れる属性名を答える場合,主キーを表す下線,外部キーを表す破線の下線についても答えること。 設問1 現状の概念データモデル及び関係スキーマについて答えよ。 (1)図1中の欠落しているリレーションシップを補って図を完成させよ。 (2)図2中のア~カに入れる一つ又は複数の適切な属性名を補って関係スキーマを完成させよ。 設問2 修正改善要望に関する概念データモデル及び関係スキーマについて答えよ。 (1)次の問いに答えて図3を完成させよ。 (a)図3中のあ~うには,図1に示した現状の概念データモデル中のエンティティタイプ名のいずれかが入る。あ~うに入れる適切なエンティティタイプ名を答えよ。 (b)図3中の欠落しているリレーションシップを補え。 (2)図4中のキ~シに入れる一つ又は複数の適切な属性名を補って関係スキーマを完成させよ。
図1 現状の概念データモデル(未完成)
図1 現状の概念データモデル(未完成)
図2 現状の関係スキーマ(未完成)
図2 現状の関係スキーマ(未完成)
図3 修正改善要望に関する概念データモデル(未完成)
図3 修正改善要望に関する概念データモデル(未完成)
図4 修正改善要望に関する関係スキーマ(未完成)
図4 修正改善要望に関する関係スキーマ(未完成)
解き方のヒントを見る

業務要件の文言から対応関係を読む

概念データモデルの補完では、業務要件の記述一つ一つを根拠にして、どの実体同士がどのような数の対応で結び付くかを確かめることが大切です。一般常識や思い込みではなく、記述された条件に立ち返って判断しましょう。

この問題で問われていること

この問題で確認したいのは、要件の記述から関係の両端それぞれについて、相手が一つに限られるのか複数あり得るのか、また必ず存在するのかを読み取れるかという一点です。

視点

リレーションシップは、ある実体の一件に対して相手側の実体が何件対応し得るかを、両方向から表したものです。片方向だけを読むと、もう一方の見落としが起こりやすくなります。まず要件の記述と図や表の内容を突き合わせ、どの記述がどの関係の根拠になるかを整理してから判断するのが、検討の基本です。

確認ポイント

  • 要件の記述のうち、実体同士の対応数に関わる箇所をすべて拾い出したか
  • 関係を片方向だけでなく、相手側から見た対応数も確認したか
  • 補完した内容が、他の要件の記述や既に示されている部分と矛盾していないか
正解と解説を見る

解説

住宅設備メーカーのアフターサービス業務を題材に、現状業務の問合せと案件の構造、および修正改善要望で追加されるユニット、要管理機能部品、FAQ、KWの構造をモデル化する問題です。問合せはWeb問合せと通話に分かれ、さらにSLPweb問合せと発信通話というサブタイプを持ちます。サブタイプを分類する属性、案件への従属、自己参照を含む複数の役割のリレーションシップ、中間関係の複合主キーを、業務記述から正確に読み取ることが要点です。

問題の全体像

A社はアフターサービス業務のシステムを再構築するため、業務分析をもとに概念データモデルと関係スキーマを設計しています。現状業務では、BP(SLP・ASP)、サービス地域、EU、CE、製品、登録製品などのマスターと、問合せ、案件、出張手配、出張実施、AS実施記録などのトランザクションを扱います。修正改善要望では、ユニット、要管理機能部品、FAQ、KWが加わります。出題趣旨によると、この問題はトップダウンでエンティティタイプとリレーションシップを見抜く力、ボトムアップで関係スキーマを分析する力、設計変更をモデルに反映する力を問うものです。採点講評では、設問1(2)の正答率が低かったこと、サブタイプを判定する識別子の役割を持つ属性や、トランザクションの状態に応じた外部キーに注意すべきことが指摘されています。設問2については、同じマスター間の関連に関するリレーションシップと外部キーの正答率が低かったとされています。

設問1(1)

まず、図1に元から描かれている線を確認します。ASP→サービス地域、サービス地域→EU、ASP→CEはそれぞれ別の線として既に描かれています。CEはサービス地域を経由せず、ASPに直接所属します(CEの主キーはBPコードとCE番号)。この部分は補う対象ではありません。公式解答例で追加されている線は次のとおりです。(1) 案件→問合せ(1対多)。4(4)に「案件化した問合せ及びその後の問合せは案件に従属させる」とあるため、1件の案件に複数の問合せが属します。(2) 問合せをスーパータイプとし、Web問合せと通話をサブタイプとする構造。3(3)に、媒体がWeb上の問合せフォームか電話による通話かを媒体区分で分類するとあるためです。(3) SLP→SLPweb問合せ(1対多)。3(5)でSLP経由の問合せは問合せフォームからに限られ、3(6)で経由したSLPのBPコードを記録するとあるため、線はBPや問合せではなく、サブタイプ同士であるSLPとSLPweb問合せの間に引きます。(4) CC要員→通話(1対多)。3(8)で、通話したCC要員の社員番号を記録するのは通話の場合だけだからです。(5) 通話をスーパータイプとし、発信通話をサブタイプとする構造。3(8)の受発区分で受信と発信を分類するためです。(6) Web問合せ→発信通話(1対多)。3(6)に、入ったWeb問合せに対してCC要員が製品使用者に電話をかけるとあり、3(7)で相手が話し中や無応答でも1回の通話として扱うため、1件のWeb問合せから複数の発信通話が生じ得ます。なお、3(4)にあるとおり、問合せの連絡先情報は登録済みのEUとは関連付けないため、問合せとEUの間には線を引きません。

設問1(2)

下線の区別も含めて、公式解答例に沿って説明します。ア(問合せ):3(4)から問合せ年月日時刻、問合せ内容、連絡先お名前、連絡先電話番号を置きます。さらに、サブタイプを分類する媒体区分(方針(5))と、案件への従属を表す案件番号を置きます。案件番号は、案件化しない問合せ(3(9))もあるものの、案件を参照する外部キーなので破線の下線を付けます。イ(Web問合せ):Web問合せはSLPweb問合せのスーパータイプなので、SLP経由かどうかを分類する属性として、SLP製品使用者入力区分を置きます。主キーでも外部キーでもないため、下線は付けません。ウ(SLPweb問合せ):経由したSLPを参照するSLPBPコードを置き、外部キーとして破線の下線を付けます。エ(通話):CC要員を参照する通話社員番号を外部キーとして破線の下線付きで置きます。ほかに通話時間、通話成立フラグ、通話音声、受発区分(発信通話を分類する属性)を置き、これらには下線を付けません。オ(発信通話):発信のきっかけとなったWeb問合せを参照する発信元web問合せ番号を置き、外部キーとして破線の下線を付けます。問合せ番号が主キーにすでにあるため、別の役割名で区別します。カ(出張手配):5(2)から出張年月日と出張時間帯を置きます。出張手配は案件に対して1回行うので主キーは案件番号だけで足り、カの属性に下線は付きません。なお、各サブタイプの主キーである問合せ番号は、図2で既に実線の下線付きで示されています。

設問2(1)

(a) 修正改善要望1(1)②「製品シリーズごとに、用いているユニットを登録する」から、あは製品シリーズです。2(1)③で要点検修理FAQに対応する点検修理項目を関連付けるとあるので、いは点検修理項目です。2(3)で案件適用FAQを案件に関連付けるとあるので、うは案件です。(b) 公式解答例で追加されている線は次の4本です。①要管理機能部品→b。機能部品は複数のユニットで共通化されており(1(2)①)、要管理機能部品は組み込んでいるユニットと関連付ける(1(2)②)ため、多対多の関連をbで解消します。bにはユニットと要管理機能部品の両方から線が入ります。②ユニット→要点検修理FAQ。2(1)③で対象ユニットを設定するのは要点検修理FAQだけなので、線はスーパータイプのFAQではなくサブタイプの要点検修理FAQに引きます。図4の要点検修理FAQにユニットコードの外部キーがあることとも合致します。③FAQ→c。2(2)で、FAQとその中で使われるKWを関連付けるためです。④FAQ→e(2本目)。2(1)④の関連FAQは、FAQ同士を関連付けるものです。方針(6)により、関連元と関連先の二つの役割の数だけ線を引きます。採点講評で「同じマスターとの間のケース」に注意するよう述べられているのは、この点に当たります。

設問2(2)

公式解答例では、キ~シの各関係の主キー構成属性に実線の下線が付いています。キ(a:製品シリーズとユニットの関連):製品シリーズコードとユニットコードの両方に実線の下線を付け、複合主キーとします。それぞれは製品シリーズとユニットを参照する値でもあります。ク(b:ユニットと要管理機能部品の関連):ユニットコードと機能部品番号の両方に実線の下線を付けます。ケ(c:FAQとKWの関連):FAQ番号とKWの両方に実線の下線を付けます。コ(d:案件適用FAQ):案件番号とFAQ番号に実線の下線を付けて複合主キーとし、2(3)の可能性順位は下線なしの非キー属性とします。サ(e:関連FAQ):FAQ番号と関連FAQ番号に実線の下線を付けます。どちらもFAQを参照しますが、同じ属性名にはできないため、役割名を付けて関連FAQ番号と区別します。関連度ランクは下線なしです。シ(f:要点検修理FAQと点検修理項目の関連):FAQ番号とMTコードに実線の下線を付けます。いずれの関係も、主キーの構成要素が参照先の主キーにも当たりますが、公式解答例では破線ではなく実線の下線で示されています。答案では、複合主キーを構成する属性すべてに実線の下線を付け、非キー属性(可能性順位、関連度ランク)には下線を付けないという区別を明確にすることが大切です。

学習のポイント

サブタイプを分類する属性の配置、リレーションシップを張る相手(スーパータイプかサブタイプか)の判断、外部キーの役割名、中間関係の複合主キーの下線表記を重点的に練習しましょう。

出典:独立行政法人 情報処理推進機構(IPA)令和4年度秋期 データベーススペシャリスト試験 午後Ⅰ 問1(公式資料:問題冊子(PDF) / 解答例 / 採点講評)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針