SQLアンチパターン
Bill Karwin, 和田 卓人, 和田 省二, 児島 修オライリー・ジャパン352ページISBN 9784873115894
Zenn・Qiitaなどの28記事で紹介(時点)。
- 紹介記事
- 28件
- 媒体別
- Zenn 10・Qiita 8・企業テックブログ 10
- 初めての紹介
- 最新の紹介
この本を選ぶ前に
- 出版年
- (約14年前)
- 注意点
- この本には新しい版があります。 第2版(2025年)
- 代わりの本
データベース設計タグで、この本より新しく紹介記事の多い本
別の版
紹介記事の件数・順位は、最新版のページにすべての版をまとめて載せています。
紹介の推移
2017年上期以降の19期のうち15期で紹介され、本を紹介した記事に占める割合は最大22%(2017年上期)でした。直近の2026年上期は1%(93記事中1記事)でした。
数値を表で見る
| 期間 | この本 | 全体 | 割合 |
|---|---|---|---|
| 2026年上期 | 1記事 | 93記事 | 1% |
| 2025年下期 | 0記事 | 137記事 | 0% |
| 2025年上期 | 1記事 | 127記事 | 1%未満 |
| 2024年下期 | 4記事 | 160記事 | 3% |
| 2024年上期 | 4記事 | 120記事 | 3% |
| 2023年下期 | 3記事 | 132記事 | 2% |
| 2023年上期 | 2記事 | 93記事 | 2% |
| 2022年下期 | 1記事 | 95記事 | 1% |
| 2022年上期 | 3記事 | 71記事 | 4% |
| 2021年下期 | 1記事 | 68記事 | 1% |
| 2021年上期 | 1記事 | 47記事 | 2% |
| 2020年下期 | 2記事 | 67記事 | 3% |
| 2020年上期 | 0記事 | 37記事 | 0% |
| 2019年下期 | 1記事 | 40記事 | 3% |
| 2019年上期 | 1記事 | 27記事 | 4% |
| 2018年下期 | 0記事 | 14記事 | 0% |
| 2018年上期 | 0記事 | 9記事 | 0% |
| 2017年下期 | 1記事 | 14記事 | 7% |
| 2017年上期 | 2記事 | 9記事 | 22% |
「全体」は、その期に公開され、いずれかの本を紹介した記事の数(ZennとQiitaへの同時投稿は1本と数える)。
紹介している記事
いいね数順 · 28件記事ごとの説明は、記事本文のうちこの本に触れた部分をAIが要約したもので、筆者の原文ではありません。
- 【Webエンジニアど素人から3年生ぐらいになるまでに読むと良い本】を段階的にまとめた Qiita · JunyaShibato · · いいね 2,559
- エンジニアに読んで欲しい技術書90選 Qiita · S4nTo · · いいね 1,890
本書をデータベース設計やクエリ実装で避けるべきなのに、比較的よく起こるアンチパターンを取り上げた本として紹介している。設計とクエリ実装の失敗例を知り、自身が同じパターンを行っていないか確かめるために一読するよう、読者に勧めている。
- 2025年中に読破したい、最高の技術書10選 Qiita · ふるさと@レアテック · · いいね 848
エンジニア向け研修講師として本を尋ねられる機会を踏まえ、2025年中に読破したい候補に挙げている。DB設計のアンチパターンを実例で説明する点を評価し、閉包テーブルやEAV(エンティティ・アトリビュート・バリュー)を理解できるとしている。個々のアンチパターンを暗記するのでなく、実例を通じて、そこに至る背景から学べるところがよいと述べている。
- データベースを勉強したいあなたに送る技術書17冊(+11冊1講義7link) Zenn · もりた · · いいね 841
論理設計を扱う三冊の一つとして挙げ、同じ問題領域を扱う他の二冊とあわせて読み、著者同士の見解を比べると理解が進むとしている。刊行年が古く、刊行当時の環境では正しかった内容も、時代の変化で誤りになったものがあるため、批判的に読む必要があると留保する。それでも差し引いて高く評価している。
- プログラミング初心者の学生が2年間で読んだ本の中でオススメを紹介する Qiita · nagi · · いいね 153
プログラミング初心者の学生が2年間で読んだ本を分野別に紹介する記事の「データベース」項で、基本的なSQLを学ぶ初学者向けの本や、具体的なDB設計を扱う本に続けて本書を取り上げている。データベースにある程度こなれてきた中級者向けの書籍として位置づけており、読者の習熟度に沿って紹介している。
- 一家?に一冊「SQLアンチパターン」 Qiita · shimamura_io · · いいね 61
以前から読もうと思っていた本を読み、想像以上に高く評価している。論理設計の「ジェイウォーク」「マルチカラムアトリビュート」を取り上げ、複数の値を一列や固定列、さらに両者を組み合わせて格納する設計を実務で見た経験を紹介する。こうした設計では更新・検索・妥当性検証が難しくなり、従属テーブルで関連付けるのが解決策だと述べ、SQLやリレーションを活かす重要性を説く。また「IDリクワイアド」の例を挙げ、主キーにはわかりやすい名前を付けるとしている。
- スキーマを放棄したデータベース設計 - 『SQLアンチパターン』のEAVについて考察する Zenn · もりた · · いいね 37
データベース設計のアンチパターンであるEAVを、この本を元に解説している。属性名と値で構成され拡張性に富む一方、クエリが冗長で複雑になり、スキーマ情報が分からず、NotNull制約や外部キー制約も使えないと整理する。本書の対策としてシングルテーブル継承、具象テーブル継承、クラステーブル継承、半構造化データの四つを紹介し、前の三つは簡潔に触れるにとどめて半構造化データを掘り下げている。
- 尾を噛む蛇としての外部キー制約 - 『SQLアンチパターン』のキーレスエントリ(外部キー嫌い)を考察する Zenn · もりた · · いいね 31
外部キー制約を避けるキーレスエントリを、この本を軸に考察している。外部キーを設けない設計の利点には開発のしやすさやデッドロックの回避があり、欠点にはデータ不整合や、あらゆる場面で完璧なSQL実行が求められることがあると整理する。データベースの責務はデータを守ることなので制約を外すべきでないというのが本書の解説だと理解したうえで、外部キーが引き起こす思わぬ挙動に疑問が残るとして、NO ACTIONを使う案を提案している。
- 1年目のときに背伸びして選書に失敗したエンジニアが贈る1年目に読んでおくと力がつく技術書 Qiita · nori matsu · · いいね 22
1年目に読んでおくと力がつく技術書の一つとして本書を挙げている。読まなければ自分も同じ失敗をしていたかもしれないと思うような内容が満載だとし、題名から想像するSQL部分に限らず、設計の話も多く出てくると紹介している。SQLの書き方だけでなく、設計に関する内容も扱う点を特徴として伝えている。
- 【全50冊】読んだことある技術書、自己啓発本についてひとこと書きながらひたすら挙げていく。 Zenn · hiroms · · いいね 21
題名に「SQL」とあるため当初は優先して読まなくてもよいと思っていたが、実際にはSQLだけでなくDB設計に関する内容もあると分かり、もっと早く読めばよかったと後悔したと述べている。SQLの本という題名から受けた印象と、読んで気づいた内容の幅との違いが評価に結びついている。DB設計に携わる機会がある人に勧めている。
- 技術書 読んだ順番を振り返ってみた Qiita · Variablob · · いいね 6
- DB関連おすすめ書籍 Qiita · yatsurugi55 · · いいね 5
DB設計やSQLで起こりがちなアンチパターンと解決策を示す構成で、先に挙げた本とスタイルは似ているが、内容はより深いと評している。その本の次に読むと面白いかもしれないとしている。LIKEや正規表現による部分文字列検索の遅さ、SQLインジェクション、修正しにくい複雑で長いSQL文など、SQLに焦点を当てた例も紹介し、特に13章のNULLの扱いを解説する章が興味深かったと述べている。
- ITエンジニア3年目が今まで読んできた本をまとめる Zenn · Capi · · いいね 4
会社で紹介されたことをきっかけに購入し、経験が少ない段階で読んだ本として挙げている。本書で紹介されている内容として、外部キーを設定することや正規化を行うことを記している。読んだ当時は経験が少なかったと振り返り、エンジニア3年目になった今、改めて読み直したいと述べている。
- DB設計初心者が交差テーブルに助けられました Zenn · seven_901 · · いいね 3
10年分の社内Excelデータを管理するDBの設計を初めて任された際、設計の参考に本書を購入し、考え方の幅が広がったとしている。特に、リストで複数値を管理する問題と、ジェイウォークの解決策としての交差テーブルを学び、企業別メタ情報や製品ごとの問い合わせ番号の設計に活用した。実務で度々役立った一方、その設計が適切かは判断できず、他の方法が思い付かないときに助けられたと述べている。
- 【チーム開発】令和時代のWebアプリ開発現場における安全教育として、必読の技術書・ドキュメントを列挙するコーナー Zenn · 野良ぬこ@フリーランス・個人開発 · · いいね 1
データベース設計を行う機会や、SQL(ORMを含む)を書く場面があれば読む本として、本書を「データベース」の項目に挙げている。記事全体では、特定の作業に取りかかる前に読了しておきたい資料を「用途別」として整理しており、新入社員や中途参画者の教育教材を選ぶ負担を減らす意図も示している。
- SQLアンチパターン 要約 第一部 Zenn · ogataso · · いいね 1
本書を読んだ学習ノートとして、第一部の論理設計のアンチパターンをまとめている。IDのカンマ区切り、親だけを持つ階層、汎用属性テーブル、ポリモーフィック関連、タグ用の複数列などの問題と、交差テーブルや代替ツリーモデル、サブタイプのモデリングによる解決策を紹介する。外部キー制約については、参照整合性が重要な場合に限るべきとの留保を添えている。
- SQLアンチパターン 要約 第二部 Zenn · ogataso ·
本書を読んだ学習ノートの第二部として、データベース物理設計のアンチパターンを整理している。第9章では浮動小数点の丸め誤差とNUMERIC、第10章では固定値を列定義せず参照テーブルで管理する方法、第11章では外部ファイルとBLOBの利点・リスク、第12章では測定やEXPLAINを含むMENTORによるインデックス管理を取り上げている。
- レポート:SQLアンチパターン Zenn · 千 ·
本書を参考に、データベース設計やクエリで陥りやすい失敗を学習メモとしてまとめている。ジェイウォークのカンマ区切り格納と交差テーブル、メタデータトリブルへのパーティショニング、インデックスショットガンに対するMENTOR、アンビギュアスグループで最大値と他列を取得する問題を取り上げ、解決策と実装時の留意点を述べている。馴染み深い問題や過去・現在に直面する課題の再認識になり、SQLスキル向上に有意義だと評価している。
- 第二回 課題図書知見共有会 ~SQLアンチパターン~ 企業テックブログ · ハウテレビジョン ·
新卒エンジニア4名がテーブル設計やSQLに詳しくないため課題図書に選び、読後に知見共有会を開いた。FLOAT型の丸め誤差、NULLの演算規則、インデックスの付け方を学んだとし、画像を外部保存する方法がファントムファイルというアンチパターンとされる点を議論した。既存の設計を注意深く見るようになったという。
- 新しい環境で活躍したい新卒エンジニアに贈るリブセンス社員おすすめの書籍 企業テックブログ · LIVESENSE ·
リブセンス社員が新卒エンジニアに薦める本として紹介されている。テーブル設計のアンチパターンを学べる本で、間違ったテーブル設計をすると長く苦しむことになるため、やらかす前に知っておくと良いことがまとまっているとしている。
- 好きなことを好きなだけ。学んだことLT会のコンテンツをまとめました!! 企業テックブログ · Gunosyデータ分析 ·
学んだことLT会で取り上げられた本として紹介されている。RDBのデータベース設計、クエリの書き方、アプリケーションからの利用について、代表的なアンチパターンとその解決策を扱うとまとめている。select文が書ける程度の前提知識で読め、内容を理解していれば変な設計はしなさそうなのでとてもいい本だと評価している。
- フォースタートアップスでやってる輪読会を紹介します 企業テックブログ · for Startups ·
筆者の組織の輪読会で読んだ本の一冊。テーブル設計の議論中に「SQLアンチパターンの〜に当てはまりそう」と言えば、構造上の問題やそのリスクを一から説明しなくても会話が通じるとし、同じ本を読んで共通認識を持つ利点の例として挙げている。
- 閉包テーブル(closure table)でツリー構造を表現する 企業テックブログ · ROXX ·
ナイーブツリー(隣接リスト)の章を読んで実際に試したと述べている。隣接リストは削除がつらいことを体験し、代替として示された経路列挙・入れ子集合・閉包テーブルのうち閉包テーブルが最もしっくりきたという。書籍は各パターンの長所と短所を紹介しており、適材適所で選ぶ視点と、テーブル設計の視野を広げてくれる点を評価している。
- 【2021年】 技術書好きプロエンジニア達が紹介する40選 企業テックブログ · ラクス ·
LT会の発表者は、DB設計やSQL記述で避けるべき事柄を25個紹介した本として紹介している。先人の失敗から学べ、各項目が目的、アンチパターン、見つけ方、例外的に用いてよい例、解決策の構成で、気になる章だけ読み返しやすいと述べている。読むことで常にアンチパターンを意識でき、SQLの品質が上がるとしている。
- 開発メンバーが選ぶ、おすすめの技術書【2020年度】 企業テックブログ · ラクス ·
アンケートで同率4位の本。回答者は、読んだ当時は純粋な読み物として楽しんだが、後から自分のテーブル設計を見返すとこの本の影響が大きいと感じるという。DB設計における実践的で幅広いトピックが網羅されていると評価する声もある。
- 輪読会はじめてます! 企業テックブログ · ウィルゲート ·
開発室の輪読会で現在この本を題材にしていると述べる。参加者から、データが増えても遅くならないテーブル構造を考える際に「テーブルや列をコピーする」ことがアンチパターンとして挙げられていた、という実際のサービスに当てはめた感想が出て、知識を業務で使いやすくなるとしている。
- SQL アンチパターン読書会を終えて 企業テックブログ · ピクスタ ·
筆者の会社では約半年かけてこの本の読書会を行い、参加者の感想を紹介している。24+1のテーマが、やりたいこと、アンチパターンの解説、解決策という流れで、各章10ページ前後のため1コマ60分の読書会に向くという。第I部の論理設計は全てのエンジニアが読むべきとする声がある一方、DB未経験者にはピンとこないかもしれないとの指摘もある。
- 現役エンジニアが「4月入社の新人エンジニア」におすすめする書籍17冊 企業テックブログ · paiza ·
筆者らは、SQLの記述だけでなくDB設計の段階から、陥りやすいアンチパターンを解説した本と紹介している。なぜやってしまうのか、どうすれば防げるのかが分かりやすく書かれているという。DB設計経験者向けの書籍だとしつつ、DBを使うことになった新人にも勧めている。
この本について
「SQLアンチパターン」は、リレーショナルデータベースを使うシステム開発で起こりやすい設計・実装上の失敗を25項目に分け、問題の現れ方と回避策を説明する本である。内容はデータベースの論理設計、物理設計、クエリ記述、アプリケーション開発の四領域に及ぶ。複数の値を一つの属性に格納する設計、階層データの管理、主キーや外部キーの扱い、汎用属性テーブル、テーブルや列の複製などを取り上げ、交差テーブルや代替ツリーモデル、サブタイプのモデリング、パーティショニングと正規化といった解決策を示す。さらに、小数値の丸めやNULLの扱い、全文検索、SQLインジェクション、MVCアーキテクチャなども扱う。DB設計やSQL記述、アプリケーション開発で、構造上の問題を避ける方法を学べる。
出版社の内容紹介・目次と紹介記事をもとにAIが要約したものです。原文の転載ではありません。
目次(主な章)
出典: 出版社の書籍ページ (章の見出しのみ)
- 1章 ジェイウォーク(信号無視)
- 2章 ナイーブツリー(素朴な木)
- 3章 IDリクワイアド(とりあえずID)
- 4章 キーレスエントリ(外部キー嫌い)
- 5章 EAV(エンティティ・アトリビュート・バリュー)
- 6章 ポリモーフィック関連
- 7章 マルチカラムアトリビュート(複数列属性)
- 8章 メタデータトリブル(メタデータ大増殖)
- 9章 ラウンディングエラー(丸め誤差)
- 10章 サーティワンフレーバー(31のフレーバー)
- 11章 ファントムファイル(幻のファイル)
- 12章 インデックスショットガン(闇雲インデックス)
- 13章 フィア・オブ・ジ・アンノウン(恐怖のunknown)
- 14章 アンビギュアスグループ(曖昧なグループ)
- 15章 ランダムセレクション
- 16章 プアマンズ・サーチエンジン(貧者のサーチエンジン)
- 17章 スパゲッティクエリ
- 18章 インプリシットカラム(暗黙の列)
- 19章 リーダブルパスワード(読み取り可能パスワード)
- 20章 SQLインジェクション
- 21章 シュードキー・ニートフリーク(疑似キー潔癖症)
- 22章 シー・ノー・エビル(臭いものに蓋)
- 23章 ディプロマティック・イミュニティ(外交特権)
- 24章 マジックビーンズ(魔法の豆)
- 25章 砂の城