购物系统数据库设计

      1. 数据库设计简要介绍

在前面实体类设计完成之后,其实数据库的设计已经变得简单了,数据库表就是前面实体类的成员变量的对应,这里设计了6张表,分别是:

  1. user 用户表
  2. admin 管理员表
  3. category 商品类别表
  4. product 商品表
  5. salesorder 订单表
  6. salesitem 订单购物项表

这六张表其实分别对应了6个不同的实体类,User、Admin、Category、Product、Order和OrderItem。其中product表将category表的id字段作为外键,salesitem表将salesorder表的id字段作为外键。

下面就具体介绍每张表的具体设计。

      1. 数据库具体设计
        1. user表

user表是用来存放商城会员的信息的表,有7个字段,分别用来存放用户id、用户名、密码、联系电话、送货地址、Email和注册日期,它又和User实体类的成员变量对应,详见表4-1。

表4-1 user表

字段名

字段类型

是否为主键

是否可为空

外键

描述

id

Int(11)

YES

NO

用户id

username

varchar(40)

YES

用户名

password

varchar(20)

YES

密码

phone

varchar(40)

YES

联系电话

addr

varchar(255)

YES

送货地址

email

varchar(50)

YES

电子邮箱

rdate

datetime

YES

注册日期

        1. admin表

admin表用来存放管理员的用户名和密码,有2个字段,分别用来存放管理员的用户名和密码,它和Admin实体类对应。具体请见表4-2。

表4-2 admin表

字段名

字段类型

是否为主键

是否可为空

外键

描述

username

varchar(20)

YES

NO

用户名

password

varchar(40)

YES

密码

        1. category表

category表用来存放商品类别的信息,有6个字段,分别用来存放商品类别的id、其父类别的id、类别的名称、类别的描述、类别的级别和类别是否为叶子节点,详见表4-3。

表4-3 category表

字段名

字段类型

是否为主键

是否可为空

外键

描述

id

Int(11)

YES

NO

类别id

pid

Int(11)

YES

父类别id

name

varchar(255)

YES

类别名称

descr

varchar(255)

YES

类别描述

grade

Int(2)

YES

级别

isleaf

Int(1)

YES

是否为叶子

        1. product表

product表用来保存商品的信息,有9个字段,分别用来保存商品的id、商品的名称、品牌、描述、市场价格、会员价格、上架日期、类别id和图片文件名,详见表4-4。

表4-4 product表

字段名

字段类型

是否为主键

是否可为空

外键

描述

id

Int(11)

YES

NO

商品id

name

varchar(255)

YES

商品名称

brand

varchar(255)

YES

品牌

descr

varchar(255)

YES

描述

normalprice

double

YES

市场价格

memberprice

double

YES

会员价格

pdate

datetime

YES

上架日期

categoryid

Int(11)

NO

category.id

商品类别id

filename

varchar(255)

YES

图片文件名

        1. salesorder表

salesorder表用来存放订单的主信息,有5个字段,分别用来存放订单的id、用户id、送货地址、下单日期和订单状态,当然它会有一个从表,来存放具体的购物信息。详见表4-5。

表4-5 salesorder表

字段名

字段类型

是否为主键

是否可为空

外键

描述

id

Int(11)

YES

NO

订单id

userid

Int(11)

YES

user.id

用户id

addr

varchar(255)

YES

送货地址

odate

datetime

YES

下单日期

status

Int(1)

YES

订单状态

        1. salesitem表

salesitem表用来存放具体的订单项,有5个字段,分别用来存放订单项id、商品id、单价、数量和所属订单id,详见表4-6。

表4-6 salesitem表

字段名

字段类型

是否为主键

是否可为空

外键

描述

id

Int(11)

YES

NO

订单项id

productid

Int(11)

NO

product.id

商品id

unitprice

double

YES

单价

pcount

Int(11)

YES

数量

orderid

Int(11)

NO

salesorder.id

所属订单id

    1. 本章小结

本章非常详细的介绍了网上商城系统的具体设计,从开发工具的选择和环境的搭建,到基础的共用类,到具体的实体类再到数据库的设计。这样就完成了项目具体框架的搭建。

  • 24
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等天晴i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值