这里先记录一下什么是唯一索引:
主键一定是唯一性索引,唯一性索引并不一定就是主键。 所谓主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引。因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现张冠李戴的错误。主键除了上述作用外,常常与外键构成参照完整性约束,防止出现数据不一致。数据库在设计时,主键起到了很重要的作用。
其实主键和索引都是键,不过主键是逻辑键,索引是物理键,意思就是主键不实际存在,而索引实际存在在数据库中,主键一般都要建,主要是用来避免一张表中有相同的记录,索引一般可以不建,但如果需要对该表进行查询操作,则最好建,这样可以加快检索的速度。
表结构:
用户表:
分类表:
因为我们得为后期考虑,因为我们要扩展,所以表结构设计为递归
产品表:
购物车表:
支付信息表:
订单表:
订单明细表:
收货地址表:
蓝色的是有索引的表
首先注册完成之后会存到我们的 mmall_user 表里面 登录会读取 mmall_user 进行验证
然后我们搜索产品 这个时候就会用到我们的 mmall_category 分类表 然后传给我们的产品表 mmall_product 然后购选我们的商品放到购物车表中 mmall_cart,当我选好之后就进到了我们的收货地址表中 mmall_shipping ,从收货地址表中获取到 订单 和订单明细 mmall_order_item 和 mmall_order 在接收到支付宝的回调,把数据存到我们的支付信息表中。