先月、データベーススペシャリスト試験を受けてきました。
試験結果が出るのは12月後半のため、まだ、合否は分かりませんが、
私が行った試験対策など記録しておこうと思います。
- 受験の背景
- 私が行った勉強方法
- 試験対策のポイント
- 概念データモデル、関係スキーマ
- 反省点
・受験の背景
以前、営業事務の仕事をしていたときに、Microsoft Accessを使っており、簡単なデータベースの知識はありました。データベース設計やSQLなど、もう少しデータベースに詳しくなりたいと感じていたことから、今回、試験を受けてみました。
直近に受験したVBA ACCESSスタンダードの試験が終わった6月後半から試験勉強を始め、10月の試験まで4か月弱の期間、かなり集中して勉強しましたが、コツが分かり始めた頃に試験日を迎えることとなり、あと1~2ヶ月の余裕があるとよかったと思います。
私は普段は事務職をしており、IT技術者ではないため、試験勉強には苦労しました。平日2時間、土日それぞれ5時間程度勉強していましたので、300時間ほど勉強したのではないかと思います。
テキストは3~4冊使いましたが、どれも、ある程度分かっている人向けで、私のような初心者には過去問を解いて解説を読んでも、なぜそうなるのか理解できないことが多々あり、分からないのを辛抱しながら10年分の過去問を解き続けたところ、なんとなく分かってきたことがありましたので、私なり見つけた問題の解き方などを記録しておこうと思います。間違っていることもあるかもしれません。
・私が行った勉強方法
6月後半:テキスト「情報処理教科書 高度試験午前Ⅰ・Ⅱ」を一通りやり、覚えることをリストアップ。
7月前半:テキスト「うかる!情報処理教科書 データベーススペシャリスト(三好 康之)」を一通りやり、覚えることをリストアップ。
7月後半~:リストアップしたことの暗記と並行し、過去問を10年分を解いた。2週目の8年分まで終わったところで試験日となった。
途中、あまりに過去問が難しく、解けるようになる気がしなかったため、下記の二冊の参考書を追加し、適宜参照。
「徹底攻略 データベーススペシャリスト教科書(株式会社わくわくスタディワールド)」
「データベーススペシャリスト「専門知識+午後問題」の重点対策(アイテック)」
また、午前Ⅰ対策が弱いような気がしたため、過去問道場で応用情報技術者試験の午前過去問を5年分やり、解けなかった点を追加リストアップした。
・試験対策のポイント
午後試験は、なんど過去問を解いても試験時間が短く時間が足りなかった。短時間で解くためには、楽器の演奏などと同じで、考えなくてもできるようになるまで慣れる必要がある。私は最後の一ヶ月かけてスピードアップを図ったが、一ヶ月では不十分と感じた。
問題用紙は、印刷してホッチキスで綴じて本番と同じように過去問を解くようにした。試験本番では、問題冊子はB5サイズ、解答用紙は、午前はA4サイズ、午後はB4サイズ両面。午後Ⅱ(問2)の問題冊子は、概念データモデルが左側ページ(偶数ページ)、関係スキーマが右側ページ(奇数ページ)がとなっている。過去問を解くときも、左右のページが逆にならないよう、PDFで白紙を含めて印刷する必要がある。
午後Ⅰは、午後Ⅱより時間が厳しく、設問文を先に読み、説明文は最低限必要な箇所を探して読むようにした。午後Ⅱ(問2)は、説明文を最初から順に読みながら、図を完成させるようにした。属性穴埋め対象外のエンティティの説明文は流し読みして時間を節約するようにした。
・概念データモデル、関係スキーマ
Microsoft Accessのテーブルのことを「関係」という。フィールドのことを「属性」という。テーブル間の参照を表した図を「概念データモデル」という。テーブルがもつフィールドを一覧にしたものを「関係スキーマ」という。
説明文を読む前に、外部キー、外部キーを兼ねた主キーのリレーションシップが印刷済か確認し、なければ追加する。外部キーを兼ねた主キーは、別のエンティティで主キーとなっていることから、関係スキーマを見るだけで区別できる。関係スキーマで属性穴埋めが必要なエンティティへのリレーションシップを概念データモデルを見てチェックし、外部キーが記載されていなければ追加する。
説明文を読みながら、リレーションシップの追加や属性を解答する必要がある場合、まず、説明文に記号を書きこむようにした。主キーS、外部キーG、属性F、リレーションの必要な外部キーGRなど。次に、記号を見ながら解答用紙にリレーションシップを追加する。最後に、属性は漢字1~2文字に省略して問題冊子に記入し、解答用紙にも記入する。
過去問でリレーションシップや属性を間違えた問題は、説明文を見て記号化できるよう、そのまま覚えてしまう。
(例1)調達手配は、部材を対象に行う⇒部材にGと記入(調達手配に外部キー部材を持たせる、領域が異なるためリレーションシップは不要)
(例2)部品生産部は、専用部品の生産指示に基づいて、部材の出庫指示を行う⇒専用部品G(生産指示に外部キー専用部品を持たせる)/生産指示GR(出庫指示に外部キー生産指示を持たせる(生産指示と出庫指示は1:1、時間的に後のほうに外部キーを持たせる)、リレーションシップも必要)/部材G(出庫指示に外部キー部材を持たせる)/部品生産部は無視(指示を出す主体は、属性やリレーションに影響しない)
リレーションシップは主キーから外部キーへ矢印(リレーションシップ)を引く
マスター領域内のリレーションシップに1:1は無い(在庫領域を除く)。トランザクション領域内は1:1が多い。マスター領域→トランザクション領域は1:多が多い。
エンティティの単位(商品、納入先、出荷指示など)を、概念スキーマにメモしておく。多重度(1:1、1:多など)を判断しやすくなる。
・反省点
午前Ⅰにもっと力をいれるとよかった。時間不足で焦ってしまい、ケアレスミスしてしまい、スピードに慣れてなかった。
出ないだろうと予想していた正規化の問題が出題された。対策不足だった。
説明文が複雑になってくると、リレーションシップ、関係スキーマの属性穴埋めで、頭がフリーズしてしまった。
SQLの理解が曖昧で、専用のテキストを使って勉強したほうがよかった。
丸1日試験を受け続けると、午後Ⅱの途中で集中力が続かなくなってくる。丸一日続けて過去問を解く練習が足りなかった。
・追記
12/22に結果発表があり、合格しておりました。
午前Ⅰ:68点
午前Ⅱ:76点
午後Ⅰ:82点
午後Ⅱ:77点
合格基準点は、すべての試験で60点以上となっています。
平均点など見ると、今年の試験は、かなり簡単な方だったようです。