お知らせ
Software Design 2019年4月号(2019年3月18日発売)にて「プログラマのための速習SQL」という特集記事を監修しました。
ちなみに、この記事の執筆者はソニックガーデンの同僚である西見公宏(@mah_lab)です。
記事の最後にはいちおう僕の名前も載せてもらっています。
どんな記事なの?
O/RマッパーなしではSQLが書けないプログラマが対象読者
弊社ソニックガーデンはRuby on Railsをメインのフレームワークとして採用しています。
そしてRailsといえば、Active Recordと呼ばれるO/Rマッパーがプログラマの代わりにSQLを書いてくれます。
とはいえ、Active Recordを使えばSQLの知識がまったく不要になるのかというと、そうではありません。
むしろ逆に、本格的なWebアプリケーションを開発するためにはSQLの知識はある程度必須になってきます。
ですが、SQLを直接書かずに、Active Recordに代表されるO/Rマッパーをメインで使い続けていると、どうしてもSQLが苦手になってしまいます。
実際、ソニックガーデンの中にも「直接SQLを書くのはちょっと苦手」というメンバーがたまにいます。
というわけで、この記事ではそんな「多少の読み書きはできるけど、O/Rマッパーに慣れきって直接SQLを書くのは苦手なプログラマ」を対象読者としています。
記事の構成を考える際も「これを弊社のプログラマに読ませて勉強してもらうこと」をイメージしていました。
記事の構成や実行環境など
特集記事は以下のように3つの章に分かれています。
- 第1章 SQLに再入門しよう
- 第2章 実践問題で練習しよう
- 第3章 SQLコーディングスタイルガイド
なお、この記事で扱うSQLはSQLの中でも「SELECT文」に限定しています。
対象となる実行環境はPostgreSQLですが、ポスグレ特有の構文や関数の使用は必要最小限にしています。
そのため、大半の知識はMySQLやOracleといった他のDB環境でも同じように活用できます。
オリジナルのオンラインツールでSQLの写経ができる
面白いのは第2章の「実践問題で練習しよう」かもしれません。
この章では西見が自作したオンラインツール(Webアプリケーション)を使って、SQLの実行結果を確認できます。
SQLの習得は実際に自分の手を動かしながら練習するのが一番ですが、環境構築やテストデータの準備等が面倒です。
このツールを使えば、記事の説明を読んで「ふーん」で終わるのではなく、実際に自分で書いたSQLをブラウザ上で動かしながらSQLを学ぶことができます。
つまり、写経をしながらSQLを習得できるというわけですね。これは画期的かも!!
SQLを書く際の考え方や道筋を学べる
また、この特集記事は「構文や解答例を教えておしまい」ではなく、全体を通して「SQLを書く際の考え方や道筋」を重視して説明するようにしています。
つまり、魚を与えるのではなく、魚の釣り方を教える方式ですね。
僕もSQLを書くときは「まずこのテーブルを起点にして、そこからのこっちのテーブルをJOINして・・・」というような手順が頭の中にできています。
SQLが苦手な人はおそらくこの手順もはっきりと決まっていないのではないでしょうか。
この記事を読んで「しっかりと順序立ててSQLを構築するスキル」を身につけましょう!
まとめ
というわけで、このエントリでは執筆・西見公宏、監修・伊藤淳一のコンビでお送りする「プログラマのための速習SQL」という特集記事を紹介しました。
Software Design誌はときどき売り切れてしまうこともあるので、興味を持った人は早めに手に入れることをお勧めします。
お近くの書店やAmazon等でSoftware Design 2019年4月号をぜひゲットしてください😄
![ソフトウェアデザイン 2019年4月号 ソフトウェアデザイン 2019年4月号](https://images-fe.ssl-images-amazon.com/images/I/51or4lbdiFL._SL160_.jpg)
- 作者: 職業「戸倉彩」,井上章,@driller,阿佐志保,本間咲来,西見公宏,根本祐介,関塚甲介,遠藤広也,増田翔子,竹端尚人,安藤幸央,結城浩,武内覚,宮原徹,平林純,森國泰平,樽石将人,上田隆一,田代勝也,中村壮一,山田泰宏,河本泰孝,mattn,小飼弾,すずきひろのぶ,青田直大,やまねひでき,くつなりょうすけ,水野源,中島雅弘,法林浩之,佐藤大,後藤大地,杉山貴章,Software Design編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2019/03/18
- メディア: 雑誌
- この商品を含むブログを見る
おまけ
監修ということで、原稿のいろんな部分で「ここはこう書いた方がわかりやすいよ」とか「その説明だと初心者の人がつまづくかも」といったアドバイスを入れてみました。
最後の謝辞の文面も僕自身が添削してたりします(笑)。