SQLアンチパターンを読み始めたので、1つ1つ書いてのメモです
目的
- データベースのアーキテクチャを単純化する
- 参照整合性は、データベースの設計と運用で大切
- 仕事で使ってたDBがMyISAMだった...(外部キーが使えない...今はinnoDB)
アンチパターン
- 完ぺきなコードを前提にしている
- データの関連づけを維持するためのコードを書くことになり、完璧に動いていることが必要になるから
- ミスを調べなければならない
アンチパターンの見つけ方
- 「あるテーブルには存在するけど、もう 1 つのテーブルには存在しない値を調べるクエリは、どう書けば いい?」
- 聞いたことある...
用いてもいいパターン
MyISAM...
解決策
- 外部キー制約を宣言する
-ポカヨケ - カスケード更新
- 親の行の更新や削除が可能になり、さらにその行を参照しているあらゆる子の 行もデータベースが適切に処理してくれる
感想
仕事で使ってたDBがMyISAMだった...