いつか、技術ブログを

新人SE(OJT中)が技術ブログを書きたがっているブログです

応用情報午後のデータベース問題を解くのに必要な知識は?

応用情報の午後の勉強をしてます。
データベースは現時点でも割と得点源になってて、E-R図と基本的なSELECT文(WHEREとかGROUP BYとか…)は得意です。
ですが苦手な部分(カーソルとか)もあるので、応用情報の午後で必要な知識はなんなのか、自分が理解できていない部分はどこなのかを把握したいと思います!

出題範囲

応用情報技術者試験の正確な出題範囲は以下のpdfに示されています(データベースは33ページからです)。
https://www.jitec.ipa.go.jp/1_13download/syllabus_ap_ver4_0.pdf
ちょっと読みにくいですが。

SQLについては、以下のような出題範囲になってます。
(a)データ定義言語(DDL : Data Definition Language)
 CREATE TABLE、制約(主キー制約、参照制約など)など
(b)データ操作言語(DML : Data Manipulation Language) (SELECT文)
 SELECT文、BETWEENやINなどの述語指定、集合関数(UNIONなど)、グループ化(GROUP BY、HAVINGなど)、並べ替え(ORDER BY)など
(c)その他のデータ操作言語(DML)
 INSERT文、UPDATE文、DELETE文など
(d)埋込型SQL
 カーソル操作など

SQL以外では、E-R図が毎年のように出題されています。矢印書いたり、主キーに線引いたりするやつです。この部分は満点取れるように勉強しといたほうがいいと思います。

過去の出題内容

過去の、とか言いながら2年分しか見てないのですが、以下のような出題になっていました。

H29春

出題範囲:E-R図、内部結合(INNER JOIN)など
基本的な知識があれば解けそうです。

H28秋

出題範囲:E-R図、内部結合(INNER JOIN)、UPDATE文、カーソルなど
やはりカーソルや、SELECT文以外のデータ操作(INSERT文、UPDATE文、DELETE文)についてちゃんと勉強しなければいけませんね…

H28春

出題範囲:E-R図、左外部結合(LEFT OUTER JOIN)、GROUP BY、 ORDER BYなど
上のH29春・H28秋は長文の記述がなかったのですが、この問題ではありました。記述苦手…

H27秋

出題範囲:E-R図、正規化、集合演算(UNION ALL)
WITH RECURSIVE とか聞いたことないSQLが急に出てきて怖かったですが、問題文中で説明してくれていたので、必須知識ではないと思います。
「エンティティは第◯正規形か?その理由は?」という記述問題があるので、「完全関数従属」といった用語と意味をちゃんと理解しておく必要がありますね。

まとめ

私が勉強しなきゃいけないリスト↓

  • SELECT文以外のデータ操作言語(INSERT文、UPDATE文、DELETE文など)
  • データ定義言語
  • カーソル←過去問ではあんまり出てない?模試で見た
  • 第一正規系〜第三正規系を自分の言葉で説明できるようにする、関数従属などの用語の正確な理解

最近はデータ定義言語が出題されてないみたいですが、基本情報の午後問題では見た覚えがあるので、勉強しておきたいです。
あとカーソルが全くわからないので、記事にまとめたいと思います!