新零售mysql设计(仓库 新零售 零售商品库存 仓库商品库存)表 二次修改

作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主


sql

仓库表

CREATE TABLE t_warehouse(
id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT  "主键",
    city_id int unsigned not null COMMENT "城市id",
    address varchar(200) not null COMMENT "地址",
    tel varchar(20) not null COMMENT "电话",
    INDEX idx_city_id(city_id)
) COMMENT="仓库表";

解析字段

你看啊。一个仓库表是吧。是不是得有名字name啊。是不是得有具体位置啊address。电话也得有吧。不然拿什么联系仓库啊.
是不是得知道这个仓库是那个城市的啊city_id。然后城市表是那个城市是那个省份的啊

解析类型(大小)

int unsigned代表从0开始算起,但是但是加自增后AUTO_INCREMENT就代表从1开始计算了.not null的看具体情况定.
在这里都是需要有的啦.

数据

在这里插入图片描述

仓库商品库存表

CREATE table t_warehouse_sku(
warehouse_id int unsigned COMMENT "仓库id",
    sku_id int unsigned COMMENT "商品id",
    num int unsigned not null COMMENT "库存数量",
    unit varchar(20) not null COMMENT "库存单位",
    PRIMARY key (warehouse_id,sku_id)
) COMMENT="仓库商品库存表";

解析字段:

你看啊,仓库商品库存表是不是有仓库 商品表啊。这两个表是不是已经建立好了,关联就行了对吧.
然后库存的话啊。是不是得有数量 单位啊.

PRIMARY key (warehouse_id,sku_id)

意思是怕重复的数。复合主键这种概率大大减少了
在一个主键不能唯一标识这个表中的记录的时候才使用复合主键

解析类型(大小)

int unsigned 是从0开始的啦

数据

在这里插入图片描述

新零售表

CREATE TABLE t_shop(
id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT  "主键",
    city_id int unsigned not null COMMENT "城市id",
    address varchar(200) not null COMMENT "地址",
    tel varchar(20) not null COMMENT "电话",
    INDEX idx_city_id(city_id)
) COMMENT="新零售表";

解析字段

你看啊。一个零售店具体在那个城市建立是不是得知道啊。零售店的地址是啥。得知道吧。电话也得有吧。

解析类型(大小)

字符串的一般用varchar,大小得视情况定.
comment是注释哦

数据

在这里插入图片描述

零售店商品库存表

CREATE table t_shop_sku(
shop_id int unsigned COMMENT "仓库id",
    sku_id int unsigned COMMENT "商品id",
    num int unsigned not null COMMENT "库存数量",
    unit varchar(20) not null COMMENT "库存单位",
    PRIMARY key (shop_id,sku_id)
) COMMENT="零售店商品库存表";

解析字段:

零售店商品库存表,你看啊。零售表+商品表是不是已经建立了,关联就行了啦.
库存的话,得有数量 单位哦

解析类型大小

int unsigned代表从0开始

PRIMARY key (shop_id,sku_id)

意思是怕重复的数。复合主键这种概率大大减少了
在一个主键不能唯一标识这个表中的记录的时候才使用复合主键

数据

在这里插入图片描述

仓库表(解析)

id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT “主键”,为什么要用这个字段

第一:id要自增(AUTO_INCREMENT),作用是什么呢?

1)增加记录时,可以不用指定id字段,不用担心主键重复问题。
2)数据库自动编号,速度快,而且是增量增长,按顺序存放,对于检索非常有利;
3)数字型,占用索引空间小,范围查找与排序友好,在程序中传递也方便;
为什么要设置主键,主键作用是什么?

主键是能确定一条记录的唯一标识,主键字段必须唯一,必须非空,一个表中只能有一个主键,主键可以包含一个或多个字段。

打个比方,一条记录包括身份正号,姓名,年龄,学校,国籍,性别等。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。
设置主键的作用是唯一性。非空的。说明了自增的id不会重复的。
comment是什么?

代表一种注释。别人看懂这是什么字段或者表或者数据库
为什么要用int unsigned类型呢?
因为id是不是整数的。用unsigned是因为某种商品的数量是不是不能是负数呢.UNSIGNED的范围类型就是0~255

city_id int unsigned not null COMMENT “城市id”,

仓库表是不是要说明在哪一个城市中的仓库呢?对吧。不能为空的对吧。毕竟仓库是在哪一个城市的对吧.

address varchar(200) not null COMMENT “地址”,tel varchar(20) not null COMMENT “电话”,INDEX idx_city_id(city_id)

你想啊。仓库是不是的有电话啊。不然怎么联系呢对吧。仓库是不是的有地址呀。索引INDEX的话,搜索的话,是不是得搜索某个城市呀。才能搜索到仓库呀.

仓库商品库存表(解析)

CREATE table t_warehouse_sku(
warehouse_id int unsigned COMMENT "仓库id",
    sku_id int unsigned COMMENT "商品id",
    num int unsigned not null COMMENT "库存数量",
    unit varchar(20) not null COMMENT "库存单位",
    PRIMARY key (warehouse_id,sku_id)
) COMMENT="仓库商品库存表";

你说这个表( 仓库商品库存表)是一张关联表对吧。所以是不是得有warehouse_id :仓库id呢?是不是得有 sku_id商品id呢。而库存里面不是的有物品的数量 这个物品的单位比如克 之类的呢对象.

新零售表(解析)

CREATE TABLE t_shop(
id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT  "主键",
    city_id int unsigned not null COMMENT "城市id",
    address varchar(200) not null COMMENT "地址",
    tel varchar(20) not null COMMENT "电话",
    INDEX idx_city_id(city_id)
) COMMENT="新零售表";

你说对吧。零售店是不是有数量的所以的有id对吧。拿零售店在哪一个城市呢。也有要对吧。零售店难道没有地址的吗当然要有对吧。电话没有的吗?那不可能对吧…index索引的话,搜索是不是的搜索哪一个城市中的零售店呢对吧

零售店商品库存表(解析)

CREATE table t_shop_sku(
shop_id int unsigned COMMENT "仓库id",
    sku_id int unsigned COMMENT "商品id",
    num int unsigned not null COMMENT "库存数量",
    unit varchar(20) not null COMMENT "库存单位",
    PRIMARY key (shop_id,sku_id)
) COMMENT="零售店商品库存表";

你说这张表(零售店商品库存表)是一张关联表。所以的有零售店的id。也有要商品的id。库存的数量 单位也要有.
整段的意思代表个仓库里面有商品数量是几个 单位是什么.

PRIMARY key (shop_id,sku_id)的意思是什么?

代表一种商品不会在同一个仓库中出现两次.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贵哥的编程之路(热爱分享)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值