hogecoder

tsutaj 競技プログラミングの記録

作図を避けてデータベーススペシャリストに合格した話

令和 6 年度 (2024 年度) のデータベーススペシャリスト試験に合格しました!

デスペに合格した、という話だけならもしかしたらありふれているかとは思うのですが、実は私はそれなりに戦略を立てたうえで合格しまして・・・
作図問題を完全に避けて合格したというのは、もしかしたら珍しいポイントかもしれません。

というわけで、私の勉強方法とか本番の戦略とかを交えて、受験について振り返っていこうと思います。

記事執筆者について

私 (tsutaj) は、2022 年の春に応用情報技術者試験に合格しております。
2022 春の合格実績では、2024 年秋に行われるデスペで午前Ⅰ免除を受けられないわけなんですが、どういうわけか受験申し込みのタイミングまで免除を受けられると思いこんでいました。
そんなこんなで、午前Ⅰから真面目に受けなければならなかったわけです・・・

あと、普段は Web 系の企業に勤めているので、不具合調査や新規機能開発ではデータベースの知識が必要だったり SQL 文を作る必要があったりします。

午前Ⅰの対策

応用情報を受けたときの知見が多少役にたったものの、正直半分以上は内容を忘れていたので、過去問道場 で思い出していました。
サイトにログインして確認してみましたが、大体 250 問くらい解いていたようです。

あと、応用情報を受けるときにはキタミ式応用情報のテキストにお世話になっていたので、それを見返して復習していました。

午前Ⅰに関しては 7 割くらいの正答率なので、あまり説得力はないのですが・・・過去問演習をするだけでもかなり効果はある気がします。

午前Ⅱの対策

私は、データベーススペシャリストの教科書を読んで対策していました。

Isolation Level とかカーソルの概念とかウィンドウ関数とかは、(個人的には)普段データベースを触っていてもなかなか触れる機会が少ないので、勉強になりました。
どこが特に試験で問われるかは、テキストを見て勘所をつかめた気がします。(とは言うものの、過去問で掴んだところも多分にありますが)

上で挙げたテキストと、データベーススペシャリストの過去問道場 が主な情報源でした。

午後Ⅰ・Ⅱの対策

午後の対策は、正直過去問の出題傾向が一番参考になりました。

午後Ⅰは 3 問中 1 問で、午後Ⅱは 2 問中 1 問で、ER 図を書かせる問題が出題されるイメージです。
(これは 2024 年度現在の情報なので、今後変わる可能性があります。参考:令和 6 年度 の問題冊子と解答例
午後Ⅰは 3 問中 2 問解けばよく、午後Ⅱは 2 問中 1 問解けばいいので、ER 図を書かせる問題を完全に無視することが可能です。

過去問を 3 年くらい解いた結果、ER 図はいくら時間をかけても正確には書けないということに気づきました・・・
個人差があると思うので、ER 図のほうが得意だよという意見もあるかもしれないですが、私にとっては記述問題のほうが性に合っていました。FOR UPDATE 句とかデッドロックとか高速化とか、出題されるトピックが似通っているというのが理由その一です。問題の序盤にある RDB の仕様が似通っていて、3 年分くらい読んでいれば想定仕様がなんとなくわかってくるのが理由その二です。あと、ER 図を選ぶと問題文中の条件を読み忘れて矢印を引き忘れたりするリスクもあるわけで、それに比べると記述中心のほうが読み飛ばしのリスクが少ないと判断しました。
そういうわけで、本番は ER 図っぽいものが見えた瞬間捨てる!という方針で挑んでいました。

試験本番では、試験開始前に解答用紙が配られるわけですが、どの問で ER 図が出てくるかは解答用紙をみたら分かるので、試験開始前にどの問題を捨てたらいいかも分かるわけです。
どの問題を解くか決め打ちしていたのは、こういう点でよかったなと思ってます。

さいごに

筆者は応用情報レベルの知識を過去に覚えたことがあって、業務で SQL を触る機会があります。
そのため、最終的には普段やっている内容 +α の知識で戦えたであろうと感じていますが、出題形式に慣れるのは必須だろうな、とも思いました。

過去問演習をしていなければ、ER 図中心の問題を解くか記述中心の問題を解くかで迷って十分にパフォーマンスが出せなかっただろうと思っていますし、記述の序盤にある事前設定に惑わされていただろうとも思います。データベースの知識に自信があったとしても、デスペの問題形式に慣れるという意味で、一度過去問を解くことを強くオススメします。