勵志

勵志人生知識庫

eav模型

EAV模型,全稱Entity–Attribute–Value(實體-屬性-值),是一種資料庫模型設計方法。它的主要特點是能夠動態地為數據模型增加或移除屬性,這使得業務擴展和靈活性變得容易。在傳統的關係表模型中,所有的屬性都是表的欄位,這雖然使得數據讀取簡單,但在業務變更時,屬性的增加或刪除需要修改資料庫結構,操作繁瑣且有一定風險。而EAV模型將屬性以記錄的形式存放在數據表中,屬性的增刪只需在數據表中相應記錄進行操作,無需修改資料庫結構。

EAV模型由三個表組成:

Entity表:存儲實體的基本信息,如實體ID和名稱。

Attribute表:存儲實體的屬性信息,如屬性名稱。

Value表:存儲屬性值的具體信息。

通過將實體ID、屬性名稱和屬性值分散存儲在不同的表中,EAV模型可以輕鬆地添加、刪除或修改實體的屬性,而無需更改資料庫結構。

EAV模型適用於屬性數量可能出現波動的情況,尤其是當許多不同的屬性可用來描述一個對象,但實際上只有很少的屬性適用於每個人時。在這種情況下,EAV模型可以避免創建大量空的列,因為它只存儲非空的值。EAV表通常被稱為「長瘦」的,意味著它有多個行來描述實體,而列相對較少。