平成29年春季のデータベーススペシャリスト試験に合格したので、体験をもとに気を付けることや勉強方法などをまとめて記録します。
データベーススペシャリストとは
システムにおけるデータを格納する技術のひとつである、リレーショナルデータベースを専門的に扱うための十分な知識があることを証明する資格です。
基礎理論のほか、論理設計、物理設計に関する知識、SQLの構文やパフォーマンスチューニングに関する知識も必須となっています。
最近ではNoSQLなどのモダンなデータベースを扱うことも増えてきましたが、販売管理システムや金融系のシステムなどを扱うにあたっては、当然のごとく要求されるスキルです。
資格の難易度
IPAの公式ページによると、H29実績で14.5%の合格率、約7人に1人が合格しています。
論文問題のあるプロジェクトマネージャやシステムアーキテクトよりはまだ簡単かもしれませんが、合格率を見るに十分難関資格と言えます。
資格の価値
高度試験区分ということで、応用情報技術者資格に比べてもよい評価を得られそうです。
ただし、応用情報のような幅広い分野ではなく、ごく狭い分野でのスペシャリストという扱いになります。ネットワークやセキュリティ、インフラなどの分野に対しては、特に強みとなるようなことはありません。面接等でアピールする場合は、プロジェクトの概要や参画時のポジションを確認しておきましょう。
また、今回は応用情報技術者試験と違い、学んだことが実務上役立つことも多くあります。正規形の種類などは覚えていても役に立ちませんが、なぜ正規化が必要なのか?どういう風に設計を進めるべきか?という知識は、学習する中で十分培われるように感じました。
実務経験があってもなくても、本試験を合格したなら、設計やDBAなどの業務は、一定の水準でこなすことができるようになっているはずです。
下位試験を受けるべきか?
データベーススペシャリストをはじめとする高度試験をいきなり受験することは可能ですが、下位資格を取得しておくことは、基礎知識を培うという面で非常に有効です。
午前I問題の免除もありますので、可能であれば応用情報技術者試験に合格してから受験することをお勧めします。もちろん午後の選択問題はデータベースを選択しましょう。
試験勉強
勉強期間
前回の応用情報技術者試験の合格発表から勉強を始めましたので、実質的には3ヶ月強という期間しかありませんでした。
さらに、1日の勉強時間は1時間以内、しかも平日しかやらないという無謀なスケジュールでしたが、基本方針を変えずに、効率のよい学習方法に徹したことが良い方向に働いたと思います。
時間にすると、40~50時間程度でしょうか?
午前I
応用情報技術者試験の合格で免除となりましたので、特に対策していません。
午前II
午前問題は、応用情報技術者試験でもそうでしたが、過去問を繰り返し解くことによって合格水準に達することができます。
午後IIでは、データベースの専門的知識を問う問題も多く出題されますが、過去問のみで十分突破可能です。
午後I
午後I問題は選択問題ですが、最近は傾向が大きく変わっているようです。
ここは、データベースの基礎知識を入念に学習しました。SQL文の細かい動作や、論理設計の手法などに幅広く手を伸ばし、浅く広く学習することとしました。
また、文章読解力も重要です。午後I、午後IIともに相当量の長文を読み解き、集中力を切らさずに問題に挑む必要があります。基礎理論は当然のこと、長文読解力を養うことは、慣れてない人には厳しいかもしれません。
逆に、実務で要件定義レベルから基本設計レベルの業務を担っている方や、すでにデータベース設計業務を担っている方は、そこまで苦労しないかもしれません。
試験問題の癖のある文章を読み解く技術を養うには、やはり過去問を解くことが有効です。
午後II
2時間でたった1問を解答する試験です。午後I試験の数倍のボリュームを誇る問題文を素早く読み、理解しなければなりません。午後Iと同じく、過去問を主軸に学習します。
また、過去問を演習する際は、時間にも気を配り、常に時間制限を意識しながら問題を解いていきます。過去問を数問やるころには、問題のポイントが掴め、問題文を読むだけで全体像がなんとなくイメージできるようになりました。
準備
持ち物
試験会場は上履き持参ということで、適当なスリッパを購入。
筆記用具は、シャーペン、消しゴム、定規を持参。シャーペンの芯は机上に置いておくことができないため、シャーペンの中に入れておきます。
シャーペンは壊れることもありますので、2、3本持っていきましょう。
製図用定規が便利、ということですが、特に必要はないように感じました。しかし、後述する午後IIで論理設計の問題を選択する場合は、あったほうが便利かもしれません。
また、時計を持参しましたが、高確率で試験会場にも設置されています。しかし、必ずあるとは限りませんので、持っていない場合は100均などで安価な時計を買って行った方が良さそうです。
試験当日
午前II
午前IIは、40分で25問ということですから、実質1問に掛けられる時間は2分もありません。四択とはいえ、時間はかなり少ないです。
ここで避けなければならないことは、「1問に時間をかけすぎて解ける問題を解けなくなる」ことです。所々計算問題や、反復して検証すべき問題がちりばめられていますが、そういった問題は後回しにします。1問の価値はすべて同じですから、多くの問題を解くことが重要です。
今回印象に残った問題は、過去問に出てきたことのない、問9の3値論理に関することです。null、unknownという特殊な値は、基礎的なことですが実務上でもあまり意識しないことも多いのではないでしょうか。今回の試験は、少し深く業務にかかわっていないと難しい問題が点々とあり、最近の傾向の変化がうかがえます。
午後I
ここからが本番です。選択問題ですので、まず一通り解答欄を眺め、問題文を流し読みして選択する問題を決めます。
H29春期の問題では、問1は論理設計、問2は物理設計、問3はSQLの複合問題といった感じでした。
特に問3はパフォーマンスチューニングを取り扱ったトリッキーな問題です。実務でパフォーマンスチューニングを行っている方でも、少し苦労するかもしれません。
今回は、3分程度で問題文の概要と解答欄を一目して、問1と問2を解答することにしました。
問1
データベース論理設計問題です。すぐに設問を読みにいき、解けるところは解いてしまうようにします。
ここで気をつけたことは、やはり時間配分です。90分という時間をどう配分するか、ですが、今回はバッファを20分ほど取り、1問につき35分と設定しました。35分経過したら、問題の途中であっても次の問題に進み、最後に余った時間で再考します。これを厳守しなければ、後半、焦りによって不完全な解答を量産することになります。
論理設計問題は、問題文中から矛盾を生じさせない前提で材料を拾い集める問題です。設問3の記述問題を除けば、そのものズバリな文言が問題文中に記述されています。
例えば、エンティティ間のリレーションシップを問うような設問では、問題文冒頭の概要文を読めば、すぐに答えがわかるものが多いです。具体例を挙げてみましょう。
(4) ユーザは,一つのグループに必ず所属し,これを主務グループと呼ぶ。ユーザは,一つ叉は複数のグループに兼務として所属することができる。
とあれば、ユーザとグループの関係は1対1以上であるということがわかります。
しかし実際には、「漏れなく」全てのリレーションシップを記述しなければならないことが多く、時間を一切使わないというわけには行きません。
他、エンティティの候補キーを答えさせる問題や、属性の穴埋め問題等々、データベース論理設計の基礎を学んでいれば、そう難しくはないはずです。基礎がしっかり出来ている方は選択すべき問題です。
問2
問2は、データベース仕様の問題で、DBAなどの業務を中心としている方にお勧めの問題です。
ロック機構や索引など、データベース内部の基本的な動作や仕様を学んでおく必要があります。特に設問3は普段データベースのチューニングを行っている方も解きやすいのではないでしょうか。
特に複雑な問題も出てこないため、苦手でなければ候補のひとつです。
問3
今回は選択しませんでした。問題文をパラパラとめくってみたところ、計算問題チックな表が見えたため、設問数は少ないですが検算に時間を浪費することを懸念しました。
ですが、後々見返してみると、そう忌避するほどの問題ではなかったように思います。設問がトリッキーであることは間違いないのですが、データベースチューニング、物理設計としては基礎的なものでした。
午後II
15ページ以上に渡る本文を読み解き、実際の設計業務と同等な問題を120分という短時間で仕上げなければなりません。
問1は複合問題、問2は論理設計寄りの問題でした。問2は解答欄に図形を記述したり、表を埋めていく問題が見えたため、問1を選択しました。
問1
物量との戦いです。小細工や小手先のテクニックは通用しません。本文を繰り返し読み返し、システムの全体像を頭にイメージすることを念頭に置いて本文を読み進めました。
本文中、リレーションシップに関する記述などは、問題冊子に分かりやすくマークを付けていきます。こうすることによって、後の見直しが比較的スムーズに進みます。
午後IIは、時間さえ掛けられればそれほど苦労しないように感じたのですが、その時間が限られている上に、設問一つ一つに膨大な時間が掛かるため、時間配分や戦略が一切通用しません。地道に上から解いていきますが、いくら考えてもわからないところは、潔く飛ばすようにして、最後の余り時間に解くようにしました。
問2
今回は作図問題があったため見送りましたが、後々見返してみると、システムのイメージさえ出来てしまえば容易に解ける問題が多く、こちらを選ぶ選択肢もあったように思います。
結果
以下の通りです。
午前I | 午前II | 午後I | 午後II |
---|---|---|---|
** | 68.0 | 76.0 | 87.0 |
記述問題に関しては、完全に的が外れていなければ、部分点が貰えるようなイメージです。全く分からなくても何か書きましょう。
まとめ
データベーススペシャリスト試験は、時間の使い方が非常に重要です。過去問の演習をするときでも、時間を計り、常に時間を意識することでスピードを養うことが出来るように感じました。
完璧を目指さずとも、6割取れていれば合格できる試験なので、効率よく勉強を進めて合格を目指しましょう。