kuwana-kbの開発/学習ブログ

プログラミング、クラウドインフラのWeb開発/学習ブログ

「SQL ゼロからはじめるデータベース操作」 書評

こんばんは、kuwana-kbです。

最近、業務でSQLに触れる機会が増えてきました。 例えば、アプリケーションのインフラストラクチャ層を実装する時などですね。

一応、基礎的な文法はネットで調べて使えている(つもり)なのですが、将来パフォーマンスを考慮したクエリチューニングをしたり、プロダクトのアナリティクスに携わる場合に、より必要になってくるのでは…?となんとなく考えています。 そう考えるとSQLも体系的に学ぶ必要があるな〜と感じてしまうのです。

そこで今回は「SQL ゼロからはじめるデータベース操作」を読んでみました。まとめていきます。

SQL 第2版 ゼロからはじめるデータベース操作

SQL 第2版 ゼロからはじめるデータベース操作

ざっくりと3行でいうと

  • 解説がわかりやすく丁寧
  • 実戦形式で身に着けやすい
  • 構成が効率的なので学習を続けやすい

この本の紹介

この本は、SQLの入門書です。 タイトルに「ゼロからはじめるデータベース操作」とある通り、プログラミングの事前知識がなくとも理解できるような内容になっています。 例えば、学習環境の構築方法の説明や関数・変数といったプログラミングの初歩的な用語の解説がなされています。

参考までに、各章の表題とざっくりとしたキーワードを載せておきます。

タイトル キーワード
0 イントロダクション 環境構築
1 データベースとSQL
2 検索の基本 SELECT文
3 集約と並べ替え 集約関数
4 データの更新 INSERT、DELETE、UPDATE
5 複雑な問い合わせ ビュー、サブクエリ、相関サブクエリ
6 関数、述語、CASE式
7 集合演算 テーブルの足し算引き算と結合
8 SQLで高度な処理を行う ウィンドウ関数
9 アプリケーションからデータベースへ接続する JavaアプリでDBにSQLを投げる

この本のポイント

解説がわかりやすく丁寧

最初のポイントはやはりこれです。 かなり易しい解説になっています。 冒頭でも述べましたが、環境構築の方法や関数といったプログラミング用語の説明まであります。 その意味で、エンジニアを目指している人やエンジニアじゃないけどSQL使いたいといった人にもおすすめです。

また、仕様の説明に際しては、その仕様の理由にまで言及している点が好印象でした。

実践形式で身に着けやすい

本書は実践形式で、SQL文を結構書くことになります。 各章につき平均で20前後のサンプルコードがあるんじゃないでしょうか。 また、章の最後には練習問題が3,4問ついています。

本書を読む際に、あわせて本書のサンプルコードを書くことをおすすめします。 読み終える頃にはある程度SQLを書く能力が勝手に身についていると思いますよ。 (SQL文は3,4行が大半ですからそこまで大変じゃないです。ご安心ください。)

補足すると、本書ではPostgreSQLを使用してSQLを学ぶ形になっています。 業務ではMySQLなので最初ちょっと心配でしたが、読み終わった今考えると杞憂でした。 本書は標準SQLを中心に学ぶ構成になっていて、RDBMS別の仕様の違いについてもしっかり明記されているからです。

構成が効率的なので学習を続けやすい

SQLはDBのデータを扱う言語なので、当たり前ですがSQLを学習する際はDBにデータを入れる必要があります。 こういう学習で地味に面倒なのが、説明をよむ度に新しいテーブルを作って新しいデータを入れなおすといった作業です。 「SQLの勉強をしているのになんで俺はどうでもいい販売記録のデータを延々と打ち込んでいるのだろう…」って思いません…?

素敵なことに本書ではその必要がありません。 基本的に最初に入れたデータをもとに各機能を学んでいきます。 SQLの動作に注力できるように、という著者の配慮が伺えて素敵ですね。 とりあえず本に書かれた通りの操作をすれば、詰まることなく学習を進められるでしょう

また、本の中にサンプルコードが保存されたリンクも紹介されています。 もし入力をスキップしたい・詰まってしまったといった場合は、そちらを利用すれば大丈夫でしょう。

まとめ

こちらの書籍は社内のエンジニアの方に「エンジニアになって間もない頃に読んでよかった or 読みたかった本は?」と聞いた際に挙がった本です。 正確には著者のミック氏の本がおすすめと言われたのですが、 今回実際に読んでみてとても満足のいく内容だったので、同氏のデータベース設計の書籍も読んでみたいと思います。

本書を一言でまとめるなら、SQL初心者にとって最適な入門書です。 これからSQLを学びたいという方は是非手にとって見てください。