夕蛙のなく頃に

データアナリストとして学んだことや趣味で勉強し始めたIoTをアウトプットする

DBスペシャリスト合格したので、勉強手順を紹介する

目次

DBスペシャリストに合格した

応用情報技術者試験の次のレベルで高度試験のうちの1つ、DBスペシャリスト試験を2019春に受験し、無事合格しました!!

f:id:frogdusk:20190630230041p:plain

勉強時の私の状況は以下の通りです。

  • 応用情報を2年前に取ったので午前Ⅰは免除
  • 普段からSQLを使っているので構文系は問題なし
  • SQLでJOINを多用しているので、テーブル同士の関係性を把握することはまぁまぁ得意
  • そのほかのDBの知識はほぼ皆無

この記事では、どのように勉強をしたのかを紹介いたします。

勉強方法

私の総勉強時間は22時間ほどで、内訳は以下の通りです。

  1. (3H) 参考書を読む
  2. (4H) 午前Ⅱの過去問を解く
  3. (7H) 午後Iの過去問を解く
  4. (8H) 午後Ⅱの過去問を解く

休日にちゃんと時間を確保しての勉強を2日 * 5H/日 = 10H
平日の隙間時間に勉強を12日 * 1H/日 = 12H ぐらいの配分です。

過去問を解く際は時間制限を課した本番形式では解かず、わからなかったらすぐ飛ばして解説を読むようにしていました。

書籍を読む

参考書は以下を使いました。過去問をインターネットからダウンロードできるからです。

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

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

  1. 基礎情報のために読む
  2. 過去問を数年解き終わったあとに復習のために読む
  3. 1,2でまた読もうと記録しておいたところを読み返す

という感じで読みましたが、過去問を解く方に時間を割いており、あまり力をいれては読んでいません。

午前Ⅱの過去問を解く

以下のサイトを使い、通勤時間などの隙間時間にH24〜H30までの7年間を解きました。

www.db-siken.com

数年分解けば、自分の苦手分野・問題がわかります。
私の場合は以下に関する問題が苦手で、ここらへんは内容把握半分にほぼ答えを覚えてしまいました。ただし正規形については午後でも使う知識なので完璧に把握しました。

  • 正規形
  • 2相コミットメント
  • ダーティーリードetc
  • B木インデックス, ビットマップインデックス

最後の5問くらいはIT制度や開発体制に関する問題など出題範囲が広いように感じました。
全体をカバーするために勉強するにはコスパが悪いと感じ、書籍ではほとんど勉強していません。

1度解いた後に、再度振り返りたいと思った箇所はスプレにまとめて管理しました。リンクは上記サイトの該当問題へのリンクです。

f:id:frogdusk:20190705154533p:plain

午後Ⅰの過去問を解く

大問3つのうち2つを回答します。

まずはH28〜H30の大問3つを分からなかったら簡単に飛ばしつつ解いてみました。大問の傾向として以下に分けられるなと感じました。

  1. テーブル同士の関係性を書くタイプ
  2. SQLの構文や権限付与の不具合などを書くタイプ
  3. 索引の仕方やロック方式などRDBMSのシステムが絡むタイプ

1.2は得意なのですが、3が苦手です。
そこで、2.3は混合した問題が出たりするのですが、3は捨てて1.2(3が絡んでいてもなるべく2の比率が高い問題)を選ぶことにしました。

特に1に絞ったのは、知識をつけて解けるようになる(勉強時間に比例して解けるようになる)のではなく、文章問題としての色が強く、勉強時間少なめで挑めると考えたからです。

H28〜H30までを解いた後は午後Ⅱの過去問を解きました。
午後Ⅱを解くと午後Ⅰの問題がすごく軽く思えます...(午後Ⅱの問題文が12ページぐらいあるのに対して、午後Ⅰは4ページほど)
午後Ⅱを解けば午後Ⅰを解く力も付くと考え、H25〜H27はさっと目を通した程度で終わりました。

午後Ⅱの過去問を解く

大問2つのうち1を回答します。
午後Ⅰを解いた後に取り組むと量の多さに昏倒しそうになります。

問題傾向としては午後Ⅰと似ており、 1. テーブル同士の関係性を書くタイプ に強みを見出していたのでH26〜H30の大問2つのうち片方だけ解きました。

勉強時間少なめで挑める と書きましたが、この文章の時はどう1対1・1対多・多対多に振り分けるか、テーブル同士を紐づける必要がないときなどは、経験しておくべきです。

午後Ⅰを何年も解くなら、午後Ⅱに時間を割いた方がいいと思います。

勉強時系列

まとめると以下のような手順で勉強しました。

  • 本は最初に目を通すべき
  • 午後Ⅱを解くことで午後Ⅰの力も付く
  • とはいえ最初から午後Ⅱを解くと疲れるので午後Ⅰをある程度解く
  • 随時復習のために本を読む
  • 午前Ⅱは隙間時間に勉強する

f:id:frogdusk:20190710220931p:plain