小型电商(一) ——— 数据库设计

这里先记录一下什么是唯一索引:

主键一定是唯一性索引,唯一性索引并不一定就是主键。 所谓主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引。因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现张冠李戴的错误。主键除了上述作用外,常常与外键构成参照完整性约束,防止出现数据不一致。数据库在设计时,主键起到了很重要的作用。 

其实主键和索引都是键,不过主键是逻辑键,索引是物理键,意思就是主键不实际存在,而索引实际存在在数据库中,主键一般都要建,主要是用来避免一张表中有相同的记录,索引一般可以不建,但如果需要对该表进行查询操作,则最好建,这样可以加快检索的速度。

表结构:

 用户表:

小型电商(一) ——— 数据库设计_第1张图片

小型电商(一) ——— 数据库设计_第2张图片

分类表:

因为我们得为后期考虑,因为我们要扩展,所以表结构设计为递归 

小型电商(一) ——— 数据库设计_第3张图片

小型电商(一) ——— 数据库设计_第4张图片

产品表:

 

小型电商(一) ——— 数据库设计_第5张图片

 

小型电商(一) ——— 数据库设计_第6张图片

购物车表:

小型电商(一) ——— 数据库设计_第7张图片

小型电商(一) ——— 数据库设计_第8张图片

支付信息表:

小型电商(一) ——— 数据库设计_第9张图片

小型电商(一) ——— 数据库设计_第10张图片

订单表:

小型电商(一) ——— 数据库设计_第11张图片

小型电商(一) ——— 数据库设计_第12张图片

订单明细表:

小型电商(一) ——— 数据库设计_第13张图片

小型电商(一) ——— 数据库设计_第14张图片

收货地址表:

小型电商(一) ——— 数据库设计_第15张图片

小型电商(一) ——— 数据库设计_第16张图片

 

蓝色的是有索引的表

小型电商(一) ——— 数据库设计_第17张图片

 

首先注册完成之后会存到我们的 mmall_user 表里面 登录会读取 mmall_user 进行验证

然后我们搜索产品 这个时候就会用到我们的 mmall_category 分类表 然后传给我们的产品表 mmall_product 然后购选我们的商品放到购物车表中 mmall_cart,当我选好之后就进到了我们的收货地址表中 mmall_shipping  ,从收货地址表中获取到 订单 和订单明细 mmall_order_item 和 mmall_order 在接收到支付宝的回调,把数据存到我们的支付信息表中。

 

 

你可能感兴趣的:(后端,java)