电商项目中的数据库

本文探讨了新零售项目的数据库设计,包括SPU与SKU概念、分类表、产品与商品表、库存、购物券和订单表设计。还讨论了如何抵御XSS攻击以及利用Redis防止超售问题,强调了数据库安全性和性能优化的重要性。
摘要由CSDN通过智能技术生成

新零售数据库设计

SPU

先讲下产品和商品的关系:举栗子来说的话,库克在苹果发布会上发布的IPhnoe,这个属于产品,而我们购买的不同内存配置等,如256G、128G的手机这个就是商品。商品是产品的不同销售方案。
SPU指标准产品单位,SPU描述一个产品的各种特性

SKU

SKU是库存进出计量的单位,SKU是物理上不可分割的最小存货单元。SKU实际上就是具体的商品

SKU与参数如何对应

不同商品有不同的属性,比如衣服有尺码和颜色,内存有大小…
即如何设计品类参数:设计品类表用来存放产品信息,再设计参数表存放如CPU、内存、尺寸、电池等参数信息,将品类表和参数表实现一对多的关联。如手机关联CPU、内存、尺寸、电池等参数信息
在这里插入图片描述

分类表的设计

多个分类下,如何设计表结构,如下图中的苏宁易购案例,三个级别的分类
在这里插入图片描述
实现数据库的链表结构,即始终关联父节点
在这里插入图片描述

产品表和商品表的设计

  1. 即使对字符串创建了索引,检索速度仍然很慢,因此不对字符串创建索引。我们采用中文分词技术进行实现快速检索
  2. 数据库中保存浮点类型必须使用decimal,使用float和double会丢失精度。

一个商品对应多个参数和多个图片,而我们如何通过一个字段来存储多个参数呢?答案是JSON
在这里插入图片描述

{
   “desc”:["http://127.0.0.1/3.jpg","http://127.0.0.1.1/4.jpg", "facade" :["http://127.0.0.1/1.jpg","htt[://127.0.0.1/2.jpg"]]}

商品库存的设计

如果新零售系统没有分店,那么可以把库存定义在商品表里
在这里插入图片描述
如果系统下有多个分店,则需要进行零售店和仓库的关联
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在创建仓库表前,先创建省份表和城市表。我们知道如果仓库表里面如果只是单纯添加一个字符串来标记地址,而字符串的检索速度是很慢的,
在高并发时,会造成性能的下降,因从我们创建城市表和省份表。引用城市编号的概念,在仓库表中地址用城市编号id来代替,提高检索速度

购物卷表设计

在这里插入图片描述

订单表的设计

一张订单中可以包含多个商品记录,可不可以用JSON存储这些商品信息?
可以,但是效率不高。JSON字段合适存储数据,不适合检索数据
一般订单表需要两张-一张是订单表,另一张是订单明细表。
订单流水号–流水号可以包含商品的信息,日期等

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值