本記事では、令和3年度秋季情報処理技術者試験受験予定の方に向けて、データベーススペシャリストの過去問の徹底解説をいたします。
1年前の過去問ですので、参考になるところが多いのではと思います。
ぜひ、不明点の洗い出しをしてみてください。
過去問はこちらです。
取り組み方
DB区分は、設問文から読むのが取り組みやすいでしょう。
令和2年度午後I問1は、テーブル設計に終始する問題です。
解答用紙を広く使い、ER図を完成させる設問があるのが特徴です。
まずは印刷を
データベーススペシャリストは、その名前から、データの形式・扱い方を整理させることを目的とした技術者であることが求められます。
そのため、問われる問題には、情報の量が多く、また、複雑に絡み合っている情報を解きほぐしていく対応が必要です。
ですので、過去問に取り組む際は、最低限、問題文を印刷して取り掛かるようにしましょう。
問題文に書き込みながら、情報をかみ砕いて理解する意識で臨みましょう。
問題文の構成を理解する
前半が現行業務のテーブル設計、後半が拡張業務(委託生産が増える)のテーブル設計であり、綺麗に前半が設問1、後半が設問2に対応しています。
前半にも後半にもそれぞれ
- 概念データモデル(ER図)
- 関係スキーマ(テーブル設計)
が登場します。
問題文と設問文のどこに何が書かれているか、上記のレベルで大まかに頭に入れてから、問題文を読んでいきましょう。
関係スキーマ(テーブル設計)にメモ(設問1)
問題文を読み進めるにあたり、テーブル設計図に問題文の対応箇所をメモしながら読めば、情報を漏れなく拾うことができます。
〔現状業務の概要〕を読みながら、以下のような要領で対応箇所をメモしていきましょう。
問題文の属性に下線(設問1)
概念データモデル(ER図)と関係スキーマ(テーブル設計)と見比べつつ、問題文本文の方にも、テーブルの「属性」と思われるものがあれば、チェックしましょう。
このやり方でキーワードを網羅していけば、いつの間にか設問で問われている対象の空欄も埋めることができるでしょう。
DBスペシャリストでよく出てくる表現
○○番号
問題文に○○番号という表現が出てきたら、まずは主キーとしてチェックしましょう。
本問でも、発注番号、生産番号、配送番号・・・とよく聞く○○番号のオンパレードです。
発注番号は設問にも絡んでくるので、絶対に落とせない問題ですね。
○○と○○明細
これも典型的過ぎる表現です。
発注と発注明細
生産と生産明細
配送と配送明細
設問1ではこれがダイレクトに問われているので、これも絶対に落とせない。
下図のように、類推できる形なので、慣れれば図だけで解答できるようになるかもしれませんね。
テクニックだけでなく、もう少し本質を追うならば、このような関係になるのは、第3正規化を目指すからですね。
デファクトスタンダードが第3正規形なので、明細とその上位概念は、スキーマを分ける必要が出てきます。
前半(設問1)の難関
前半のヤマと言えそうな部分が、以下の記載。
〔現状業務の概要〕3.発注から配送までの、
(2)④ 生産の対象とした発注明細に対して、生産番号を記録する
(3)④ 配送の対象とした発注明細に対して、配送番号を記録する
この文章が何にかかるかというと、ER図の完成と、スキーマの属性に関わってきます。
発注明細の属性に生産番号と配送番号が含まれるのか、反対に生産・配送に発注明細番号が含まれるのか。
これで迷うかもしれませんね。
考え方としては、発注明細に「対して」生産ないし配送されることとなるので、発注明細側にカラムを用意するのが自然です。
生産ないし配送に対して発注するわけではないので。
この部分は正答率が低かったようです。
後半(設問2)の読み方
後半も、問題文の構成はよく似ているが、前半と何が違うか? という観点で読むと、以下の記載があります。
問題文10ページの最後から2番目の文
新たな商品の追加に対応するために、工場、ルート及び自社仕様商品をサブタイプに分割した。
これが、新要件〔新たな商品の追加〕に対して、具体的に設計をどうしたか? ということの説明となっており、とても重要です。
設問2 ER図作成の注意点
設問2 も ER図とテーブル設計図の完成が問われているが、基本は設問1と同じアプローチでよいでしょう。
- 問題文を読んで、図にメモ。
- 逆に、図から問題文にメモ。
慣れてきたら、両方を徹底するのではなく、その時にやりやすい方で進めれば時短にもつながり、よいかと思います。
注意点としては、設問1が「自社」、設問2が「他社委託」と捉えてしまい、以下の図のように、
- 工場ではなく、自社工場からリレーション矢印を書き出す。
- 自社仕様商品ではなく、自社商品からリレーション矢印を書き出す。
というミスをしないようにしてください。
正解は、
です。
上図の緑の線のようにならない理由は、基幹系の発注~生産~配送はプロセスが抽象化されており、自社か委託かは問わないためです。
よって、スーパータイプである「工場」「自社仕様商品」から矢印をひっぱるようにしましょう。
ER図完成設問のヒント
本旨を欠いた考え方かもしれませんが、ER図完成設問に対する傾向としては、基本的に矢印は1方向(特に、上から下)にひかれることが多いです。
これは、実際の開発現場のドキュメントにおいても、可読性を重要とするため、試験センターとしてもあまりトリッキーな矢印を書かせる設問は出しにくいと考えられます。
ということは、慣れてくれば、
- 反対側の矢印を書くことを無くせる
- 極論、解答用紙の余白を見るだけで、解答図が類推できる
ようになります。
先に完成図の予想を頭に思い浮かべて問題文を読めれば、圧倒的に有利です。
実際に問題を解く場面では、リレーションの矢印の方向に迷うことが出てくると思います。
そうしたときに、このことを思い出せれば、あまり迷って時間を潰さずに決断ができます。
最難関の設問2(3)・カーディナリティ
設問2(3)のカーディナリティを問う問題は、ヒントが分かりづらく、本問で最難関と言ってよいでしょう。
自社に3か所あるという生産工場が、物流センタを兼ねていることに気づけるかがポイントです。
問題文からのヒントとしては、
問題文9ページの1.の(5)
これまで自社工場内で仕分けと配送を行っていた役割に、工場の拠点コードとは別に物流センタとしての拠点コードを付与する
という一文があります。
ここから、もともとは単一の役割を管理のため分割したことが読み取れます。
また、
問題文9ページの2.の(1)の①
各自社工場と自社工場内の物流センタ、各委託工場と各物流センタの組を納入ルートと呼ぶ
という一文があります。
これにより、
- 自社工場は、工場内に物流センタがある:カーディナリティとしては1対1
- 委託工場は、物流センタに選択肢がある。自社工場は3か所ある。:カーディナリティとしては3対1
ということが読み取れます。
なお、自社工場が3か所ある、というのは最初のページに記載があります。
問題文6ページの1.の(3)
A社には3か所の生産工場がある
採点講評
最後に、採点講評を見てみましょう。
低正答率とされた箇所に下線を引きました。
低正答率とされているのは、本記事でも解説しましたが、
- 設問1の発注・生産・配送の各明細間のリレーションを問う設問
- 設問2のカーディナリティを問う設問
ですね。
これらを落とさなければ、他の受験者に差をつけることができます。
また、両方正答せずとも、どちらかでも正答し、残りは部分点を狙うことができれば、十分合格圏内に入れると思います。
過去問を徹底的に深掘りし、解法パターンを掴んで、本番に臨み、合格しましょう。
ではそれまで。