我正在使用EAV进行数据库设计。当我尝试使用具有多个值的属性建模实体时,我遇到了一个问题?
例如
实体
id | name | description
-- | ---- | ------------
1 | configuration1 | configuration1
属性
id | entityId | name | type
-- | -------- | ---- | ----
1 | 1 | att1 | string
2 | 1 | att2 | int
3 | 1 | att3 | List<String> (How will i model this?)
值
id | attributeId | value
-- | ----------- | -----
1 | 1 | a
2 | 2 | 1
3 | 3 | b
4 | 3 | c
5 | 3 | d
这是处理值列表的正确方法吗?
请提供任何有用的链接来建模吗?
另外两个问题
1)类型列表是否正确?我想确保当一个属性有多个值时,我会将类型赋予List
2)当属性对应于对象时,数据库设计将如何变化?例如,用户有地址..我将如何处理复合参数?
如果您能为我提供粗略的表格表示或图表
,那就太棒了由于
谢加
答案 0 :(得分:7)