応用情報技術者試験〔午後〕データベース 対策 「 SQL と E-R図 を攻略」
応用情報技術者試験の午後問題において、選択問題になっているデータベース(通常は問 6 で出題)をどうするか考えてみましょう。
選択すべきかどうか
データベース分野で問われるているのは、主に SQL と 概念データモデル( E-R 図)です(詳細は後述)。したがって、業務で SQL を使っている人や SQL の問題が中心の基本情報技術者試験でデータベース分野を選択した人は(つまり、 SQL を得意としている人は)、選択の優先順位を高くすることをお勧めします。概念データモデル( E-R 図)関連の知識を身に付けるだけなので、短時間で仕上がるからです。その分、他の分野の学習に注力もできますからね。
そして、そのまま(応用情報技術者試験合格後に)高度のデータベーススペシャリスト試験にチャレンジしても面白いと思います。連勝できる可能性が高いはず。ここで SQL と概念データモデル( E-R 図)をしっかりと仕上げておくと、それが高度系でも活きてきます。データベース分野は、他のどの試験区分よりも “線” で考えることができますからね。基本情報や応用情報で得た知識の上に積み重ねることができる分野です。
また、 SQL が得意でなくても、高度のデータベーススペシャリスト試験を狙っていなくても、優先順位を高くしてもいいかもしれません。
SQL の問題は応用情報技術者試験の午前問題でも出題されます。加えて、データベーススペシャリスト以外の高度区分でも、午前問題で出題される区分があります。このため、ここで仕上げておくのも一つの考え方です。
そして最後にもう一つ。データベース分野の問題は、データベース分野(問 6 )だけではなく、情報システム開発(問 8 )でも出題されることがあります。したがって、運が良ければ 5 問中 2 問が “得意分野” になるかもしれません。そういうことも考慮して、優先順位を決めましょう。
特徴や課題
データベース分野の問題は、アルゴリズムの問題と同様に、全部の問題に目を通さなくても仕上げることができます。数学の問題で公式を覚えて、その公式を応用するのと似た感じです。そのため、効率よく学習すれば短時間で仕上げることができるんですね。
しかも、ある程度、出題されることを絞り込むこともできます。
次の表は、 IPA が公表している平成 16 年以後の過去問題(平成 20 年以前は、旧ソフトウェア開発技術者試験の問題)をベースに、出題されたテーマごとに整理したものです。
info表は上下左右スクロールできます
03春 問6 |
02秋 問6 |
02春 - |
01秋 問6 |
31春 問6 |
30秋 問6 |
30春 問6 |
29秋 問6 |
29春 問6 |
28秋 問6 |
28春 問6 |
27秋 問6 |
27春 問6 |
26秋 問6 |
26春 問6 |
25秋 問6 |
25春 問6 |
24秋 問6 |
24春 問6 |
23秋 問6 |
23春 問6 |
22秋 問6 |
22春 問6 |
21秋 問6 |
21春 問6 |
|||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SQL | SELECT 文 | 基本 | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | panorama_fish_eye | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | |||||||
GROUP BY(集約関数) | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | panorama_fish_eye | radio_button_checked | panorama_fish_eye | panorama_fish_eye | radio_button_checked | radio_button_checked | panorama_fish_eye | radio_button_checked | ||||||||||||||
ORDER BY | radio_button_checked | panorama_fish_eye | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | panorama_fish_eye | ||||||||||||||||||||
結合 | radio_button_checked | radio_button_checked | panorama_fish_eye | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | ||||||||||||||
副問合せ | radio_button_checked | panorama_fish_eye | |||||||||||||||||||||||||
相関副問合せ | radio_button_checked | radio_button_checked | radio_button_checked | ||||||||||||||||||||||||
CREATE | 基本 | radio_button_checked | radio_button_checked | ||||||||||||||||||||||||
VIEW | panorama_fish_eye | panorama_fish_eye | panorama_fish_eye | ||||||||||||||||||||||||
制約 | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | ||||||||||||||||||||||
INSERT他 | 追加・更新・削除 | radio_button_checked | panorama_fish_eye | panorama_fish_eye | |||||||||||||||||||||||
GRANT他 | 権限 | radio_button_checked | |||||||||||||||||||||||||
カーソル操作 | panorama_fish_eye | ||||||||||||||||||||||||||
再帰問合せ | WITH RECURSIVE | radio_button_checked | |||||||||||||||||||||||||
E-R 図 | E-R 図の有無 | panorama_fish_eye | panorama_fish_eye | panorama_fish_eye | panorama_fish_eye | panorama_fish_eye | panorama_fish_eye | panorama_fish_eye | panorama_fish_eye | panorama_fish_eye | panorama_fish_eye | panorama_fish_eye | panorama_fish_eye | panorama_fish_eye | panorama_fish_eye | panorama_fish_eye | panorama_fish_eye | panorama_fish_eye | panorama_fish_eye | panorama_fish_eye | panorama_fish_eye | panorama_fish_eye | |||||
E, Rの追加 | radio_button_checked | ||||||||||||||||||||||||||
属性の追加 | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | |||||||||||
リレーションシップ追加 | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | |||||||||
オプショナリティ | radio_button_checked | ||||||||||||||||||||||||||
連関エンティティ | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | |||||||||||||||
その他 | 正規化 | radio_button_checked | radio_button_checked | ||||||||||||||||||||||||
トランザクション処理 | ACID,コミット他 | radio_button_checked | |||||||||||||||||||||||||
分散トランザクション | ACID,2 相コミット他 | radio_button_checked | |||||||||||||||||||||||||
文脈から判断 | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked | radio_button_checked |
このようにまとめてみると明白ですが、応用情報技術者試験のデータベース分野で問われていることは、ほぼ次の二つに絞り込むことができます。
- SQL
- E-R 図
looks_oneSQL
SQL は、 SELECT 文を中心に出題されます。基本的な列と行の絞り込みに加えて、結合( JOIN を使ったもの)、 GROUP BY 、 ORDER BY などが頻繁に出題されているので、ここは深い知識が必要でしょう。 EXISTS を使った相関副問合せもたまに出題されます。
また、 CREATE 文で TABLE や VIEW を定義する問題も、たまに出題されます。この時に指定する制約、 NULL の使い方なども、過去問題を通じて押えておけばいいでしょう。
数は少ないですが、その他に、追加・更新・削除、権限付与、カーソル操作などもたまに出題されています。
そう考えれば、 SQL が得意な人(経験者)は、このタイミングで知識を整理する目的で、高度の参考書を使って SQL を仕上げておくといいかもしれません。特に、いずれ高度のデータベーススペシャリスト試験の受験を考えているなら、応用情報の段階からレベル 4 の水準で SQL を整理できていれば、後々かなり楽になります。
ちなみに、その場合は良い参考書が翔泳社から出ています。そちらをお使いください。
looks_twoE-R 図
一方、 E-R 図も毎回のように出題されています。エンティティを追加するものはほとんどないのですが、属性とリレーションシップの穴埋め問題は、ほぼ毎回出題されています。特に、リレーションシップと外部キーの関係、連関エンティティなど、問われやすいところは限定的なので、その傾向を掴んでおきましょう。
なお、たまにオプショナリティも問われることがあるので、時間があれば高度系のデータベーススペシャリスト試験の参考書(特に翔泳社)を使って知識を整理し、解答できるようにしておくといいでしょう。
対策方法
それでは、最後に対策方法について考えてみましょう。もちろん、この分野の問題を解く可能性がある(優先順位が高い)人だけで構いません。
SQL や E-R 図の中でも、出題テーマをもう一段階ブレイクダウンしているので、そのレベルで自分の知識をチェックしてみてください。「結合って、どんな問題が出ているのかな?」と気になれば、上記の表の「結合」のところを辿っていって、その過去問題に目を通して解いてみてください。
また、ある程度仕上がっていて「 SQL と E-R 図は大丈夫。過去問題も直近 2 年分ぐらい試してみたけど、 SQL と E-R 図は大丈夫だな」と感じている人は、それ以外の “レアな問題” 、この表で言うと “その他” の所に “radio_button_checked” がついている問題や、各回の「文脈から判断」している設問だけに目を通しておくのも有効です。
それ以上の対策となると、それこそ高度のデータベーススペシャリスト試験の過去問題に目を通すことになりますが、そこまでは必要ないと思います。
label 関連タグ『定額制』
高度試験対策研修 KOUDO 初公開!
定額制だから、どの区分でも何名でも 受け放題!!
- 略歴
- 株式会社エムズネット代表。
大阪を主要拠点に活動するIT コンサルタント。 本業のかたわら、大手 SI 企業の SE に対して、資格取得講座や階層教育を担当している。高度区分において脅威の合格率を誇る。 - 保有資格
-
- 情報処理技術者試験全区分制覇(累計 32 区分,内高度系 25 区分)
- ITコーディネータ
- 中小企業診断士
- 技術士(経営工学)
- 販売士 1 級
- JAPAN MENSA 会員
オフィシャルブログ 「自分らしい働き方」Powered by Ameba