プログラマにおすすめのデータベース/SQL本と勉強法
僕は、エンジニアとして、独り立ちしてはたらくためには、データベース/SQLの知識も必須だと考えている。そのためには、仕事とは別にプライベートでも少しは勉強しておいた方がよいだろう。次に挙げている書籍は、僕が実際に勉強に利用したものである。これらをしっかりと勉強すれば、高いスキルがつくだろう。
0.なぜデータベース/SQLの勉強が必要なのか
データベースを利用するシステム開発をしないエンジニアは滅多にいないが、意外にきちんと勉強している人は少ない。特に、Webアプリケーションフレームワークを利用した開発しかしたことがない人達に多い。 O/Rマッパーなどで隠蔽されてしまっているため、自分でSQLを書いたことがないという人も時々いる。
しかし、ある程度の知識を持っておかないと、思ったとおりの性能が出なかった場合やなんらかのバグがあったときに、DBについてはよく分からないから、他の人にお任せするといったことになってしまう。これでは、いつまで経っても独り立ちできないし、なによりエンジニアとして、開発しているソフトウェアに自分では理解できないブラックボックスがあるなんて面白くないだろう。
どうせなら、データベース/SQLについてある程度わかった上で、上手に利用できるエンジニアを目指すべきだろう。
1. 初級者から脱けだす
まずは、ミック氏が執筆した、この2冊をおすすめする。副題にあるとおり、初級者で終わりたくない人にはぴったりの書籍である。
僕は、この2冊を勉強することで、SQLやDBのリバースエンジニアリングなどの業務で困ることはなくなった。
2. 実力を確かめる
データベース/SQLについて、ある程度詳しくなったら、データベーススペシャリスト試験を受けることをおすすめする。本書籍は、過去数年分の問題がわかりやすい解説付きで載せてあるため、有益である。特に、業務での経験が浅い場合は、過去問演習は大きな効果を発揮するだろう。
僕は、過去問演習によって、正規化、データモデルと業務の紐付けなどを学ぶことができた。
3. さらに上のレベルへ
僕もまだすべてを読み終えることができていないが、本書を読み終えれば、プログラマとしてデータベースに関する十分な知識を持っていると自信を持って言えるようになると思う。
その他
余裕があれば、ぜひ読んでみてほしい。特に、SQLアンチパターンでは、現場で実際によく適用してしまっているパターンがアンチパターンとして出ており、おすすめの一冊である。