2015-12-28 94 views
1

我已經看到了這個設計範例一對夫婦的地方,往往存放一定的不可預知數據時(自定義用戶的偏好,諸如此類的事情),其中表只有4列:SQL表設計的術語?

row_id - unique 
item_id - indexed, userid or whatever "owns" the preference 
name - name of the field 
value - field value 

所以它基本上是非結構化數據存儲在SQL中。這種風格的桌子有沒有術語?這可能是解決我遇到的問題的正確方法,但我不想在沒有更多研究的情況下使用它,並且很難無名研究

+0

'鍵值對','鏈表' –

+2

我相信這是實體屬性值模型。基本上,你將你的數據與你的元數據混合在一起,這可能是一個有風險的方法 - oops @gordonlinoff擊敗了我! – CollinD

回答

6

這被稱爲實體屬性值模型(EAV)。 Wikipedia(當然)是一個很好的開始。

在關係數據庫中使用EAV時有一些限制。特別是,值的類型傾向於是字符串,而不管自然類型如何。另外,外鍵關係在某些數據庫中很難表達。