商品 分类 属性 表设计 库存-阿里云开发者社区

开发者社区> 航空母舰> 正文

商品 分类 属性 表设计 库存

简介:
+关注继续查看

根据不同的商品分类选择,特殊商品出现不同 扩展属性/规格,如:衣服出现尺码,颜色

1.商品分类表

Java代码  收藏代码
  1. CREATE TABLE `category` (  
  2.   `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '分类ID',  
  3.   `pid` int(11) DEFAULT '0' COMMENT '分类父ID',  
  4.   `level` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '层数',  
  5.   `name` varchar(100) DEFAULT NULL COMMENT '分类名称',  
  6.   `seo_title` varchar(20) DEFAULT NULL COMMENT 'SEO标题',  
  7.   `seo_keyword` varchar(20) DEFAULT NULL COMMENT 'SEO关键字',  
  8.   `seo_desc` varchar(50) DEFAULT NULL COMMENT 'SEO描述',  
  9.   `cate_tree` varchar(100) DEFAULT NULL COMMENT '分类树形结构',  
  10.   `listorder` int(11) DEFAULT '0' COMMENT '排序',  
  11.   PRIMARY KEY (`id`),  
  12.   KEY `pid` (`pid`)  
  13. ) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;  
  14.   
  15. INSERT INTO `category` (`id`, `pid`, `level`, `name`, `seo_title`, `seo_keyword`, `seo_desc`, `cate_tree`, `listorder`)  
  16. VALUES  
  17. (101'日常所需''''''''1'0),  
  18. (212'注册公司''''''''1-2'0),  
  19. (323'国内游''''''''1-2-3'0),  
  20. (434'上海游''''''''1-2-3-4'0),  
  21. (512'企业开户''''''''1-5'0),  
  22. (601'办公硬件''''''''6'0);  

分隔符要用 ‘-’,不要用下划线 ‘_’

 

2.分类属性表(核心)

Java代码  收藏代码
  1. CREATE TABLE `category_fields` (  
  2.   `field_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '分类属性表',  
  3.   `category_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '分类ID',  
  4.   `field_name` varchar(100) NOT NULL DEFAULT '' COMMENT '属性code',  
  5.   `title` varchar(255) NOT NULL DEFAULT '' COMMENT '名称',  
  6.   `description` varchar(255) NOT NULL DEFAULT '' COMMENT '描叙',  
  7.   `required` enum('no','yes') NOT NULL DEFAULT 'no' COMMENT '是否必填',  
  8.   `formtype` varchar(255) NOT NULL DEFAULT '' COMMENT '表单类型',  
  9.   `choices` text NOT NULL COMMENT '值选项',  
  10.   `sort` int(11) NOT NULL DEFAULT '0' COMMENT '排序',  
  11.   `unit` varchar(10) DEFAULT NULL COMMENT '单位',  
  12.   `min` int(11) unsigned DEFAULT NULL COMMENT '文本框时的最小值',  
  13.   `max` int(11) unsigned DEFAULT NULL COMMENT '文本框时的最大值',  
  14.   PRIMARY KEY (`field_id`)  
  15. ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;  
  16.   
  17. INSERT INTO `category_fields` (`field_id`, `category_id`, `field_name`, `title`, `description`, `required`, `formtype`, `choices`, `sort`, `unit`, `min`, `max`)  
  18. VALUES  
  19. (11'renjunyusuan''人均预算''''no''text'''0'元'12),  
  20. (21'renshu''旅游人数''''no''text'''0'', NULL, NULL),  
  21. (31'daogou''允许导购''''no''radio''是 否'0'', NULL, NULL),  
  22. (41'days''预计天数''''no''checkbox''2天1夜 3天2夜'0'', NULL, NULL);  


 3.商品属性值表

Java代码  收藏代码
  1. CREATE TABLE `mall_product_field_value` (  
  2.   `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '商品属性值',  
  3.   `product_id` int(11) NOT NULL DEFAULT '0' COMMENT '商品ID',  
  4.   `field_id` int(11) NOT NULL DEFAULT '0' COMMENT '属性ID',  
  5.   `value` text COMMENT '属性值',  
  6.   PRIMARY KEY (`id`)  
  7. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  

 

二规格表

Java代码  收藏代码
  1. CREATE TABLE `catalog_standard` (  
  2.   `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '分类规格表',  
  3.   `pid` int(11) NOT NULL DEFAULT '0',  
  4.   `level` int(11) NOT NULL DEFAULT '1',  
  5.   `catalog_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '分类ID',  
  6.   `name` varchar(100) NOT NULL DEFAULT '' COMMENT '规格code',  
  7.   `value` varchar(100) NOT NULL DEFAULT '' COMMENT '值选项',  
  8.   PRIMARY KEY (`id`)  
  9. ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;  
  10.   
  11. INSERT INTO `catalog_standard` (`id`, `pid`, `level`, `catalog_id`, `name`, `value`)  
  12. VALUES  
  13. (10135'color''颜色'),  
  14. (20135'size''尺码'),  
  15. (31235'red''红色'),  
  16. (41235'black''黑色'),  
  17. (52235'S''S'),  
  18. (62235'M''M'),  
  19. (72235'L''L');  

规格checkbox勾选值表

Java代码  收藏代码
  1. CREATE TABLE `mall_product_standard_value` (  
  2.   `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '商品规格值',  
  3.   `product_id` int(11) NOT NULL DEFAULT '0' COMMENT '产品ID',  
  4.   `root_standard_id` int(11) NOT NULL DEFAULT '0' COMMENT 'level=1的StandardID',  
  5.   `standard_id` varchar(100) NOT NULL DEFAULT '0' COMMENT '规格ID',  
  6.   `value` varchar(100) NOT NULL DEFAULT '' COMMENT '值',  
  7.   PRIMARY KEY (`id`)  
  8. ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;  
  9.   
  10. INSERT INTO `mall_product_standard_value` (`id`, `product_id`, `root_standard_id`, `standard_id`, `value`)  
  11. VALUES  
  12. (111'3''红色1'),  
  13. (211'4''黑色'),  
  14. (312'5''S222')  

规格勾选后,js生成不同规格组合的表单(价格/库存/货号),修改勾选规格名称,表单的规格名称也随之变化商品的基础属性库存不允许填写,库存是自动加和的

 

不同规则选项组合表

Java代码  收藏代码
  1. CREATE TABLE `mall_product_standard_value_group` (  
  2.   `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '商品规则组合值',  
  3.   `product_id` int(11) NOT NULL DEFAULT '0' COMMENT '产品ID',  
  4.   `standard_ids` varchar(100) DEFAULT NULL COMMENT '规格组合standard_value_ids',  
  5.   `inventory` int(11) NOT NULL DEFAULT '0' COMMENT '库存',  
  6.   `price` int(11) NOT NULL DEFAULT '0.00' COMMENT '价格(分)',  
  7.   `sku` varchar(60) DEFAULT NULL COMMENT '货号',  
  8.   PRIMARY KEY (`id`),  
  9.   UNIQUE KEY `standard_group` (`standard_ids`,`product_id`)  
  10. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;   
数组排列组合 
Java代码  收藏代码
  1. <script>  
  2.     function test() {  
  3.         var temparr = [  
  4.             ["M""XL"],  
  5.             ["红色""白色"],  
  6.             ["长""短"],  
  7.             ["1""2"],  
  8.             ["A""B"],  
  9.             ["无""有"]  
  10.         ];  
  11.         var ret = doExchange(temparr);  
  12.         document.write("共有:" + ret.length + "种组合!<br/>");  
  13.         for (var i = 0; i < ret.length; i++) {  
  14.             document.write(ret[i] + "<br/>");  
  15.         }  
  16.     }  
  17.     function doExchange(doubleArrays) {  
  18.         var len = doubleArrays.length;  
  19.         if (len >= 2) {  
  20.             var len1 = doubleArrays[0].length;  
  21.             var len2 = doubleArrays[1].length;  
  22.             var newlen = len1 * len2;  
  23.             var temp = new Array(newlen);  
  24.             var index = 0;  
  25.             for (var i = 0; i < len1; i++) {  
  26.                 for (var j = 0; j < len2; j++) {  
  27.                     temp[index] = doubleArrays[0][i] + ',' + doubleArrays[1][j];  
  28.                     index++;  
  29.                 }  
  30.             }  
  31.             var newArray = new Array(len - 1);  
  32.             for (var i = 2; i < len; i++) {  
  33.                 newArray[i - 1] = doubleArrays[i];  
  34.             }  
  35.             newArray[0] = temp;  
  36.             return doExchange(newArray);  
  37.         } else if (len == 1) {  
  38.             return doubleArrays[0];  
  39.         } else {  
  40.             return doubleArrays;  
  41.         }  
  42.     }  
  43.     test();  
  44. </script>  
 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《Effective Objective-C 2.0》4、Objective-C类的属性
1、属性——property Objective-C的属性用于封装对象之中的数据,其作用同类的数据成员类似,但是所起到的作用远远大于普通的数据成员。
744 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
7003 0
css 常用属性、布局
文本 color //颜色名表示。如white、gold等。还可以rgb、rgba。a表示透明程度,[0,1]=[完全透明,不透明]。我喜欢rgb(255,0,128)。 text-decoration  //文本修饰,underline为下划线,line-through为删除线 text-align  //对齐方式,居中就是center。字体 font-family //字体系列
1069 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7828 0
C语言及程序设计进阶例程-29 枚举类型及其应用
贺老师教学链接 C语言及程序设计进阶 本课讲解 He先生方案一:用整型表示品牌、颜色 #include &lt;stdio.h&gt; int main( ) { int brand,color; //brand=0,1,2分别表示Lavida、Tiggo和Skoda //color=0,1,2分别表示红黑白 for(color=0; c
799 0
iOS网络编程之五——请求回执类NSURLResponse属性简介
iOS网络编程之五——请求回执类NSURLResponse属性简介
11 0
+关注
514
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载