『初めての SQL』 Alan Beaulieu 著, 株式会社クイープ 訳

初めてのSQL

初めてのSQL

これまで PostgreSQL をちょこっといじることはあったのですが、ちゃんと勉強はしてなかったので改めて 『初めての SQL』 を読んで勉強しました。 なかなか良い内容だったのでちょこっと書評でも書き残しておきます。

リレーショナルデータベースのユーザのための SQL 勉強本

本書は、リレーショナルデータベース (以下 RDB) 内のデータを操作するための問い合わせ言語 SQL について学ぶための本です。 SQL というのは RDB にデータを格納したり、RDB からデータを検索したりといったことを行うための言語です。

本書では、RDB のインストールを行うところからまず説明が始まります。 それから、

  • データベースの構築
  • データベースの表の構築
  • 表にデータを格納したり、更新したり、検索したり、削除したりする方法 (クエリ)

といった基本的なところの説明を前半で行っています。 後半では

  • データのグループ化
  • サブクエリ (クエリの中にさらにクエリを入れる)
  • 表の結合
  • クエリ内での条件分岐
  • トランザクション
  • インデックスと制約

といった少し応用的な内容の解説がなされています。

MySQL を使用しているが、どの RDBMS にも適用可能な内容

本書では、オープンソースRDBMS (RDBを管理・運用するためのシステム) である MySQL を使用して解説を行っています。 しかし、MySQL でしか使えない命令はほとんどなく、原則としてどの RDBMS でも使用できる命令について解説を行っていますし、RDBMS 間の互換性があまりないような部分については Oracle Database や SQL Server の場合などを紹介して違いをきちんと説明してくれています。 そのため、自分が使用する予定の RDBMS が何であろうとも、本書の内容は役に立つと思います。

本書では PostgreSQL については全く触れていないのがちょっと寂しい気もしますが...

初めての人向けというよりはある程度使ったことがある人向け?

本書の題名は 『初めての SQL』 で 「初めての」 とついているわけですが、全体を通して読んだ感じだと、どちらかというと初めての人向けというよりは、「ネット上で情報を探しながら RDBMS を使ったことがあるけどちゃんと勉強していない」 というように、ある程度 RDBSQL について知っているけど、まだまだ初心者レベル、という感じの人が読むのがいいんじゃないかと思います。

本書の前半では SQL とは何かという導入があり、MySQL をインストールする方法の説明があり、基本的な部分から説明していますので本当に SQLRDBMS を使ったことがなくても問題なく読めるはずですが、本書を読む前にちょっとぐらいは RDBMSSQL に触れていた方がいいような気がします。

全体的に平易で読みやすい良書

本書の前書きには以下のように書かれています。

SQL データ文は、ほんのいくつかのコマンドで構成されているため、一見やさしそうに見えます。 筆者が思うに、SQL に関する書籍の多くは、この言語が可能にすることを表面的に捉えることに終始し、この考えを助長しているようです。 ただし、SQL を使用するつもりであれば、この言語の能力と、さまざまな機能を組み合わせて効果的な結果を生成する方法を、完全に理解する必要があります。 「ドアストッパー」 という付加価値を持たずに SQL 言語を詳細にカバーしているのは、本書だけではないかと思います。

上で述べたように、ある程度 RDBSQL について知っているけど、まだまだ初心者レベル、という感じの人には是非この書籍を読んで欲しいと思います。 単純に文法を解説しているだけではなく、どう書くのがいいか、という思想が語られていますので、一段階上のレベルに進めると思います。

また、『「ドアストッパー」 という付加価値を持たず』 と書かれているように、本書はあまり分厚くありません (300 ページほどです)。 文章も読みやすいので、全体的にみて良書だと思います。