商品系统设计(四):商品属性设计之自定义属性
来源:互联网 发布:虚拟照相软件 编辑:程序博客网 时间:2024/04/30 09:30
前面我们说到了不同分类商品的属性是不同的。
图书:作者、出版社、出版时间、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_id
和attr_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开');
思考题
既然属性已经分开了,那么商品价格表应该如何设计呢?
0 0
- 商品系统设计(四):商品属性设计之自定义属性
- 商品系统设计(三):商品属性设计之固定属性
- mysql笔记(六)--商品系统设计(三):商品属性设计之固定属性
- 商品属性设计
- 关于商品属性设计
- 淘宝商品属性设计
- 商品属性表设计
- 商城数据库设计--商品属性
- 如何设计sql数据库,以实现商品自定义属性
- 商品浏览系统之商品实体类设计
- 分类信息,商城商品自定义属性设计,数据入库,检索规则
- mysq笔记(四)--商品系统设计(一):商品主表设计
- MyCnCart之商品属性组
- 从淘宝数据结构来看电子商务中商品属性设计
- 从淘宝数据结构来看电子商务中商品属性设计
- 再从淘宝数据结构来看电子商务中商品属性设计
- 从淘宝数据结构来看电子商务中商品属性设计
- 再从淘宝数据结构来看电子商务中商品属性设计
- AndroidStudio使用进阶二:搭建自己的maven私服,并使用Gradle统一依赖管理
- Mybatis工作机制源码分析—初始化—config配置文件解析
- Mhook_SetHook函数流程
- 大数据的一指禅--Hcatalog
- Android开发-自定义View-AndroidStudio(二十三)onTouchEvent触摸事件
- 商品系统设计(四):商品属性设计之自定义属性
- 观察者模式(结合代理模式)
- Navicat与PLSQL Developer安装时需要oracle client
- TProfiler工具的使用
- 【开源毕设】一款精美的家校互动APP分享——爱吖校推 [你关注的,我们才推](持续开源更新2)
- unity3d,跟着大佬做自己的第一个游戏(第一步,游戏模型制作)
- FloatingDecoration:五行代码实现悬浮导航栏
- SpringCloud微服务化(一)-服务注册与发现
- Debian系统开机启动过程以及如何自定义开机自启动脚本