日期:2014-05-17  浏览次数:20615 次

这样的交叉分类如何设计数据库
如这个网站www.shoes.com
大家会如何设计呢,主要是分类表和产品表。
我是这样设置的
一个品牌表brand,一个用户对象表(women,girl,men这些)user_scope,还有一个产品分类表category
brand和user_scope都没有层级的概念,category需要添加一个level和parent字段。
然后是brand,user_scope,category之间的两两联系表。
brand_scope {id,brand_id,scope_id}
brand_category {id,brand_id,category_id,levl(标识category的层级)}
scope_category {id,scope_id,category_id,levl(标识category的层级)}
产品使用eav的结构,然后有其中3个字段对应品牌,用户对象,产品分类这样子


产品属性表product_option,{option_id,title,sku}
产品属性值表product_option_value{option_value_id,option_id,value},
产品属性联系表product_to_option{product_id,option_id}

这样设置有什么问题吗

------解决方案--------------------
产品属性联系表product_to_option{product_id,option_value_id}

应该是这样才对吧。
------解决方案--------------------
brand,user_scope,category之间的两两联系表 
应该可以当做一个index表。一般情况下不去更新,只有用户后台点击更新index的时候再通过产品表中的brand,scope,category字段去更新index表。。。