generated at
2/17/2025, 11:59:29 PM
EAV
Entity Attribute Value
イメージ
id
key
value
1234
status
"NEW"
1234
version
"1.0"
1234
description
"失敗する"
1235
status
"NEW"
1235
name
"hoge"
value
columnの型は超汎用的にするためにstringにせざるを得ない
どれが必須の属性なのか判断できない
key
もtypoしうる
version
、
vesion
制約も加えづらい
NOT NULL制約
外部キー制約
ではアンチパターンとして紹介されている
回避策
OR型をtable上でどう表現するか
Serialized LOB
参考
/mrsekut-book-4873115892/090 (5章 EAV (エンティティ・アトリビュート・バリュー))
OR型をtable上でどう表現するか
の問題に対するアンチパターンとして紹介されている
/mrsekut-book-4297104083/105
/mrsekut-book-4297140101/288
EAVは別にアンチパターンでもない
https://en.wikipedia.org/wiki/Entity–attribute–value_model