プログラマのための SQL 第 4 版

プログラマ ノ タメノ エスキューエル

すべてを知り尽くしたいあなたに

プログラマのための SQL 第 4 版の表紙
アプリケーション
著者:
ジョー・セルコ / ミック(セルコ, ジョー / ミック)
出版社:
翔泳社
出版日:
2013年05月
ISBN:
9784798128023
在庫:
在庫あり
4.5(2 件 / 楽天ブックス)
中級者向け
SQLアプリケーションプログラミングデータベースクエリ最適化テーブル操作グループ化集計関数データ操作データ分析データ管理

なぜ注目されているか

言及数
312位
総合476位 ↑ 2 ランクアップ 言及 9 件
01120222023202420252026

書籍紹介

本書は、SQL の実務経験があるエンジニアを対象として、SQL プログラミングの基礎的な考え方から、テーブル操作、グループ化、集計関数、クエリの最適化など、SQL 全般について詳しく解説した「SQL プログラミングバイブル」です。基本から高度なテクニックまで、網羅的に SQL プログラミングの知識を習得できます。

技書の森解説

SQL を一通り書けるようになったエンジニアが、言語の全域を基礎の考え方から高度なテクニックまで掘り下げるための大著です。『プログラマのための SQL 第 4 版』はジョー・セルコ著、ミック監訳で、翔泳社から 2013 年 5 月に刊行されました。副題は「すべてを知り尽くしたいあなたに」、原書は JOE CELKO'S SQL FOR SMARTIES の原著第 4 版です。版元は本書を、SQL の実務経験があるエンジニアを対象に SQL 全般を詳しく解説した「SQL プログラミングバイブル」と紹介しています。

目次の冒頭に並ぶ、データベースの土台と書き方の違い

版元資料に載る目次は冒頭の一部で、データベース VS ファイルシステム、トランザクションと同時実行制御、スキーマレベルのオブジェクト、ロケータと特別な数、基底テーブルとそれに関連する要素、手続き型プログラミング、半手続き型プログラミング、宣言型プログラミング、手続き型の遺産、補助テーブル、正規化、数値型と続き、その先は省略されています。項目の並びから見ると、データベースとファイルの違いという土台から入り、スキーマとテーブルの定義、書き方の流儀の比較、正規化を経てデータ型の各論へ進む構成です。版元の紹介文は、このほかにテーブル操作、グループ化、集計関数、クエリの最適化を扱うと説明しています。

NDL の書誌によると、本書は原著第 4 版の翻訳で、日本語版の第 2 版は 2001 年にピアソン・エデュケーションから刊行されていました。版元を翔泳社に移して出たのがこの第 4 版で、旧版を持っている人は、版が改まっている点を踏まえて買い直しを判断できます。

集合で考える SQL と、クエリの最適化の背景

SQL は、欲しい結果の条件を宣言し、どう取り出すかはデータベース管理システムに任せる言語です。C や Java のように処理の順番を 1 行ずつ書く言語に慣れた人ほど、行を一つずつ取り出してループで処理する書き方に寄りがちです。行の集まりをまとめて扱う 1 つの問い合わせに書き直すと、オプティマイザが結合の順序や インデックス の使い方を選べる余地が広がり、速さと結果の正しさの両方で有利になる場面が多くあります。目次に手続き型と宣言型のプログラミングを並べて比べる章題が置かれているのは、この発想の切り替えを本書が重く見ていることの表れと読めます。SQL の学び方全体の中で本書をどこに置くかは、データベース本の選び方と学習順序 を手がかりにすると決めやすくなります。

SQL の実務経験者に向く理由と、入門には向かない点

版元が対象とするのは SQL の実務経験があるエンジニアで、SELECT 文の書き方から教える入門書ではありません。基本構文は書けるのに、なぜその書き方が正しいのかを説明できない人や、集計や結合を含むクエリの遅さに悩んでいる人ほど、得るものの大きい本です。逆に SQL をこれから学ぶ人や、特定の製品の運用手順を知りたい人には、先に別の本を選ぶほうが近道です。2013 年刊の翻訳書なので、刊行後に各製品へ加わった機能は扱っていません。

ORM や既存のクエリの写しに頼って SQL を書いてきた開発者が、言語の仕組みに立ち返って自分の書き方を組み立て直すには、これだけの範囲を 1 冊で通して確かめられるのが本書の強みです。手元に置き、設計やクエリで迷ったときに該当する章へ戻る使い方をすれば、長く元が取れる一冊になります。

言及した記事 (9 件)

この本に興味がある方におすすめ

関連する本

ジョー・セルコ の他の書籍

関連記事

関連用語

共有: