この投稿は「IT資格取得をテーマに学びをシェアしよう!【PR】Udemy」のカレンダー2の15日目のポストです!今年もいくつかIT資格取得にトライしました。そのうちの一つの情報処理技術者試験 データベーススペシャリスト試験 を「しっかり」と勉強する方法をご紹介します。データベーススペシャリスト試験のようなやや難易度が高い試験に対しては、ただ単に時間をかけて「資格試験用の勉強」をするのは勿体ないと思います。この機会(モチベーション)を利用して、普段お仕事でも経験できていないようなことを幅広く学ぶ活動にしてもらえたらなーと思いまして、自分がやったことをまとめます。(合格発表は12月17日ですね!)
情報処理技術者試験 データベーススペシャリスト試験
本試験は秋期の情報処理技術者試験として開催されています。高度区分に位置されていて、合格率も10%未満と、そこそこの難易度が高い試験です。試験名称通り、データ基盤を扱うデベロッパーを対象とした試験です。IPAのサイトから引用すると、こんなメッセージ。
企業活動を支える膨大なデータ群を管理し、パフォーマンスの高いデータベースシステムを構築して、顧客のビジネスに活用できるデータ分析基盤を提供するデータベース管理者やインフラ系エンジニアを目指す方に最適です。
「しっかり」と勉強するとは?
合格を目指して勉強を進めますが、過去問や対策専門の教科書といったいわゆる「試験対策」だけではなく、この機会に今後も役立つ知識を身に付けるために周辺領域を学習していくことをおすすめします。ですので、4-5カ月かけてじっくり取り組み、データベーススペシャリストとして確固たる基礎を築くことをゴールとしています。資格試験対策本だけだと面白くないですからね、この機会に仕事では触れないちょっとニッチなことや、データベース界隈にある文化や、考え方などに触れてみるのが面白いところなのです。
で、どんなルートがお勧め?
書籍やUdemyなどを利用しながら勉強していきます。普段自分が利用しないRDBを使いながら動かしながら学んでいきます。私が行った学習はこんな感じでした。
その1. DB設計の基礎を改めて作る
データベース設計に関する全体像、物理設計、論理設計、少し特殊な設計(ツリー型のデータ構造)、パフォーマンスチューニングなどを学ぶことができます。
その2. SQLの基礎を改めて作る
基礎と書いていますが、CRUDの書き方を学ぶわけではなく、ウインドウ関数やCASE文を使った中級のSQLの書き方を学びます。
2冊連続でミックさんの本を読むと、だいぶRDB脳がミックさんの考え方になじんできます。このあたりから、RDBやSQLってこんな深かったんだと脱線しそうになります。時間に余裕があれば、脱線しましょう。脱線こそが学びの面白いところです!番外編の「よりSQLを極める」の本を利用し、セルコー氏の考え方に触れていくのがお勧めの脱線先です。(ここで脱線してしっかりと試験勉強できなくても大丈夫です。翌年受験すればいいだけです。)
その3. ERDの基礎を作る
ERDは書いて特訓するのが一番身に付きます。前述のミックさんの本にも書いていますが、ERDに関する設計を実務で積む機会っていうのはそれほどありません。本書(楽々ERDレッスン (CodeZine BOOKS) )のようなレッスンをもとに学んでいくのが良いですね。ERDを書く練習にはdraw.ioなどのツールがおすすめです。(ちなみにサロゲートキーの考え方などは、前述の書と異なりますが、気にしない。)
本筋. 試験対策
本筋の試験対策は、よくある参考書と過去問を中心に実施。(Amazonで検索するとたくさん出てきますので、省略します)
番外編. よりSQLを極める
さらにSQLについて詳しくなりたい場合は、ジョー・セルコー氏の書籍がお勧めです。ただ…このあたりの領域をはじめると沼にはまってしまいますので、データベーススペシャリスト試験の「周辺領域」としてはやりすぎなかなと思います。試験後にさらに自己研鑽を積むうえで手に取るのがよろしいかと思います。
余談. Udemyのコンテンツは?
Udemyのおすすめコンテンツもお出ししたかったのですが、残念ながら無い様子。
今後情報処理技術者試験の高度に対応するコンテンツが出てくることに期待したいですね!