株式会社わくわくスタディワールド

株式会社わくわくスタディワールド

SQLについて,各情報処理技術者試験で要求されるレベル

最近,データベーススペシャリスト教科書の執筆を再開していて,今SQLの章です。
そこで,資料のために買った「プログラマのためのSQL 第4版」が,マニアックで面白くって,いろいろ読みふけっています。

この本は,「すべてを知り尽くしたいあなたに」という副題がついているとおり,SQLやデータベースに関して,これでもかというくらい詳しく説明してある本です。
SQLの本なのに,エンティティや正規化についても書かれていますし,外部結合などは,「外部結合の歴史」から始まって,DBMSに外部結合がない場合の書き方まで,様々な状況や手法が説明されています。

この本のいいところの一つは,DBMSに依存する書き方ではなく,標準SQLを中心に解説しているところです。
DBMS依存の方言についてはいろいろ対処法は書いてありますが,標準SQLを軸に展開されているので,標準SQLが出題される情報処理技術者試験対策としても安心です。

SQLは,単純なデータベース用の言語なのですが,人によって使い方によって,書き方がいろいろあります。
理論がわかっていると,スマートに美しく書けますし,書き方によって性能にも差が出てきます。
地味なのですが,勉強しがいがある分野です。

そして,SQLは,情報処理技術者試験では,さまざまな試験区分で出題されます。
一番メインで,SQL問題がしっかり出題されるのは,実は応用情報技術者試験です。
先ほどの本のタイトルが「プログラマのためのSQL」だったことからもわかりますが,SQLというのは基本的に,プログラマが使うものです。

ですので,プログラマを中心対象とした応用情報技術者試験では,かなりツッコんだ内容のSQLが出題されます。
午後は選択問題なので避けて通ることはできますが,データベースを選ぶならしっかりSQLは学習しておきたいところです。

次によく出てくるのが,基本情報技術者試験です。
SQLの基本を問われる問題が,午前でも午後でも,結構数多く出題されます。

SQLに関しては,基本情報技術者試験と応用情報技術者試験では,明らかに難易度に差があります。
基本情報技術者試験の問題だと,なんとなくSQLの文法を知っていれば解けるレベルのものが多いですが,応用情報技術者試験では,外部結合や相関副問合せなど,しっかり理解しておかないと解けないレベルのことが出題されます。
基本情報技術者試験に合格された方で,応用情報技術者試験受験時にもデータベースを選択しようと思われている方は,一度しっかり学習しなおすことがおすすめです。

そして,一番SQLがいっぱい出てきそうで,実はあまり重視されないのが,データベーススペシャリスト試験です。
データベーススペシャリストは,データベース設計を行う人で,プログラマではないという位置づけですので,SQLをいっぱい実装するという問題は,あまり出てきません。
SQLを避けて合格したという方も,結構多いです。

ただ,ちゃんとSQL問題を選択するつもりで勉強するなら,かなりしっかり学習する必要があります。
SQL問題の難易度は高いですし,CREATE ROLEやCASE文,USINGなど,定番以外のSQL文を書かせる問題も,結構出てきます。
実務も兼ねてデータベースを極めるつもりなら,今から来年に向けてSQLをマスターするのもいいと思います。

あと,データベースを分かっているかどうかが,意外と合否に影響しがちなのが,情報セキュリティスペシャリスト試験です。
SQLインジェクション対策では,ある程度SQLが読める必要がありますし,データベースセキュリティはセキュリティ対策の大切な一分野です。
応用情報技術者試験の午後レベルでいいので,一度SQLは学習しておくことがおすすめです。

システムアーキテクトは,SQLは出てきませんが,E-R図などの,データベース設計に関しては出てきます。
こちらもプログラマではなく上流工程を担当する人という位置づけですので,実装はあまり重視されません。
SQLに限らず,データベース全般については,ひととおり学習しておくといいとは思います。

その他の試験区分でも,午前や午前1では出てきますので,ひととおり学習しておくと役には立ちます。
SQLは汎用性が高く,意外といろんな場面で使われる言語なので,実務でも突発的に使う機会が出てくることもあります。
基本的な文法ぐらいは,すべての技術者は押さえておいてもいいんじゃないかな,と感じています。

SQLは地味ですが,うまく使うと仕事が効率的になり,勉強しがいがあるものです。
プログラムを組む方は特に,実務と合わせて,高度なSQLについても学習するのがおすすめです。

試験勉強にかこつけて,実務でも役立つ知識をしっかり身につけていきましょう。