cellotakです。
昨年IPAの高度試験であるDBスペシャリスト試験に合格しました。
2023年、2024年の2回受験したので、それぞれの経験談を書きます。
受験を検討されている方参考になれば幸いです。
1回目の受験
勉強開始
2023年8月末 (入社2カ月くらい)から勉強を開始しました。
業界未経験の状態でITエンジニアとしてBPSに転職して2カ月という状況だったので実務経験はほぼゼロの状態でした。
当時のレベルとしては、
- 基本情報、応用情報は持ってた
- DBを触ったことはほぼない
- 1対多、多対多、正規化とかはなんとなーく知ってる程度
- トランザクションとか全く分からない
- SQLも全く分からない
つまりDBに関する知識もほぼゼロという感じでした。
どんな勉強をしたか
各参考書についての詳細は後述しますが、こんな感じで取り組みました。
- 基礎知識
- DBスペシャリストの教科書
- 論理設計
- 上記同様のDBスペシャリストの教科書を読む
- 楽々ERDレッスンを読む
- SQL
- SQL 第2版 ゼロからはじめるデータベース操作を手を動かしつつ読む
- 物理設計
- 午後過去問の中で出てきた内容を解説読んで学ぶスタイル。個別に取り上げて学習はせず
- 午前過去問
- 午後過去問
- 過去問を解いて、情報処理教科書 データベーススペシャリスト の解説を読む
それぞれの時間配分はこんな感じでした。
時間 | |
---|---|
基礎知識 | 13時間 |
論理設計 | 9時間 |
SQL | 14時間 |
午前過去問 | 9時間 |
午後過去問 | 16時間 |
合計 | 61時間 |
本番前までの対策の進捗
- 午前Ⅱ
- まず大丈夫というレベル
- 午後試験
- 論理設計 : ある程度の精度でできる
- 物理設計 : 微妙、問題による
- SQL : ごく単純な
SELECT
,WHERE
ぐらいは理解しているが、試験に出てくるようなPARTITION BY
とか相関サブクエリなどは全く理解できないまま - 過去問演習 : 全く足りてない。やりたかった量の半分もできてない状態
という結構厳しい状態でした。
特にSQLは全く解ける感覚がなかったので、本番では捨てることにして過去問演習からも除外しました。
本番 (2023/10/8)
厳しい状況でしたが、なんとか取れるものを取ろうという意気込みで受験しました。
各試験の手ごたえは以下のような感じでした。
(※午前Ⅰは応用情報合格ボーナスで免除)
- 午前Ⅱ
過去問流用が多かったのもあり特に問題有りませんでした。
- 午後Ⅰ
3問中2問選択の形式の中、SQL×物理設計の問3を即刻捨てた結果、問2が難解でやられました。
時間も足りず、7割くらいしか解答欄を埋められず、適当に埋めたところも多かったので、ここで「アア、オワッタ…!」と確信しました🥲
感覚としては45点くらいでした。
- 午後Ⅱ
問2に論理設計オンリーの問題が出されたので最後まで回答しきれました。
手ごたえとしては80点は堅そうで、午後Ⅰの失敗を悔やみました。
結果
予想通り午後Ⅰで敗退しました。
しかし45点くらいだと思っていた午後Ⅰがあと2点というところにまで迫っていて、午後Ⅱが手ごたえありだっただけに結果をみて余計に悔しさが募りました。
敗因
何が悪かったのかを振り返ります。
必要勉強時間の見積もりの甘さ
応用情報が大体40時間くらいで合格できていたので、50~60時間くらいできればいけるかな?と考えてました。高度試験を完全に舐めてました。
午後試験の過去問演習の開始時期が遅かった
基礎知識のインプットと午前試験の過去問演習に時間をかけすぎて、午後試験の過去問に手を付け始めたのが9月中旬になってしまいました。結果として午後問題の演習が全然足りていませんでした。確か午後Ⅱに至っては3問くらいしか解けてない状況でした。
SQLを完全に捨ててしまった。
対策のための時間が足りなかったというのが大きいですが、SQLを明らかな苦手分野にしてしまったのは悪手でした。
後で振り返ってみると、この年の午後Ⅰに関してはSQLメインの問3が一番楽でした。しかしSQLを捨ててしまっていた自分は選択できず。SQLが何とかなっていれば一発合格もあり得たのでだいぶ悔しいです。
2回目受験
勉強開始
前回の反省を生かし2024年7月末から始めました。
勉強開始前のレベル感としては
- 論理設計に関してはほぼ強くてニューゲーム状態
- トランザクションを張る実装や、デッドロック解消等を業務で経験
- SQLは直で触る機会がなく成長はない
という状況でした。
どんな勉強をしたか
まずは去年捨ててしまったSQLの苦手克服に努めました。
また、前年の反省を生かして過去問中心のスタイルにしました。
- 基礎知識
- DBスペシャリストの教科書全体をざっと見直すだけにとどめる。
- 論理設計
- 問題なさそうだったのでスキップ
- SQL
- SQL 第2版 ゼロからはじめるデータベース操作を手を動かしつつじっくりやり込む。
- 達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ も少し読み進める。
- 物理設計
- 前年同様午後過去問の中で出てきた内容を解説読んで学ぶスタイル。個別に取り上げて学習はせず。
- 午前過去問
- 午後過去問
- 過去問を解いて、情報処理教科書 データベーススペシャリスト の解説を読む
時間配分はこんな感じです。
カテゴリ | 時間 |
---|---|
基礎知識 | 2時間 |
物理設計 | 4時間 |
SQL | 18時間 |
午前過去問 | 7時間 |
午後過去問 | 38時間 |
合計 | 69時間 |
本番前までの対策の進捗
- 午前Ⅱ
- 心配なし
- 午後試験
- 論理設計 : 昨年より自信をもって答えられるようになってきた。
- 物理設計 : 過去問を解く中で理解を得られた。
- SQL : ここが一番伸びた。SQL 第2版 ゼロからはじめるデータベース操作 をやり込んだのが功を奏して、前年理解できなかった
PARTITION BY
、相関サブクエリ、CASE文等を感覚的に理解できるようになった。問題を解くには困らなくなった。
- 過去問演習: やり切りたかった量を完璧にはこなせなかったが、一通りはできたかなという感覚。
本番 (2024/10/13)
今回はある程度の自信をもって受験に挑めました。
各試験の手ごたえは以下のような感じでした。
(※午前Ⅰは応用情報合格ボーナスで免除)
- 午前Ⅱ
過去問流用が減った気もするが、特に問題有りませんでした。
- 午後Ⅰ
問1が論理設計、問2がSQL×ロックの話、問3がSQL×物理設計という出題でした。2/3がSQL関連なので、SQLを避けてたら今年もやられていました、危ない💦
ロック周りを実務でも経験してたこともあり、とっつきやすそうだったので問1、問2を選択しました。分からない問題もありつつも、70~80点くらいはありそうな手ごたえでした。
- 午後Ⅱ
問1でバッチ処理やCRUD図など、あまり過去問ではでていなかったテーマを複合させた問題が出されました。問2がガチガチの論理設計オンリーな問題でした。
結局論理設計が一番安心感あるので問2を選びました。全て解答は埋めて、9割くらいの問題は自信をもって答えられました。もしや90点もあるかも?という手ごたえでした。
結果
無事合格しました🎊
午後Ⅱが手ごたえに反して72点だったので焦りましたが、受かったのでヨシ!!
恐らくどこかで勘違いをしてミスが連鎖したのだと思われます。正直かなり下振れた感はありますが、それでも合格できるくらいに対策しておいてよかったです。
勝因
前回の敗因をつぶしたことが大きかったなと思います。
十分な勉強時間を確保できた
前回からプラスアルファですればいいという考え方ではなく、一から学びなおすつもりで前回以上の時間をかけました。
SQLを克服した
むしろ得意問題といえるぐらいにまで克服できました。逆に克服してなかったらまた午後Ⅰで落ちてた可能性大でした。
午後問題の過去問演習に早めに手を付けられた
9月頭から過去問演習を始められ、一通りの問題は解けるぞ、という自信をもって本番に挑めたのも大きかったです。
利用した教材
ここからは過去2回の受験対策で利用した教材を紹介します。
徹底攻略 データベーススペシャリスト教科書 令和5年度 徹底攻略シリーズ
1回目の勉強ではこの本にお世話になりました。網羅性を重視しているので、午前Ⅱで問われるような細かめの知識を押さえることができるのが良いです。
ただ網羅性重視のため、午後試験で問われるような難しい内容には踏み込めておらず、この本だけでは午後試験への対応までは難しいと思います。特にSQLに対する解説は全く足りてないです。
情報処理教科書 データベーススペシャリスト
試験対策のテクニックや、午後試験で問われるような難しめの内容を解説してくれている教材です。基礎の解説はあっさりなのでゼロベースからの勉強だと難しくて向かないかもなので、基礎を押さえたうえでの次のステップに向いてそうです。
この本の最大の魅力は過去問に対する膨大な解説です。午後Ⅰ試験に対しては大問1つにつき約20ページ、午後Ⅱ試験に対しては大問1つにつき約50ページの解説がついているので、過去問を解いてこの解説読むだけでもかなり勉強になります。しかも購入者特典で過去の年度の解説もすべてダウンロードできるため (20年分以上)、もはやこの解説の方が本編みたいな感じです。
SQL 第2版 ゼロからはじめるデータベース操作
前述した教科書系の本ではSQLの習得はかなり難しいのでSQL特化の本が必要ですが、こちらは初心者向きで非常に分かりやすいです。
1回目、2回目の対策時にそれぞれ手を動かしながら1周ずつしました。2周目でようやく内容を感覚的に理解できるようになったので、ゼロからSQLを勉強するなら2周は見込んでおいた方が無難そうです。
一つ不満があるとしたらテーブル名とかカラム名が全部日本語ローマ字で読みづらい所です。
達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ
「SQL 第2版 ゼロからはじめるデータベース操作」と同じ著者の本で、それを読んで理解した前提で、発展的なSQLのテクニックを教えてくれる本でした。はじめから1/3ぐらいまでの内容はギリギリ試験でも問われるような難易度の内容 (3値理論とかCASE文による転置とか) になっていて、SQL対策を完璧にしたいのであれば読んでもいいかもという内容でした。ただそれ以降の部分は正直試験にはでなさそうなレベルだったので試験対策としてはほぼ読んでません。
過去問道場
午前試験対策には結局これが一番便利だと思います。間違えた問題を記録したり、ラベル付けして管理でき、間違えた問題だけの復習とかもできます。
午前Ⅱ試験は2023年くらいまでは25問中13問くらいが過去問使いまわしだったので、10年分くらいの問題を丸暗記すればほぼ合格が確実になるので、こういうツールがあると助かります。
ただし2024年10月から解説文の表示が有料化されたのでご注意ください。だいぶ運営が苦しかったらしいです。
楽々ERDレッスン
DB関連の書籍としては有名な本とのことで、1回目受験時に読んでいました。データモデリングの初歩を解説してくれているので論理設計の勉強にはなりましたが、DBスペシャリスト試験ではデータモデリングをすることはほぼなく、モデリング済みのものを図示化するのがメインになるので、直接的な対策にはならないかもです。ただなぜそのようなモデリングにするのか?という部分が分かると解きやすい問題もあるので、余裕があれば読めるとよさそうです。
やっておけばよかった
達人に学ぶDB設計 徹底指南書
「達人に学ぶSQL徹底指南書」に似ていますが、こちらは初学者向けの本になっています。論理設計、物理設計の基礎が解説されています。
買ってはいたのですが、結局試験対策としては手を出せずにいました。ただ改めて見直すとゼロベースからの勉強にはちょうどいい本だなと感じます。
SQLに関しては一切載っていないですが、その分のページが論理設計、物理設計に割かれているので教科書系よりわかりやすい気がします。
勉強時間
1回目と2回目で「総合計130時間」を勉強に費やしました。
必要な勉強時間は個人差がありすぎるのでこの数字自体は参考にならないかもしれませんが、他の試験と比較すると多少伝わりやすいかもしれないので比較してみます。私の場合、
- 基本情報技術者試験 : 約30時間
- 応用情報技術者試験 : 約40時間
で合格しました。そのためざっくり計算だと
- 基本情報の4~5倍
- 応用情報の3~4倍
程度の勉強量が必要になりそうです。
感想
1回目受験で上振れすれば受かることはできたかもしれませんが、正直DBへの理解という点では全く身についていない状態でした。
2回目の対策の時にようやくDBのことをちょっと分かってきた感覚を得られたので、ある意味1発で受からなくてよかったかもしれません。
それにしても高度試験対策は大変です(:3」∠)
試験後しばらく体調崩してしまったので、皆さんも受験する際は無理しすぎないように気をつけてください。