SQLアンチパターン
Amazon.co.jp: SQLアンチパターン : Bill Karwin, 和田 卓人, 和田 省二, 児島 修: 本
Amazon.co.jp: SQLアンチパターン : Bill Karwin, 和田 卓人, 和田 省二, 児島 修: 本
- ジェイウォーク
- ナイーブツリー
- IDリクワイアド
- キーレスエントリ
- EAV(エンティティ・アトリビュート・バリュー)
- ポリモーフィック関連
- マルチカラムアトリビュート
- メタデータトリブル
- ラウンディングエラー
- サーティワンフレーバー
- ファントムファイル
- インデックスショットガン
- フィア・オブ・ジ・アンノウン
- アンビギュアスグループ
- ランダムセレクション
- プアマンズ・サーチエンジン
- スパゲッティクエリ
- インプリシットカラム
- リーダブルパスワード
- SQLインジェクション
- シュードキー・ニートフリーク
- シー・ノー・エビル
- ディプロマティック・イミュニティ
- マジックビーンズ
- 砂の城
データベースの不吉な臭い
Amazon.co.jp
- 複数の目的に使われるカラム
- 複数の目的に使われるテーブル
- 冗長なデータ
- カラムの多すぎるテーブル
- 行の多すぎるテーブル
- 「スマート」カラム
- 変更の恐怖
追加のアンチパタン
- OTLT(One True Lookup Table)
- 複合主キーのまま物理テーブル(人工主キーをつけるのがよい)
ER図
- リソースエンティティは固いものから軟らかいものの順に、最上段に左から右に向けて並べる
- イベントエンティティは、業務の流れにそってレコードが発生する順に左上から右下に向けてならべる
- どんなに大きな紙に小さな文字になっても、1枚にする
思うところ
- 「正規化」「直交化」を正しく行う
- 「正規化」「直交化」できないものもあることを認識する
- 業務に対する本質的な理解をデータモデルに込める
- 業務の本質的な理解に基づいたデータモデルなら、画面とのインピーダンスミスマッチは発生しない
- カラム名は英語にする(ローマ字はやだ)