前面我们说到了不同分类商品的属性是不同的。
图书:作者、出版社、出版时间、ISBN、开本
比如《Java从入门到精通》分为16开和32开,价格就不同了。

修改属性表

我们要加个字段attr_forprice,代表该属性是否拆分价格,默认是“否”。如果用户选中此项,则要让用户新增自定义属性。

DROP TABLE IF EXISTS `prod_class_attr`;
CREATE TABLE `prod_class_attr` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`attr_name` varchar(100) DEFAULT NULL COMMENT '属性名称',`attr_note` varchar(100) DEFAULT NULL COMMENT '属性备注',`attr_pid` int(11) DEFAULT '0' COMMENT '属性父 id',`prod_classid` int(11) DEFAULT NULL COMMENT '商品分类id',`attr_forprice` tinyint(4) DEFAULT '0',PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4;
INSERT INTO `prod_class_attr` VALUES ('1', 'press', '出版社', '0', '1', '0'), ('2', 'author', '作者', '0', '1', '0'), ('3', 'format', '开本', '0', '1', '1'), ('4', 'pressdate', '出版时间', '0', '1', '0'), ('5', 'technics', '工艺', '0', '2', '0'), ('6', 'style', '风格', '0', '2', '0'), ('7', 'target', '适用对象', '0', '2', '0'), ('8', 'material', '材质', '0', '2', '0');

同时还需要修改商品属性表prod_attr
因为同一个属性可能有多个值:开本有16开和32开。所以prod_idattr_id不是是主键。

DROP TABLE IF EXISTS `prod_attr`;
CREATE TABLE `prod_attr` (`prod_id` int(11) NOT NULL,`attr_id` int(11) NOT NULL,`attr_value` varchar(100) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;INSERT INTO `prod_attr` VALUES ('3', '1', '中信出版社'), ('3', '2', '刘勇'), ('3', '3', '16开'), ('3', '3', '32开');

思考题

既然属性已经分开了,那么商品价格表应该如何设计呢?

商品系统设计(四):商品属性设计之自定义属性相关推荐

  1. mysql颠覆实战笔记(五)--商品系统设计(二):定时更新商品总点击量

    继续回到沈老师的MYSQL颠覆实战,首先回顾下上一节课的内容,请大家会看下上节课写的存储过程. 打开prod_clicklog表, 我们只要把日期(不含时分秒)的部分存在数据库中, 如果同一日期有相同 ...

  2. 电商系统-商品规格与销售属性的研究及数据库设计

    摘要:在电商系统中,商品规格与销售属性往往是一类较为复杂的数据结构,不仅仅在于数据的查询存储上,还在于数据库中的属性数据的查询.与Java Bean的转换等.本文将从属性数据的展示为起点,数据库的设计 ...

  3. 电商系统设计之商品(上)

    电商大伙每天都在用,类似某猫,某狗等. 电商系统设计看似复杂又很简单,看似简单又很复杂.本章适合初级工程师及中级工程师细看,大佬请随意 1. 前言 商品的设计在电商系统中占据重要地位,如何设计出高扩展 ...

  4. 商品领域ddd_DDD 领域驱动设计-商品建模之路

    1. 业务流程 业务场景:发布商品 业务场景就上面四个字,看起来很简单,但其实具体分析起来,所包含的东西还是蛮多的,整个发布商品过程,就像一个商品诞生的生命周期一样,需要经历各个阶段和过程,直到商品正 ...

  5. 电商系统设计之商品(下)

    电商大伙每天都在用,类似某猫,某狗等. 电商系统设计看似复杂又很简单,看似简单又很复杂 本章适合初级工程师及中级工程师细看,大佬请随意 1. 前言 商品系统与订单系统(交易系统)是相铺相成的,当买家购 ...

  6. 电商系统设计之商品 (下)

    电商大伙每天都在用,类似某猫,某狗等. 电商系统设计看似复杂又很简单,看似简单又很复杂 本章适合初级工程师及中级工程师细看,大佬请随意 前言 商品系统与订单系统(交易系统)是相铺相成的,当买家购买商品 ...

  7. 基于threejs的商品VR展示平台的设计与实现思路

    目录 基于threejs的商品VR展示平台的设计与实现思路 前言 总体开发方案设计 总体开发设计思维导图 模型制作模块 前端展示模块 存储模块 后端管理模块 后台管理实现 商品模型制作 商品模型前期准 ...

  8. java产品分类和管理_Java生鲜电商平台-商品无限极目录的设计与架构

    Java生鲜电商平台-商品无限极目录的设计与架构 说明:任何一个商品都应该是先属于某一个目录,然后在目录中添加商品,目录理论上最多支持三级,因为级别太多,不容易管理.但是设计中需要设计无限制的级别. ...

  9. 4918字,详解商品系统的存储架构设计

    导读:本文将探讨如何设计一个快速.可靠的商品系统存储架构. 作者:李玥 来源:大数据DT(ID:hzdashuju) 电商的商品系统所包含的主要功能就是增.删.改.查商品信息,业务逻辑比较简单,支撑的 ...

最新文章

  1. sql查询父节点所有子节点id_5招搞定SQL棘手问题,同事看到直呼“内行”
  2. python代码块-python一些常用代码块
  3. Abiword对话框资源
  4. ITK:计算Sigmoid
  5. composer升级_Composer-命令简介
  6. 卡巴斯基误杀奇虎360
  7. 正经程序员是怎么完美度过元旦假期的?
  8. IntelliJ IDEA 远程deBug jar包
  9. 人工智能影响学习的5种方式
  10. mysql复制(高可用架构方案的基础)
  11. Android 四大组件学习之Service五
  12. html二维数组查找车票,火车票售票系统
  13. 在eclipse中建立java项目
  14. IP地址,子网掩码,网络地址,直接广播地址,网络位主机位的计算
  15. kali 安装netspeed 网络流量监视器
  16. APP支付支付签名验证失败
  17. vm虚拟机中搭建Linux
  18. 如何使excel实现汉字转拼音及获取大写拼音并保存为常用函数
  19. Electron主进程渲染进程间通信的四种方式
  20. Uniapp低功耗蓝牙操作实例

热门文章

  1. 打车时间联级选择插件,时间联动选择,首汽打车时间选择插件
  2. 设备能力指数cmk计算公式_有事业编制退休金的计算公式
  3. 骨传导耳机十大品牌排行榜,骨传导耳机评测,骨传导耳机选购指南
  4. C++ 使用folly的异步回调功能时出现的错误处理
  5. access统计的几个常用函数
  6. 【Qt】Qt多线程开发—实现多线程设计的四种方法
  7. Perfetto分析进阶
  8. Linux安装及卸载Nginx
  9. 过好属于自己生活的每一天
  10. python--装饰器