Introduction
-
著者Bill Karwinは人生最初のSQLの仕事を拒否した
- SQLのサブセットを作る話
- 「SELECT文だけでいいよ」
- RDBMS全部開発するようなもの
-
1992からSQLについて多くの仕事をするように
-
メーリングリストやニュースグループで何千もの質問に回答するように
- 同じ質問がしょっちゅうある
- 同じ過ちを何度も繰り返されているということ
-
Who This Book Is For
- 初心者ベテラン問わず
- 他のコードを見て参考にする時、良い例と悪い例を見分けるために
- 知っているアンチパターンについては新たな視座を得られるかもしれない
- 知らないアンチパターンもあるかもしれない
- 熟練したDBAにもソフトウェア開発者の視点をもたらす
What’s in This Book
-
アンチパターンとは
- ある問題の解決のためのもの
- だが、別の問題を生ずるもの
-
どのようにして踏んでしまうか
- 独立して思いつく
- 学校の教えや文献から
-
本書で扱うアンチパターン
- テクサポやトレーニングセッションで話したもの
- インターネットフォーラムで回答したもの
-
著者自身が踏んだもの
- 自分でしくじったものを夜なべで直すことは最高の教師
Parts of This Book
-
4つの章立て
-
Logical Database Design Antipatterns
- 論理設計
-
Physical Database Design Antipatterns
- SQLのDDL絡むもの
-
Query Antipatterns
- DML
- Application Development Antipatterns
-
- パターンにはユーモラス・喚情的なタイトルをつけた
- 多くはリレーショナルモデル理論を誤解していることに起因する
Anatomy of an Antipattern
-
各アンチパターンの構成
-
Objective
-
アンチパターンが解決しようとしている問題
- 別の問題を生ずるんですけど
-
-
The Antipattern
- アンチパターンをアンチパターンたらしめているゆえん
-
How to Recognize the Antipattern
- アンチパターンが使われているのを発見するための手がかり
-
Legitimate Uses of the Antipattern
- アンチパターンを承知のうえで有効活用できる局面
-
Solution
- よりよい解法
-
What’s Not in This Book
- SQLの基礎
- パフォーマンス
-
SQL標準でないもの
- ベンダ拡張については明記する
- ORM
- DBAの仕事
- RDB以外のDB
英語
-
turn off
- 興味を失わせる、しらけさせる
-
paint oneself into a corner
- 自分の落ち度で困った状況に陥る
-
blunder
- 失敗
-
evocative
- 喚情的な
-
colloquially
- 口語的に
- 文中では、「SQL」を「シークウェル」と発音することについて言っている