当ブログの著者について
雑記

令和5年度秋季データベーススペシャリスト試験を受験した感想

cmeloengineer

お世話になってます。Cメロです。

タイトルの通り、令和5年度の秋季データベーススペシャリスト試験を受験してきたので、今回の試験の感想を残しておきます。

まだ合格・不合格はわからないので、事前知識や勉強の計画、反省点などは結果が出た後に改めて書くようにします。今回はあくまで試験の感想で、一緒に受験した方々が「あ〜そうそう!そこ悩んだわ〜」という気持ちで見てもらえると嬉しいです。

午前II試験

自分は午前I試験は免除だったので、午前II試験から受験しました。見たことのある問題もそれなりにあったので、合格はいけるかな〜と思っていましたが、最後の問20〜25まで自分の解答が全て「エ」になったときは焦りました笑(結局、問23以外は「エ」で合ってたみたいです)

解いている最中に気になっていた問題がいくつかあったので共有します。

問5

従業員テーブルとプログラム言語テーブルの設計を考える問題でした。過去問で見たことはなかったと思います。

  • プログラム言語を2種類以上使用できる従業員がいる
  • プログラム言語を全く使用できない従業員もいる

という二つの条件が問題をややこしくしていたと思います。

答えは「エ」で、連関テーブル作りそうなのにそうじゃないのか〜と悩んでいたんですが、なんとか正解できました。業務だったら実際には作らなさそうなテーブルも問題に出てくるのはちょっといやらしいですよね。

問11

同じ過去問-データベーススペシャリスト過去問道場
データベーススペシャリスト平成25年春期 午前Ⅱ 問12
データベーススペシャリスト平成25年春期 午前Ⅱ 問12

商演算の結果を考える問題でした。過去問でも見たことがあったんですが、記憶から抜けていました。

最初は直感で「イ」を選択していたのですが、余った時間で見直しているときに、「S✖️イするとRに不要な行ができてくるよな〜〜〜」と悩んだ末、「ウ」に変えました。結果的には正解していました。

基本的に実務でこういう演算を考えることはないとは思いますが、どうしても直感的に理解しづらいので苦手な印象が強いです。たまたま正解できてラッキーでした。

午後I試験

午後Ⅰ試験は問1と問2を解きました。過去問演習では概念データモデルの問題も物理設計の問題も解いていましたが、物理設計の方はどうしても正答率が低かったので、概念データモデルの2問を選んだ形です。

解答用紙が配られた時点で、問2の関係スキーマの方が簡単そうに見えたので、先に問2から解き始めました。50分かかりましたが、全ての枠を埋めて問1へ。しかし問1は設問2までで時間切れとなってしまいました。

問1

問1でまず悩んだのは、設問1の(2)、どの正規形に該当するかを答えたのち、その根拠を答える問題です。相当前の過去問にはあったようですが、最近の過去問には見なかった問題だったので、答え方に悩みました。

結局「〜が〜に部分関数従属しているから。」という文言を書いたのは覚えていますが、他に要素は盛り込めなかったと思います。後から調べると、「属性が単一値を取る」という要素が必要だったみたいですね。「繰り返し項目がない」のような表現でも良いのかは気になるところですが、丸はもらえなさそうです。

その後の設問2までは、これまで演習をしてきた通り、一文ずつ読み進めていって関係スキーマとリレーションを埋めていきました。全部あってるかは怪しいですが、大外れということもないかと思います。設問3は時間切れで解けなかったので、半分くらい点が取れていたら嬉しいなというところでしょうか。

問2

問2は設問1と設問2は比較的スムーズに行けましたが、設問3が難しかったです。特に「未利用ポイント数」の扱いがよくわらかなかったですね〜。

設問3の(2)の関係スキーマ作成では、「未利用ポイント数」を「ポイント増減」の属性にするか、「ポイント付与」の属性にするか、悩みました。結局「ポイント付与」の属性にしたと思います。

設問3の(3)では、「未利用ポイント数が〜〜〜になっている」ところを書くんだろうなというところまでは理解していましたが、具体的にはわからず、曖昧な解答をしてしまった気がします。少しでも点がもらえていたらいいんですが。

午後II試験

午後II試験は問2を選択しました。理由は先述の通り、概念データモデルの方がまだ比較的安定して得点できるためです。ここ数年では見なかったリレーションと関係スキーマのみを解答すればいい問題になっていたので、時間は余裕がありました。その分関係スキーマが大変難しかったですが。。。

問2

まず悩んだのは「a」「b」を「幹線ルート」と「支線ルート」のどちらにするのか問題です。みなさん悩んだと思いますが、自分は「a」を「幹線ルート」「b」を「支線ルート」にしました。わざとらしく「TC」から「a」にリレーションが伸びていたので、最初は逆にしていたんですが、「b」から「店舗」にリレーションが貼られていたので後から変更しました。引っ掛からなくてよかったです。

マスタの方は順調に解き進んでいたんですが、トランザクションのリレーションと関係スキーマはボロボロでした。特に「積替指示」関連の関係スキーマがまっったくわからず。あまり得点は取れていないと思います。

また、マスタの方も幹線LTは難しかったですね。明確に幹線LTの属性に関して記述している箇所が見受けられなかったので、雰囲気で誤魔化して書いていました。こちらも得点はもらえないと思います。

全体通して

全体を通してですが、過去問に比べてすごく難しい印象はなかったです。個人的な反省点としては、午後Iをもう少し時間配分気にして解けていればな〜というところでした。実際自己採点してみても、合格点に届くか一番あやしいのは午後Iでした。

合格できるかはさておき、データベーススペシャリストの試験はとても有意義なものになったと思っています。実務で触れるテーブル設計について考える幅が広がったり、SQLのパフォーマンスチューニングについて知見が深まったりと、確実にレベルアップできたと思っています。

結果が出たら、また改めてご報告いたします。

ABOUT ME
Cメロ
Cメロ
大阪在住エンジニア
大阪在住のエンジニアです。
仕事ではPHPやJavaScript、MySQLなどをメインで扱っています。
今学びたいのはテーブル設計やSQLチューニング、TypeScript、Reactなどです。
勉強したことを整理するためにブログに投稿していきます。
記事URLをコピーしました