SQLアンチパターン勉強会

# はじめに

![cover](http://www.oreilly.co.jp/books/images/picture_large978-4-87311-589-4.jpeg)

## 目的

この本で勉強会する目的

* 語彙のシェア
 * パターンの名前
 * 「あ、これナイーブツリーだねー」みたいな
* Schema設計力向上
 * アンチパターンになっていないか?アンチパターンを使っているとしたらどうして?を設計段階から意識できるようにする
 * アンチパターンを使ってもいい場合というのも本の中にでてくる

## 対象範囲ではないもの

この本では扱っていないこと(他の書籍で勉強してね☆)

* SQL構文について
 * SQLの構文や用語に関する説明
* 正規化云々
* パフォーマンス、スケーラビリティ、最適化
 * [実践ハイパフォーマンスMySQL](http://www.oreilly.co.jp/books/9784873116389/)
* DB管理や運用
* SQL、RDBMS以外の代替技術について
 * KVS
 * MapReduce

## アンチパターンとは

問題の解決を意図しながらも、しばしば他の問題を生じさせてしまうような技法

# すすめ方

* 週一で一章か二章毎
 * 章毎に担当一人がまとめる
 * 目安として2日前には Qiita へ投稿して周知する
 * 当日発表＆質疑応答などする
* それ以外の人は予習はしてくる
 * ひと通り目を通しておく程度でよいです
 * 読んでいて分からなかったこと、疑問に思ったことを勉強会にもってきてもらうと、とてもよいです☆
* 欠席する場合
 * 事前に一報お願いしますー
 * 無断欠席ダメ、ゼッタイ＞＜
* 発表者で欠席する場合
 * 基本スキップなしでいきたいので、代役をたてることになります
 * 自分かくちくら@TAさんにはやめにご相談ください!
* 資料は、Qiitaに書くようにしてください
 * publicでやるので色々注意はお願いします><

# Index

## 1部 データベース論理設計のアンチパターン

* 1章 [Jaywalking(信号無視)](http://qiita.com/iwata@github/items/f33490d34dd1400b166e)
* 2章 [Naive Trees(素朴な木)](http://qiita.com/hirashunshun/items/06adf4f42f03a9f3b63d)
* 3章 [ID Required(とりあえずID)](http://qiita.com/fatomy/items/cf048fc0461224ddfbd7)
* 4章 [Keyless Entry(外部キー嫌い)](http://qiita.com/kpure/items/6b5676873f901a0ecc7b)
* 5章 [Entity-Attribute-Value](http://qiita.com/deme0607/items/a89319014bc007f09f5c)
* 6章 [Polymorphic Associations](http://qiita.com/suguru/items/d6d3ebe7b867c5009231)
* 7章 [Multicolumn Attributes(複数列属性)](http://qiita.com/mizunokura/items/a9be12e0eddcf5d90f07)
* 8章 [Metadata Tribbles(メタデータ大増殖)](http://qiita.com/Aiita/items/1eda0a10a6aa305379b5)

## 2部 データベース物理設計のアンチパターン

* 9章 [Rounding Errors(丸め誤差)](http://qiita.com/irohanihoheto/items/01b2b8511507ca0dece3)
* 10章 [31 Flavors(31のフレーバー)](http://qiita.com/Inagawa/items/6e9745d2598aa713a1f3)
* 11章 [Phantom Files(幻のファイル)](http://qiita.com/kzhr/items/aaad744f8e06abc16949)
* 12章 [Index Shotgun(闇雲インデックス)](http://qiita.com/mizunokura/items/fbe8dbdca278764985df)

## 3部 クエリのアンチパターン

* 13章 [Fear of the Unknown(恐怖のunknown)](http://qiita.com/chenjunyan/items/08523c0e749d6e4329b5)
* 14章 [Ambiguous Groups(曖昧なグループ)](http://qiita.com/Nodoka0511/items/1868f47518abad7dc0e0)
* 15章 [Random Selection](http://qiita.com/takahata88/items/d1777002a82ff65c34bd)
* 16章 [Poor Man's Search Engine(貧者のサーチエンジン)](http://qiita.com/avvmoto/items/988fa795f10cf351287a)
* 17章 [Spaghetti Query](http://qiita.com/uniworldson/items/10c61e15f374598579e1)
* 18章 [Implicit Columns(暗黙の列)](http://qiita.com/delphinus35/items/0b3fc9001a58b9f07ebd)

## 4部 アプリケーション開発のアンチパターン

* 19章 [Readable Passowrds(読み取り可能パスワード)](http://qiita.com/iwata@github/items/5ddda09b1ae849a14ed3)
* 20章 [SQL Injection](http://qiita.com/hirashunshun/items/4eb83b2b40a239fbb52d)
* 21章 [Pseudokey Neat-Freak(疑似キー潔癖症)](http://qiita.com/fatomy/items/42f33246b23d40859f46)
* 22章 [See No Evil(臭いものに蓋)](http://qiita.com/deme0607/items/dfbf3b252a6b3cc33852)
* 23章 [Diplomatic Immunity(外交特権)](http://qiita.com/suguru/items/283ff80046485c2ba785)
* 24章 [Magic Beans](http://qiita.com/Aiita/items/a088d945461105198d11)
 * cf. http://www.slideshare.net/asuenami/ss-42025624
* 25章 砂の城

###おまけ
[SQLアンチパターン斜め読み](http://qiita.com/mizunokura/items/90c11a209b4cdeb56a49)