电商系统,商品属性表和功能设计,可用于各种实体的属性

本文介绍了电商系统中商品属性的设计,提出了一种通用属性体系,能够适应不同实体的属性需求。该体系支持动态的key/value形式,并详细阐述了数据库结构,包括`property_key`、`property_key_definition`和`property_value`字段。文章还讨论了程序设计思路,数据类型以插件模式实现,支持MySQL等数据类型,并提供了数据库设计文件的GitHub链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

定义一种通用的属性体系,可以表示任何实体的属性,同时也像数据库列一样,可以为属性指定数据类型.在电商系统中,
每个商品都有多个属性,并且这些属性不能提前设定,它们以无模式的key/value形式存在,我们可以简单的只保存key/value,
也可以把这种需求抽象成更通用,功能更强大的属性体系,这样就可以适用更多的场景.

数据库

数据库设计

property_key: 属性key

property_key_definition:属性key定义,就好像MySQL column definition

property_value:属性值

 

数据库解析

  1. property_key表的owner_type和owner_identifier这两个字段唯一确定一个实体,这种开放的设计,可以表示任何实体,因此,这种设计可以表示任何实体的属性,比如商品的属性,店铺的属性等等
  2. 像定义MySQL table column一样,可以为属性设置definition,查看property_key_definition表的设计,以及这个表的data_type字段
  3. 查看property_key的type字段,为属性定义type。假设一件衣服有【颜色=红色】,【尺寸=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值