データベーススペシャリスト試験でのSQLの重要度
最近,MySQLでいろいろデータベースを作っている美月です。
個人的には,会社員時代はSybaseやOracle,MySQLなど様々なデータベースを使って開発してきたので,SQLは大好きです。
一応,オラクルマスター(シルバー)でもありますし。
ただ,情報処理技術者試験でのSQLは,知っておいた方が有利ではありますが,それほど重要視されません。
一番,SQLが大切なのは,応用情報技術者試験で,午後の問6(データベース)を選択する場合だと思います。
こちらは,3回に2回ぐらいはSQLが出てきますし,なにげに高度なので,データベースを選択するならちゃんとSQLを勉強しておく必要があります。
あと,情報セキュリティスペシャリストでも,SQLは結構出てきます。
SQLインジェクション攻撃と一緒に出てくるのがほとんどですが,ちゃんとSQLが読めないと,苦戦すると思います。
そして,データベーススペシャリスト。
名前から,SQLはすごく要求される気がするのですが,実はそうでもありません。
午後1の選択が,3問中2問になったので,下手をするとSQLの午後問題が,出てこない可能性さえあります。
今日,本屋でいろいろ,データベーススペシャリスト向けの参考書を見ていて,SQLをすごく重視している本を見つけました。
正規化やデータベース設計よりも多くのページを割いていて,正直,そこまでやる必要はないように感じました。
というより,やってもいいけど,それでデータベース設計をおろそかにするのは本末転倒です。
データベーススペシャリストの午後1は,過去3回の出題で,以下のような構成になっています。
平成21年
問1 基礎理論,問2 データベースの設計,問3 変更履歴を記録するテーブル(SQL)
平成22年
問1 基礎理論,問2 データベースの設計,問3 データベースの保守・運用(DBMS)
平成23年
問1 基礎理論,問2 データベースの設計,問3 関係データベースの性能(DBMS)
ここ2年は,問3はDBMSを中心とした問題です。
SQLも,出てこないことはないですが,そのSQLのパフォーマンスチューニングが題材だったりするので,SQL文自体は簡単です。
個人的には,去年の段階では,午後1の問3は,21年はSQL,22年はDBMSだったので,交互に次はSQLが出るのかな,ぐらいに予想していました。ところが,もう一度DBMSでしたので,SQL問題は過去3回で1度しか出てきていないことになります。
テクニカルエンジニア(データベース)時代の4問中3問選択の時には,基礎理論,データベースの設計,SQL,DBMSが1問ずつ出ていました。その状態なら,SQLを得意にして,確実に点を稼ぐ,という戦略は使えました。
でも今は,SQLが出てこないことも多いので,それに頼るとリスクが高いです。
試験合格,というところから見ると,昨日も書いたとおり,基礎理論とデータベース設計が,とにかく合否のポイントになってきますので,そこに力を入れる必要があります。
もちろん,総合的にデータベース中心のエンジニアとして力をつけるなら,SQLも知っておくにこしたことはないですが,この試験では,そこはあまり問われません。
あくまで,この試験は,「データモデリング」の力を身に付けたかどうかを測る試験だと思います。
データベースを実務的に使いこなせて,モデリングもできるデータベースのスペシャリストを目指すなら,オラクルマスターとデータベーススペシャリストの両方を取る,というのがベストだとは思います。
そして,情報処理技術者試験のSQLは,標準SQL(SQL :JIS X 3005 規格群)です。
OracleやSQL Serverなどの方言(独自仕様)に慣れている人は,一度標準のSQLを押さえておくのも大切です。
余裕がある時期なので,必要そうなものは全部勉強しても,別にいいと思います。
ただ,重要度を頭においておいて,重要な基礎理論やデータベース設計の勉強は,おろそかにしないようにしましょう。