一个商品有如下基础属性,价格属性、档次属性,商品池属性,每种商品包含的商品池可能会不同。商品可以定义如下附加属性,额外赠送商品属性、用户属性,用户属性分为新用户、老用户、首次购买的用户,全体用户,还有时间属性,时间属性包含商品售卖的开始时间和结束时间。附加的每个属性可以单独配置,每个商品可以动态组合这些属性。怎么设计数据库表结构。
可以设计如下的数据库表结构:
- 商品表(products)
- 商品ID(product_id)
- 商品名称(product_name)
- 商品价格(price)
- 商品档次(level)
- 商品池属性(pool)
- 商品属性表(product_properties)
- 属性ID(property_id)
- 属性名称(property_name)
- 商品属性值表(product_property_values)
- 属性值ID(value_id)
- 属性值名称(value_name)
- 属性ID(property_id)
- 商品属性关联表(product_property_relations)
- 商品ID(product_id)
- 属性值ID(value_id)
- 用户属性表(user_properties)
- 属性ID(property_id)
- 属性名称(property_name)
- 用户属性值表(user_property_values)
- 属性值ID(value_id)
- 属性值名称(value_name)
- 属性ID(property_id)
- 用户属性关联表(user_property_relations)
- 用户ID(user_id)
- 属性值ID(value_id)
- 时间属性表(time_properties)
- 属性ID(property_id)
- 属性名称(property_name)
- 时间属性值表(time_property_values)
- 属性值ID(value_id)
- 属性值名称(value_name)
- 属性ID(property_id)
- 时间属性关联表(time_property_relations)
- 商品ID(product_id)
- 属性值ID(value_id)
- 额外赠送商品表(bonus_products)
- 商品ID(product_id)
- 额外赠送商品ID(bonus_product_id)
在这个数据库表结构中,每个商品可以动态组合商品属性、用户属性和时间属性,同时可以配置额外赠送商品属性。为了方便查询和筛选,商品属性、用户属性和时间属性都是单独的表,每个属性都有自己的属性值和关联表。商品表和用户表通过属性关联表进行关联,时间属性通过时间属性关联表进行关联,额外赠送商品通过额外赠送商品表进行关联。这样,就可以灵活地组合和查询商品属性、用户属性和时间属性了。
原文地址: https://www.cveoy.top/t/topic/zxf 著作权归作者所有。请勿转载和采集!