新零售系统mysql设计(供应商表 供应商关联商品表)
原创
©著作权归作者所有:来自51CTO博客作者陈业贵的博客的原创作品,请联系作者获取转载授权,否则将追究法律责任
作者:陈业贵
文章目录
- 解析(供应商表)
- 字段:
- 类型:
- 索引
- sql(供货商关联商品表)
- 解析:
- PRIMARY key(supplier_id,sku_id)
- 数据
sql(供应商表)
解析(供应商表)
字段:
举个例子。一个供应商是不是得有供应商编号呀。就好比公司的工号一样呀。供应商的名字也要有对吧。那供应商的类型是那些。解释:供应商只是一类的统称。你可以是个人的供应商 厂家的,代理商。
那这个供应商得有联系人+联系电话字段吧。不然联系谁进货呢是吧。如果说进货了是不是得打钱给供应商。所以得有开户银行名称。(比如某某银行)还要有银行账号赚钱过去吧。status字段代表供应商的状态.1可用,2不可用
类型:
凡是名称编号都用varchar,得看现实生活中的比如账号字符长不长。长的话,使用大点varchar
索引
INDEX idx_code(`code`),
INDEX idx_type(type),
INDEX idx_status(`status`),
UNIQUE un_code(`code`)
搜索快一点。其中供货商的编号是唯一的。必须的。不然找不对人.其他的因为是搜索字段加索引快一点.
create table t_supplier(
id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT "主键",
`code` varchar(200) not null COMMENT "供应商编号",
`name` varchar(200) not null COMMENT "供应商名称",
type tinyint unsigned not null COMMENT "类型:1厂家,2代理商,3个人",
link_man varchar(20) not null COMMENT "联系人",
tel varchar(20) not null COMMENT "联系电话",
address varchar(200) not null COMMENT "联系地址",
bank_name varchar(200) COMMENT "开户银行名称",
bank_account varchar(200) COMMENT "银行账号",
`status` tinyint unsigned not null COMMENT "状态:1可用,2不可用",
INDEX idx_code(`code`),
INDEX idx_type(type),
INDEX idx_status(`status`),
UNIQUE un_code(`code`)
) COMMENT="供应商表";
数据
sql(商品表)
解析(商品表)
举个例子:
sku商品表
是不是得有id自增代表不用手动创建是吧
spu_id是不是的有。因为你这样商品是哪一个产品下的是吧。比如小米手机产品。商品是各种类型颜色。。。。的小米手机十八
商品标题是不是的有。因为介绍这个商品呀
images是不是应该一般的有。因为图片能勾起人人们的购买欲,.
price是不是的有。不说比如要买这个手机多少钱的吗是吧
param是不是的有。各种颜色类型什么的呀
是否上架是否有效是不是也得有。
添加修改时间是不是也得有.
CREATE table t_sku(
id int unsigned PRIMARY key AUTO_INCREMENT COMMENT "主键",
spu_id int unsigned not null COMMENT "产品id",
title varchar(200) not null COMMENT "商品标题",
images json comment "商品图片",
price decimal(10,2) unsigned not null COMMENT "价格",
param json not null COMMENT "参数",
saleable boolean not null COMMENT "是否上架",
valid boolean not null COMMENT "是否有效",
create_time timestamp not null default now() COMMENT "添加时间",
last_update_time timestamp not null default now() COMMENT "最后修改时间",
INDEX idx_spu_id(spu_id),
INDEX idx_saleable(saleable),
INDEX idx_valid(valid)
) COMMENT="商品表";
数据
sql(供货商关联商品表)
CREATE TABLE t_supplier_sku(
supplier_id int unsigned not null COMMENT "供应商id",
sku_id int unsigned not null COMMENT "商品id",
PRIMARY key(supplier_id,sku_id)
) COMMENT="供应商关联商品表";
解析:
意思供货商id=1能提供商品是商品表中id=1 2 3 的商品.意思是供货商能提供什么样的商品.
PRIMARY key(supplier_id,sku_id)
保持唯一性.怕某一个字段出现重复性.这样复合主键极大的缩小这种概率问题.
数据