纵向存储的数据在计算时遇到问题
我用同一个表来保存所有产品的一些属性信息;但这些属性会因产品的不同有增有减少。
所以我将表结构设计如下:
ProductProperty
(
ProductId int,
PropertyId int,
PropertyValue nvarchar(50),
PropertyDataType nvarchar(50) --string, int, datetime
)
如果需要根据产品的一些属性做些计算,
就需要将用于计算的属性取出来,
即用一个表来返回一个属性进行计算,並且屬性ID需要写死;类似这样:
select PropertyValue from ProductProperty where PropertyId = 'Property1'
以上设计在存储数据时很方便,产品增加属性我不需要修改表结构;
但计算时有些麻烦,各位这样的设计是否可取?特别是有类似尝试的朋友能给写意见或建议!
亟待您的回复。