目录
1.逻辑关系设计
2.物理设计
2.1管理员表
2.2留言表
2.3会员登录表
2.4会员表
2.5订单表
2.6订单商品表
2.7产品表
2.8产品货架表
2.9收藏表
2.10类别表
2.11新闻表
数据库系统是用来保存数据的软件系统,当今比较流行的数据库系统,如 MS SQL Server、mySQL 和 Oracle 等均采用关系数据库形式来实现数据的存储、查询等。关系数据库模型是数据库技术发展到今天被广泛采用的技术形式。
使用数据库的好处就是能够方便的通过编程实现大量数据的存储、检索和统计分析。如果不使用数据库系统,则要进行这样的处理就非常繁琐甚至不可行。比如,MS Word 就无法进行数据的统计分析,只能是文字编辑;MS Excel 虽然可以统计分析,但无法实现网络上的数据存储和共享。诸如此类问题都由数据库系统解决。
伴随数据库系统的出现,出现了针对数据库系统的编程技术,Java 技术也是如此,可以进行数据库编程并对其中存储的数据进行处理。
数据库编程的核心是数据库查询语言SQL ,Java 通过传递这些语言编写的命令来操纵数据库中的数据。
本系统采用了这种技术方式来操纵数据库,这是因为本系统要处理的数据也具备数量多、需要共享、需要统计分析等特点,如果不使用关系数据库系统,则几乎无法实现这些功能。
1.逻辑关系设计
根据系统的要求,将设计十一个表格,分别用来存储数据信息和管理过程中产生的数据流信息。其中包含的表格的具体说明如表所示
数据库表格
表 格
逻 辑 名
作 用
管理员表
tb_admin
保存管理员信息
留言表
tb_guest
保存在线留言、评价信息
会员登录表
tb_logininfo
保存会员的登录信息
会员表
tb_userinfo
保存会员信息
订单表
tb_order
保存订单信息
订单商品表
tb_orderproduct
保存订单中商品的信息
产品表
tb_productinfo
保存图书基本信息
产品货架表
tb_sellinfo
保存图书货架信息
收藏表
tb_shoucang
保存收藏信息
类别表
tb_sort
保存图书类别信息
新闻表
tb_news
保存新闻信息
本系统各表之间具有如图6.1所示逻辑关系。
2.物理设计
2.1管理员表
在该表中使用了SQL Server数据库中的一个特殊字段类型——自动编号字段,也就是可以自动递增的字段,用来做主键。这样能保证记录的唯一性,符合关系数据库表的范式,也非常便于维护。
当然,也可以自己定义一个字段作为主键,但要维护该字段数据的唯一性,否则系统将出现数据冗余的错误。因此,多数使用SQL Server数据库的设计人员都采用这种自动编号字段。
管理员表的物理结构说明
名 称
类 型
长 度
说 明
id
整型
4
自动编号,作为主键
username
字符
10
管理员名称
password
字符
10
管理员密码
2.2留言表
在这个表中保存了留言信息。当然其中也包括了用户对商品的评论,使用commenttype字段来标示留言和商品评论。
留言表的物理结构说明
名 称
类 型
长 度
说 明
id
整型
4
自动编号,作为主键
username
字符
20
留言人名称,和会员登录表对应
commenttype
字符
50
留言类型
ip
字符
50
留言人ip地址
time
字符
30
留言时间
title
文本
留言标题
guest
文本
留言内容
reply
文本
留言回复内容
state
字符
50
留言状态
pid
字符
30
产品编号
2.3会员登录表
在这个表中保存了会员的登录信息。其中包含了会员的密码保护问题和会员状态等信息。本系统中“密码保护问题”、“会员标识”两个字段没有用到,在这里给出为了是在后续开发中的扩展需要。
会员登录表的物理结构说明
名 称
类 型
长 度
说 明
id
整型
4
自动编号,作为主键
username
字符
20
会员登录名
password
字符
20
会员登录密码
wenti
字符
50
密码保护问题
daan
字符
50
密码保护问题答案
lastlogintime
字符
30
最近登录时间
tag
字符
10
会员标识
state
字符
10
会员状态
2.4会员表
在这个表中保存了会员的基本信息。
会员表的物理结构说明
名 称
类 型
长 度
说 明
id
整型
4
自动编号,作为主键
username
字符
20
会员登录名,和会员登录表对应
realname
字符
50
真实姓名
字符
100
邮箱
telephone
字符
11
手机
phone
字符
15
固话
address
字符
100
地址
postcode
字符
10
邮编
字符
20
QQ号码
registtime
字符
30
注册时间
2.5订单表
在这个表中保存了订单的信息。这个表中存放了收货人的信息,因为在实际的购物活动中购买者并不一定就是收货者,所以需要用户在购买时输入收货信息,当然如果购买者既是收货者时,本表的信息会从会员信息表中获得。
订单表的物理结构说明
名 称
类 型
长 度
说 明
id
整型
4
自动编号,作为主键
ordernumber
字符
50
订单号
realname
字符
50
收货人真实姓名
telephone
字符
11
收货人手机号码
phone
字符
15
收货人固话
字符
100
收货人邮箱
postcode
字符
10
收货人邮编
address
字符
100
收货人地址
method
字符
10
配送方式
remark
文本
备注
state
字符
50
订单状态,待审核、正在配货、等待发货、已经发货、已经收货、已取消
time
字符
30
下单日期
username
字符
20
会员登录名称,和会员登录表对应
total
货币
总价
lock
字符
10
订单锁定状态
payment
字符
50
支付方式,货到付款、网上支付
paystate
字符
50
支付状态,已支付、未支付
2.6订单商品表
在这个表中保存了订单商品的信息。一个订单会对应多种商品,就要使用订单号作为外键,使订单表和订单商品表建立一对多的关系。
订单商品表的物理结构说明
名 称
类 型
长 度
说 明
id
整型
4
自动编号,作为主键
ordernumber
字符
50
订单号,和订单表对应
productnumber
字符
30
商品编号,和产品表对应
bookname
字符
200
书名,与商品表对应
price
货币
单价
quantity
字符
10
购买数量
sum
货币
总价
description
文本
图书描述
2.7产品表
在这个表中保存了产品(图书)的信息。其中用到的展示图片是保存到硬盘上的,在数据库中只记录了对其的引用(存放地址)。
产品表的物理结构说明
名 称
类 型
长 度
说 明
id
整型
4
自动编号,作为主键
productnumber
字符
30
商品编号
bookname
字符
41
书名
author
字符
100
作者
publish
字符
100
出版社
publishtime
字符
30
出版时间
supply
字符
100
供应商
description
文本
描述
imgurl
字符
500
图书图片
2.8产品货架表
在这个表中保存了图书货架信息。产品表中保存的是产品的固有属性,而产品货架表中保存的是产品的销售信息,如市场价、售价、进价等等。
产品货架表的物理结构说明
名 称
类 型
长 度
说 明
id
整型
4
自动编号,作为主键
productnumber
字符
30
产品编号,与产品表对应
marketprice
货币
市场价
price
货币
售价
cost
货币
进价
profit
货币
利润
groom
字符
10
是否推荐
state
字符
50
是否上架
sort
字符
50
类别
time
字符
30
上架时间
sellnumber
字符
10
销售数量
stock
字符
20
库存
2.9收藏表
在这个表中保存了用户收藏的图书。
收藏表的物理结构说明
名 称
类 型
长 度
说 明
id
整型
4
自动编号,作为主键
productnumber
字符
30
产品编号,与产品表对应
username
字符
20
会员登录名,与会员登录信息表对应
2.10类别表
在这个表中保存了产品类别信息。
类别表的物理结构说明
名 称
类 型
长 度
说 明
id
整型
4
自动编号,作为主键
sortname
字符
50
类别名称
goole
文本
Goole描述(未使用)
state
字符
10
状态
father
字符
50
上级分类名称
2.11新闻表
在这个表中保存了新闻信息。
新闻表的物理结构说明
名 称
类 型
长 度
说 明
id
整型
4
自动编号,作为主键
newstitle
字符
200
新闻标题
newscontent
文本
新闻内容
time
字符
30
发布时间