うっかりエンジニアのメモ

未来の自分に宛てたメモ

1ヶ月でデータベーススペシャリスト試験に合格する方法

受験者のスペック

  • SIer新卒2年目エンジニア
  • 担当業務は脆弱性検査、コーディング(Java)
  • DBはOracle RACの調査で触る程度。業務でのDB設計経験は無し
  • 大学は情報系専攻

倒すべき敵を知る

試験は以下の4つの小試験に分けられており、全ての試験で合格点に達する必要があります。

**** 午前Ⅰ 午前Ⅱ 午後Ⅰ 午後Ⅱ
試験時間 9:30~10:20(50分) 10:50~11:30(40分) 12:30~14:00(90分) 14:30~16:30(120分)
出題形式 多肢選択式(四肢択一) 多肢選択式(四肢択一) 記述式 記述式
解答数/出題数 30/30 25/25 2/3 1/2
合格点 60% 60% 60% 60%

ただし、過去2年以内に以下の条件を満たしていれば、午前Iは免除されます。

午前Iが免除でないと応用情報の範囲もカバーする必要があり、短期間で合格するには辛いので、できればこの条件を満たした上で受けたいところです。私は2012年秋にセキュリティスペシャリスト試験に合格していたので、午前I免除でした。

午前II

データベースに関連した知識を問う4択問題が出題されます。25問中15問正解で通過です。 過去問からの出題が非常に多いです。感覚的には10問くらい過去問からなので、5問を取り切ることが課題になります。 25問中数問はセキュリティなど他の高度試験の試験範囲から出題されます。対策するにもコスパが悪いので、当たればラッキーの精神が良いと思います。

午後I

大問が3つ出題されます。

  • 大問1: データベース基礎理論
  • 大問2: データベース設計
  • 大問3: SQL(流動的)

おすすめは1,2選択です。 1,2は毎年この分野で出題され、問題形式もほとんど変化がありません。ですので、過去問対策が得点力に直結します。一方3はSQLをメインに扱うものの、パフォーマンスチューニング系の問題だったり設計と混ざった問題だったりと問題形式が流動的で、対策が辛いです。 1,2の組み合わせは、2chのスレを見ても定番のようです。 業務でSQLのパフォーマンスチューニングしまくってるレベルであれば、SQL選択で良いと思います。

H26春は傾向が変わった

長らく上記の大問構成が続いていたのですが、今回受験したH26春で傾向が変わりました。

  • 大問1: データベース基礎理論 + 設計
  • 大問2: SQL
  • 大問3: データベース設計 + SQL

SQLを捨てていた受験生はIPAに殺されました。。。 ちなみに大問2の会議室予約システムの問題は、ミック本の「重複予約を見つける」項がそのまま出題されたのでやってた人は「これ進研ゼミでやったやつだ…!」状態になったことと思います。やりましたね。

午後II

大問が2つ出題されます。どちらも10ページ超の長文を読んで、事例を分析します。

  • 大問1: データベース設計を中心に複合問題(流動的)
  • 大問2: 概念データモデル設計

おすすめは2選択です。 大問1はやはり出題範囲が流動的で、対策が辛いです。 大問2の概念データモデル設計は理解に時間が掛かるものの、理解度に応じてどんどん解けるようになっていくので、徒労になる心配がなくおすすめです。

おすすめ参考書

情報処理教科書

素晴らしいです。著者がDB試験に愛着あり過ぎで、過去問十数年分の解説が手に入ります。

情報処理教科書 データベーススペシャリスト 2014年版

情報処理教科書 データベーススペシャリスト 2014年版

過去問

無料。国家試験素晴らしいです。ある意味最強の教材です。

過去問題(問題冊子・配点割合・解答例・採点講評)

iPhoneアプリ

午前IIに不安がある場合はこのアプリで通勤通学の行き帰りにやっちゃいましょう。

データベーススペシャリスト試験 午前 精選予想問題集 500題 https://itunes.apple.com/jp/app/detabesusupesharisuto-shi/id480946632?mt=8

勉強法

DBは知識暗記系の試験ではありません。状況設定を理解し、比較的少ない原理・原則を適用して解く問題が多いです。そのため、長期にわたって勉強するとかえって中弛みがあってコスパが悪いです。 60点でも100点でも合格です。ここでは、合格できるレベルの原理・原則を理解し、時間内に答案用紙に表現できる状態で、「自分は解ける」という高まりを感じているピークの時期をちょうど試験日に合わせることを目的にします。

1ヶ月前

iPhoneアプリを使って午前II対策を始めます。通勤通学に進める程度でOKです。 今の知識でも解ける問題は本番も解けるのでスルーして、間違えた問題について、意識的に記憶を修正するようにします。原理・原則を覚えるべき問題は参考書やgoogle先生で理解しておきます。 並行して、ぼけ〜っと参考書を眺めます。パラパラ読む程度でOKです。「この内容の8割位が頭に入れば当日受かるんだな」というあたりをつけます。

3週間前

脳内に試験範囲の全体像がぼんやり形成されてきた頃です。ここで、直近の試験を印刷して午前IIから午後IIまで通しで本番と同じ形式で解いてみます。土日どちらかは潰れます。 その後、IPAのサイトにある模範解答を見て答え合わせをして(なんとなく)採点します。午後IIとか2時間もあるのに全然解答できなくて凹むこと請け合いですが、私も最初は2割くらいしか埋まらなかったです。 ここで「DBやべぇな…」という緊張感を得ておきます。

3週間前〜3日前

ひたすら過去問演習します。午前IIから午後IIまで通しでやる必要はないです。「今日は早く帰れたから午後II解こう」「なんか気分乗らないから午前IIだけやって寝よう」OKです。日を空けたりせず、毎日やって徐々にDB脳にしていきます。ただし、直近の一つ前の試験は解かずに取っておきます。 どのくらいの量を演習すればよいのか人それぞれですが、時間的制約で私は平成21年春まで消化しました。それより前は出題形式が異なるので参考にならないと思い、避けました。

はじめは制限時間を気にせず、ただし模範解答は見ないで、じっくり解きます。 配点は非公開なので点数を計算してもあまり意味がないと思います。○、△、×の3種類でつけていました。記述式の設問については「文意は合っているから丸」とかせず、文の構成や使用単語がIPAの模範解答と異なる場合は△にします。ケアレスミスは即修正して気をつけようで終わりです。「概念を根本的に誤って理解しているな」と感じたら、過去問を解く作業を中断して、参考書を読んで概念を再構築します。

終盤になったら、制限時間内に模範解答に近い解答を作成できるように時間も意識します。

前日

この日は丸一日空けます。 そして、解かずに取っておいた直近の一つ前の試験を午前IIから午後IIまで通しで解きます。 社会人の方、できれば有休取りましょう。

おそらく6割あたり、解ける力がついています。 「合格点行けるのでは」「全くわからない設問は無かったぞ」 3週間前とは全く違う手応えを感じながら、自分の中の成功イメージを高めます。

DBは詰め込み系の試験ではないので、前日にできることはほとんどありません。勉強はほどほどに早めに就寝して、翌日のパフォーマンスを良くすることに集中します。 私は美味しい夕飯を食べて、湯船にじっくり浸かって疲れを癒してから寝ました。 (が、実は緊張して4.5時間くらいしか眠れませんでした…)

当日

健闘を祈ります。

総学習時間

65時間。ざっくりと内訳↓

  • 午前II対策 0.5h(iPhoneアプリ)×20日 = 10h
  • 参考書読む 1.0h×20日 = 20h
  • 過去問 {5h(解答)+2h(答え合わせ)}×5年分 = 35h

結果

f:id:entropiajp:20140627125912p:plain