SQLの苦手を克服する本 データの操作がイメージできれば誰でもできる (Software Design plusシリーズ)

  • 技術評論社
3.57
  • (0)
  • (4)
  • (3)
  • (0)
  • (0)
本棚登録 : 45
レビュー : 2
  • Amazon.co.jp ・本 (248ページ)
  • / ISBN・EAN: 9784297107178

作品紹介・あらすじ

本書は、SQLの文法は学んだもののSQLに苦手意識を持っているITエンジニアのための書籍です。
複雑なSQLを読める/書けるようになるには、データベースの表をカタマリで操作する考え方(集合志向)を理解する必要があります。本書では、「データベースの表をカタマリで操作するイメージ」を持てるように、文法の解説はいったん脇に置き、どのようにイメージすれば良いか、ほかの手続き型言語とどう違うか、というポイントを豊富な図を使って入念に解説します。
また、SQLやデータベースで起こりがちな性能、メンテナンス性、開発効率などの問題を解決するには、データベースのしくみを理解し、アプリケーションとデータベースの役割を適切に分担する必要があります。こちらについても、さまざまな図と例を使って、問題が起きるメカニズムと解決のアイデアを紹介します。

感想・レビュー・書評

並び替え
表示形式
表示件数
絞り込み
  • SQLをどうすれば真価を発揮できるかについて書いた本。
    そもそも、一般的なプログラミングは手続き型に則っているのにたいし、SQL(というより、リレーショナルデータベース)は集合思考なもんだから、ベテランのエンジニアでも理解していない人がいるらしく、ぐるぐる系SQLだとか効率の悪いSQLを書いてしまう人もいるらしい。
    そういえば前にいたなぁ。JAVAについてはかなり詳しいのだけど、SQLについて苦手意識がある人。ある程度、勉強したことはあるので、文法は分かっている(例えば、LEFT JOINした項目をWHERE文で使うのがおかしいというのは分かる)のだけど、ぐるぐる系のほうがいいとか言っちゃう。JOINもやりたがらないし、UNIONもやりたがらない(UNIONした後にORDER BYしたら楽なのに、なぜJAVAでソートしなきゃいけないのかと……)。正直、そういう人にこの本を読んでほしいと思った。
    ただ、もちろん中には自分も知らないことが書いてあって、「ON a.B_ID = B.ID AND 0 = B.DelFlag」という結合条件でJOINをかけると、1対1関係にある(同じIDがどちらにもある)テーブルだと、INNER JOINでもLEFT JOINでも結果が同じになると書いてあって驚いた。てっきり、LEFT JOINでも、B.DelFlagが1のデータはNULLになるだけかと。ちょっとどこかで試してみたい。
    それと、IN(サブクエリ)とEXISTSの違いとか。処理される順序がINとEXISTSで違うのだとか。サブクエリで返ってくる結果が少ないのであれば、INを使ったほうがいいらしい。覚えておきたい。
    後、時々、複数の種類の名前と値を一つのマスタにしているテーブルを見るけど、あれはEAV(Entity-Attribute-Value)というらしく、SQLアンチパターンらしい。やっぱりあれって、SQLのアンチパターンなのか。確かに便利だなと思ったのだけど、ちょっとした違和感は確かにあった。
    著者はAPIファースト開発という手法を提案しているそうなのだけど、ようはストアドプロシージャを使った開発と考えていいのかな? うちの会社でも基本、自社開発だとそうしてるし、そのほうがストアド変更するだけでアプリの変更はいらないという修正依頼も多いので、確かにいいと思う。

  • 【図書館の所在等はこちらから確認できます】
    https://libipu.iwate-pu.ac.jp/opac/volume/516944

全2件中 1 - 2件を表示

著者プロフィール

生島 勘富(いくしま さだよし)株式会社ジーワンシステム 代表取締役。フリーランスのエンジニアを経て、2003年に株式会社ジーワンシステムを創業する。その後、プレイングマネージャーとして多くのシステム開発に従事し、現在ではデータベースを中心としたコンサルティングを行っている。本書の原案を担当。・メール: info@g1sys.co.jp・Webサイト: http://www.g1sys.co.jp/・ブログ: https://sikushima.hatenablog.com/・Twitter: @Sikushima

「2019年 『SQLの苦手を克服する本 データの操作がイメージできれば誰でもできる』 で使われていた紹介文から引用しています。」

生島勘富の作品

ツイートする
×