新零售电商数据库设计(1)品类和参数表关系
产品和商品区别
iphone10就是一个产品,iphone 256g就是一个商品。SPU stand product unit 标准产品单位,描叙一个产品的各种特性。
SKU stock keeping unit 库存的计量单位,SKU是物理上不可分割的最小单元。B2C修改SKU对搜索权重影响不大,B2B修改SKU对搜索权重影响很大。
SKU如何和参数对应
如上衣品类不同参数不同,有颜色,领袖等。手机就有屏幕内存等不同参数。
采用
品类表和参数表,1vn解决每个频率参数不同问题。列如手机是品类表,内存,屏幕,cpu就是参数表。
产品表和品类表是1v1关系,产品表和商品表是1vn关系

因为没有比较好的免费ER图软件所以直接上SQL
品类表
/* Navicat Premium Data Transfer Source Server : localhost Source Server Type : MySQL Source Server Version : 50724 Source Host : localhost:3306 Source Schema : neti Target Server Type : MySQL Target Server Version : 50724 File Encoding : 65001 Date: 10/03/2020 08:26:17 */ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for t_spec_group -- ---------------------------- DROP TABLE IF EXISTS `t_spec_group`; CREATE TABLE `t_spec_group` ( `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', `spg_id` int(10) UNSIGNED NOT NULL COMMENT '品类编号', `name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '品类名称', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `unq_spg_id`(`spg_id`) USING BTREE, UNIQUE INDEX `unq_name`(`name`) USING BTREE, INDEX `idx_spg_id`(`spg_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '品类表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of t_spec_group -- ---------------------------- INSERT INTO `t_spec_group` VALUES (1, 10001, '手机'); INSERT INTO `t_spec_group` VALUES (2, 10002, '手机线'); INSERT INTO `t_spec_group` VALUES (3, 10003, '手机电池'); INSERT INTO `t_spec_group` VALUES (4, 11001, '液晶电视'); INSERT INTO `t_spec_group` VALUES (5, 11002, '投影电视'); SET FOREIGN_KEY_CHECKS = 1;
参数表
CREATE TABLE t_spec_param( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT '主键', spg_id INT UNSIGNED NOT NULL COMMENT '品类编号', spp_id INT UNSIGNED NOT NULL COMMENT '参数编号', `name` VARCHAR(200) NOT NULL COMMENT '参数名称', `numeric` BOOLEAN NOT NULL COMMENT '是否为数字参数', unit VARCHAR(200) COMMENT '单位(量词)', generic BOOLEAN NOT NULL COMMENT '是否为通用参数', searching BOOLEAN NOT NULL COMMENT '是否用于通用搜索', segements VARCHAR(500) COMMENT '参数值', is_delete BOOLEAN NOT NULL DEFAULT 0 COMMENT '是否删除', INDEX idx_spg_id(spg_id), INDEX idx_spp_id(spp_id) )COMMENT='参数表'; INSERT INTO `t_spec_param` VALUES (1, 10001, 1, 'CPU', 0, NULL, 1, 0, NULL, 0); INSERT INTO `t_spec_param` VALUES (2, 10001, 2, '运存', 1, 'GB', 1, 1, NULL, 0); INSERT INTO `t_spec_param` VALUES (3, 10001, 3, '内存', 1, 'GB', 1, 1, NULL, 0); INSERT INTO `t_spec_param` VALUES (4, 10001, 4, '屏幕尺寸', 1, '英寸', 1, 1, NULL, 0); INSERT INTO `t_spec_param` VALUES (5, 10001, 5, '电池', 1, '毫安时', 1, 0, NULL, 0); INSERT INTO `t_spec_param` VALUES (6, 11001, 1, '屏幕尺寸', 1, '英寸', 1, 1, NULL, 0); INSERT INTO `t_spec_param` VALUES (7, 11001, 2, '长度', 1, '厘米', 1, 0, NULL, 0); INSERT INTO `t_spec_param` VALUES (8, 11001, 3, '高度', 1, '厘米', 1, 0, NULL, 0); INSERT INTO `t_spec_param` VALUES (9, 11001, 4, '宽度', 1, '厘米', 1, 0, NULL, 0); INSERT INTO `t_spec_param` VALUES (10, 11001, 5, '分辨率', 0, '像素', 1, 1, '720P\\1080P\\4K\\8K', 0);
浙公网安备 33010602011771号