此问题已在此处有答案:
How to design a product table for many kinds of product where each product has many parameters(4个答案)
4天前关闭。
所以我有一个产品表,根据产品的不同,col可以有不同的值,例如:
产品DVD:SKU名称价格大小(MB)
产品手册:SKU名称价格重量
根据产品是“DVD,书或家具”,我不得不改变栏目
我想使用3个不同的表,但我认为它得到了丑陋的易读性的目的
此问题已在此处有答案:
How to design a product table for many kinds of product where each product has many parameters(4个答案)
4天前关闭。
所以我有一个产品表,根据产品的不同,col可以有不同的值,例如:
产品DVD:SKU名称价格大小(MB)
产品手册:SKU名称价格重量
根据产品是“DVD,书或家具”,我不得不改变栏目
我想使用3个不同的表,但我认为它得到了丑陋的易读性的目的
2条答案
按热度按时间qltillow1#
你可以创建'基本'
create table Products(Upc varchar(100),Description varchar(15),Price1 money).
另一个表用于“特定”功能,如
create table ProductFeatures(upc varchar(100),Param varchar(100),Value varchar(100).
但这种设计会遗漏数据类型。。
gwo2fgha2#
你正在寻找数据类型“sql_variant”,但不要去那里!sql_variant把事情搞砸了。我不记得具体的细节,但我记得,在路上,我踢自己(相当困难)使用它-你已经被警告。
我的建议是把它们都放到一个varchar中,然后在代码中对它们进行不同的处理。如果需要,可以创建根据产品类型将列转换为特定数据类型的视图。
另一种在许多情况下都有效的好方法是为Product表创建一个子表来保存非统一数据…即具有AttributeType和AttributeValue列的Product_Attribute表。子表的好处是,您必须跟踪的产品属性只会随着系统的成熟而增长。您已经为子表的这种增长做好了准备。