作者:陈业贵
文章目录
- 解析sku字段
- 解析sku类型大小
- images json comment "商品图片",
- param json not null COMMENT "参数",
- boolean是啥?
- timestamp 详解:
- 为什么定义索引?
- sql
- sku商品表
- spu产品表
- 解析字段:
- 产品表数据:
- 产品表spu与商品表的关系:
- mysql表设计需要注意的地方:
- 价格:需要用到decimal这个类型。
- images json comment "商品图片",为什么存图片路径用到json?
- 为什么存储图片路径不能用varchar?
- param json not null COMMENT "参数",为什么要用这个。是什么意思?
- 为什么要用到索引呢?
- category_id int unsigned not null COMMENT "分类ID",
- brand_id int unsigned COMMENT "品牌ID",
- spg_id int unsigned not null COMMENT "品类id",
解析sku字段
举个例子:
sku商品表
是不是得有id自增代表不用手动创建是吧
spu_id是不是的有。因为你这样商品是哪一个产品下的是吧。比如小米手机产品。商品是各种类型颜色。。。。的小米手机十八
商品标题是不是的有。因为介绍这个商品呀
images是不是应该一般的有。因为图片能勾起人人们的购买欲,.
price是不是的有。不说比如要买这个手机多少钱的吗是吧
param是不是的有。各种颜色类型什么的呀
是否上架是否有效是不是也得有。
添加修改时间是不是也得有.
解析sku类型大小
unsigned代表从0或者整数.AUTO_INCREMENT代表数据递增. PRIMARY key代表主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键。
只要是int unsigned如果不加AUTO_INCREMENT代表从0开始,否则1开始.
title这些都是varchar类型(大小的看具体情况而定)
images json comment “商品图片”,
为什么图片字段为json。因为这个很多个图片呀。详细看sql数据
截图就看到啦.
price用decimal类型。为什么不用floatdouble。因为不精确,
decimal详解:
在mysql中,价格用“DECIMAL”类型。Decimal是专门为财务相关问题设计的数据类型,它实际上是以字符串的形式存放的,可在定义时划定整数部分以及小数部分的位数;在对精度要求比较高时(如货币、科学数据),用DECIMAL类型比较好。
param json not null COMMENT “参数”,
为什么用json。因为定义很多个参数呀。以json方式存放.
boolean是啥?
是tinyint(1)
timestamp 详解:
前言:时间戳(timestamp),一个能表示一份数据在某个特定时间之前已经存在的、 完整的、 可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。使用数字签名技术产生的数据, 签名的对象包括了原始文件信息、 签名参数、 签名时间等信息。广泛的运用在知识产权保护、 合同签字、 金融帐务、 电子报价投标、 股票交易等方面。
为什么定义索引?
因为运行速度快一点.
sql
sku商品表
举个例子:
是不是得有id自增代表不用手动创建是吧
title是不是的有。介绍这款产品呀
是不是有需要的时候的增加副标题
分类id品牌id品类id是不是的有?
因为因为这个产品是手机是不是是一个分类。是哪一个品牌的产品。哪一个品类的产品是吧
是否上架是否有效是不是也得有。
添加修改时间是不是也得有.
spu产品表
解析字段:
你说啊。一个产品表需要具备啥呢?
如果要介绍这个产品的话,是不是需要标题 副标题。
产品是否上架下架 产品是否有库存(有效).
那产品表需要关联什么表呢?
这个产品的品牌是啥?(品牌表)
产品是什么类型的,手机家电什么的。(品类表)
这个产品的类型是什么呢?(分类表)手机、数码什么的
产品表数据:
产品表spu与商品表的关系:
一个产品有多个商品。
举个例子:比如我知道华为手机这个产品非常不错。我想买。我就买了.其他人也买了。是不是这个意思。有一个产品,被很多人买。
mysql表设计需要注意的地方:
价格:需要用到decimal这个类型。
我写的decimal(10,2)是什么意思呢?
表示总共能存 10 位数字,其中末尾 2 位是小数,字段最大存储值 99999999.99
images json comment “商品图片”,为什么存图片路径用到json?
json 类型的存储和 longText 类似。能够存储非常多的数据
为什么存储图片路径不能用varchar?
image在数据库中是以二进制存储的,所以varchar肯定不行.因为json主要用来存储东西的。能够存储很大空间.
param json not null COMMENT “参数”,为什么要用这个。是什么意思?
代表某个商品的参数。比如小米手机中的颜色。型号 什么的。
为什么要用到索引呢?
1, 加快查询速度,提高系统的性能,这也是创建索引的最主要的原因。
2,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
索引的坏处
创建索引和维护索引要耗费时间,这种时间随着数据 量的增加而增加。
category_id int unsigned not null COMMENT “分类ID”,
你把他看成手机就行
看id这个字段代表category_id
brand_id int unsigned COMMENT “品牌ID”,
把这个字段看成某个手机品牌就行.
brand_id代表上图的id字段
spg_id int unsigned not null COMMENT “品类id”,
把他看成手机就行.
spg_id是上图的spg_id字段