Java秒杀项目--1.数据库设计

简介

  为项目添加数据库。

1.创建数据库表,一共有五个数据库表

首先,有商品表和秒杀商品表。秒杀商品表中包含参加秒杀活动的商品,商品表包含所有的商品。

为什么将两个表分开?分开两个表可能会造成数据冗余,但是将两个表合并会造成单个表数据量过大。如果再有其他的活动会将表的字段变得更大。

下图为两个表的表结构:

由于本项目不会出现对上面两个表进行增加或删除记录的操作,所以未在miaosha_goods中的id上添加外键。

用户表:id为用户的手机号,nickname为用户名,head字段完全没用含义是什么也忘了,login_count为记录用户登录次数的字段,完全没用,salt在做密码MD5加密时使用。

订单表和秒杀订单表:秒杀订单表是为了在用户请求秒杀某个商品时判断用户是否秒杀过该商品。order_channel含义为用户使用哪种途径秒杀的商品,哪种手机或电脑,没用。

order_info表上的外键:两个外键。第一个,goods_id字段依赖于goods表的id字段;第二个,user_id字段依赖于miaosha_user表的id字段。

order_info表上的索引:goods_id和user_id字段建立索引,经常使用此两个字段进行select操作。

miaosha_order表上的外键:三个字段都被建立外键。

miaosha_order表上的索引:在user_id和goods_id字段建立unique key,唯一索引包含了唯一约束的功能,此举为了防止一个用户对同一商品秒杀两次的情况出现。

猜你喜欢

转载自www.cnblogs.com/deijiawoyu/p/12686012.html