滁州学院计算机与信息工程学院
数据库原理与应用
期末大作业
名
姓
专
称:
网上书店管理系统
名: 谢 XX 王 XX 甘 X 张 XX
业:
通信工程专业
指导教师:
XXX
滁州学院计算机与信息工程学院
2018 年 6 月
目录
一、系统需求分析................................................................................................................................................1
1.1 需求概述和系统边界......................................................................................................................... 1
1.2 主要业务处理流程..............................................................................................................................1
1.3 功能需求分析....................................................................................................................................... 2
1.4 数据需求分析....................................................................................................................................... 3
二、概念设计.........................................................................................................................................................7
2.1 确定基本实体集及属性.....................................................................................................................7
2.2 主要业务局部概念建模.................................................................................................................. 10
2.2.1 订单生成与订单审核.........................................................................................................10
2.2.2 配送设置与图书配送.........................................................................................................11
2.2.3.图书采购涉与图书入库 ................................................................................................... 13
2.3 定义联系集及属性............................................................................................................................15
2.4 完整 E-R 图..........................................................................................................................................18
2.5 检查是否满足需求............................................................................................................................18
三、数据库逻辑设计........................................................................................................................................ 20
四、模式求精...................................................................................................................................................... 26
五、总结................................................................................................................................................................27
六、参考文献...................................................................................................................................................... 27
一、系统需求分析
系统需求分析主要功能有三部分。分别为处理流程功能需求、数据需求及业
务规则和完整性约束等。主要目的是分析现实世界要处理的对象,并在此基础上
确定系统的功能。网上书店系统分析用户需求,在需求的基础上确定系统的不同
业务层实现的功能。下面主要分析网上书店的各项业务处理流程、功能需求、数
据需求及业务规则和完整性约束等。
1.1 需求概述和系统边界
随着 Internet 和 Web 技术的迅速发展,电子商务已经被广大互联网用户接
受。作为图书销售与电子商务相结合的产物,网上书店因为具有销售成本较低、
交易活动不受时空限制、信息传递迅速灵活等优势,已受到广大读者的喜爱与青
睐。
网上书店是以网站作为交易平台,图书的基本信息会通过网站发布在 Web
上,线上客户通过 Web 查看图书信息并提交订单,以此来实现图书的在线订购。
订单提交后,书店职员对订单及时处理,确保客户能在有效时间内收到图书。一
个基于 B2C 的网上书店系统需求描述如下。
该网上系统支持 4 类用户:游客、会员、职员和系统管理员。游客可以随意
浏览图书及网站信息,在线购书仅限于注册会员。游客注册成功后即为普通会员,
当其购书总额达到一定数量时可升级为不同等级的 VIP 会员,以享受相应的优惠
折扣。会员登录系统后,可进行的主要操作有:通过不同方式(如书名、作者、
出版社等)搜索图书信息、网上订书、在线支付、订单查询与修改、发布留言等。
书店工作人员以职员身份注册登录后,可进行的主要操作有:维护与发布图书信
息、处理订单、安排图书配送和处理退货等。系统管理员的主要职责是维护注册
会员和职员的信息。
请为该网上书店设计数据库 ER 图和关系模式。要求保存所需全部信息,并
高效地支持上述各种应用。由于网上书店功能比较复杂,本设计不考虑网上支付
和退货功能。
1.2 主要业务处理流程
业务需求分析是根据现实世界对象需求,描述应用的系统功能。业务处理流
程分析哪些业务是计算机可以完成,而哪些业务是不能由计算机完成的。会员业
1
务包括:查询、订购图书、退订图书。职员业务包括:处理订单并通知配送公司、
处理退货。网上书店主要业务包括:图书信息发布与”订单生成”及““订单受
理”处理流程,由于网上书店系统业务处理流程较复杂,本节只给出网上书店的
核心业务所示。如图 1-1 所示。
(a)订单生成
(b)订单受理
图 1-1 网上书店的主要业务流程
1.3 功能需求分析
功能需求分析分为信息概述和业务流程两部分。会员通过与网上书店职员的
沟通与交流,确定订单来购买书籍或者取消订单;网上书店职员需要分析相关消
息处理订单,图书配送、处理退货;网上书店主要功能需求分析如下。
(1)用户管理。主要提供会员及职员基本信息录入、维护与查询功能包括:
会员注册信息录入维护与查询;职员注册信息录人维护与查询;系统管理员审核
会员资格、列入黑名单;系统管理员修改及删除会员、职员信息;会员升级管理。
(2)图书管理。主要提供图书基本信息录入与维护、以及图书采购、入库、
信息发布等功能,包括:图书基本信息录入、维护与查询;图书采购管理:当库
2
存数量不足或出版社有新书出版时,书店职员负责图书采购;图书入库管理:当
订购的图书到货后办理图书入库(一次订购的图书可能分多次到货,因而需要多
次办理入库手续),并增加新图书信息、更新图书库存数量;图书信息发布:网
上发布新书信息、图书推荐信息、促销信息等,并及时更新。
(3)网上订书管理。主要提供图书选购、订单管理及发票管理等功能。包括
网上选购图书、会员需将订购的图书放人购物车中,并填写购买数量;订单生成
将选购的图书生成订单、并填写配送信息和发票信息、每个订单可分多个配送单
进行配送,配送单的配送明细信息由会员设置;订单更新:会员提交的订单在职
员审核受理之前允许会员修改订单的内容或删除订单;订单受理:订单生成后,
职员对订单进行审核;发票生成:按会员要求生成发票信息。
(4)配送管理。主要提供配送信息维护及配送单管理,包括:配送公司信息
录入、维护与查询;配送单生成、维护与查询;配送情况跟踪。
(5)出版社管理。主要提供出版社信息录入、维护与查询功能。
(6)留言管理。主要对留言及回复信息进行管理。包括会员发布留言:会员
可在网站发表留言或评论;职员回复留言:书店职员可回复留言。
(7)权限管理。主要提供权限分配、登录及权限验证等功能,包括系统管理
员分配权限;用户登录及权限验证;用户密码重设。
网上书店主要功能模块如图 1-2 所示。
图 1-2 网上书店管理系统主要功能模块
1.4 数据需求分析
根据功能需求分析的结果,网上书店系统的数据需求分析如下。
(1)会员注册信息:包括姓名、登录密码、性别、出生日期、地址、邮政编
码、电话、电子邮箱、单位等信息。系统检查所有信息填写正确后提示会员注册
成功,并返回会员编号(唯一标识)。当会员购书总额达到一定数量(即不同等级
3
VIP 所要求的购书总额的阀值,称为等级购书额定)时,可升级为不同等级的 VIP
会员,因此,会员还需要维护购书总频、会员等级、等级购书额定、会员折扣等
信息。
(2)职员注册信息:包括姓名、登录密码、性别、出生日期、部门、薪水、
住址、电话、电子邮箱等信息。系统检查所有信息填写正确后提示职员注册成功,
并返回职员编号(唯一标识)。
(3)图书信息:包括 ISBN、书名、作者、版次、类别、出版社名称、出版年
份、库存教量、定价、图书折扣、内容简介、目录等。(ISBN 为图书的唯一标
识)
(4)图书采购单,包括采购单号(按时间顺序生成)、出版社、采购目期、采
购人、采购总金额、入库状态、采购明细(包括 ISBN、书名、采购数量、采购
单价、采购金额)等。采购单号为采购单的唯一标识,由系统按时间顺序生成。
入库状态记录了该采购单的当前入库情况,包括“未入库“已部分入库”“已全
部入库”等状态。
(5)入库单:包括入库单号、对应采购单号、入库日期、入库人、验收人、入
库明细,包括(ISBN、书名、入库数量)等。
(6)订单:包括订单号、订购日期、应收总金额、会员折扣、实收总金额、
付款方式、订单状态、订单明细(包括 ISBN、书名、订购数量、定价、应收金额、
图书折扣、实收金额、配送状态等)和发票信息(如发票单位等),每个订单用订
单编号唯一标识,由系统按时间顺序生成,后提交的订单具有更大的订单号。订
单状态记录了该订单的当前处理状态,包括“未审核”“退回”“已审核””已
部分配送“”已全部配送“”已处理结束”等状态。订单明细中的配送状态记录
了该图书的当前配送状态,包括“未配送“已部分配送”“已全部配送”“已部
分送到”“已全部送到”等状态。
(7)配送单:要求记录配送单号、对应订单号、配送日期、配送信息(收货人、
送赁地址邮政编码、联系电话等)、配送明细(包括 ISBN、书名、配送数量等)、
是否拆送、发票编号、配送状态等。配送信息默认从会员注册信息中获取,也可
重新填写。配送状态记录了该配送单的当前配送状态,包括“未发货”“已发货”
“已送到”等状态。配送单由配送单号标识。每个订单的配送单号是由订单号加
上系统按时间顺序生成的流水号组成。
(8)发票:用发票的实际发票编号唯一标识。
4
(9)出版社信息:包括出版社编号、出版社名称、出版社地址、邮政编码、联
系人、联系电话、传真、电子邮箱等信息。出版社编号是出版社的唯一标识。
(10)配送公司信息:包括公司编号、公司名称、公司地址、邮政编码、联系
人、联系电话、传真、电子邮箱等信息。公司编号是配送公司的唯一标识。
(11)留言信息:需记录留言人,留言日期、留言内容等信息,回复留言,需
记录回复信息、回复日期、回复内容等信息。
业务规则及完整性约束分析,基于上述功能需求和数据需求,通过进一步了
解,网上书店业务规则及完整性约束如下。
(1)所有用户均可搜索图书信息,但只有注册会员才能在网上提交订单;
只有注册职员才能维护图书信息及受理订单。
(2)当普通会员购书总额达到 10000 元,即升级为三级 VIP,享受单价 9.5
折优惠;购书总额达到 20000 元,升级为二级 VIP 会员,享受售价 9 折优惠;购
书总额达到了 30000 元,升级为一级 VIP 客户,享受售价 8.5 折优惠。会员提交
的订单审核通过后,系统自动更新该会员的累计购书总额,并根据累计购书总额
自动更新会员等。
(3)采购单中的入库状态记录了该采购单的当前入库情况,包括“未入库”
“已部分入库”“已全部入库”等状态。每一次办理入库手续后,需要自动更新
该入库单所对应的采购单的入库状态的值,当一个采购单中所采购的所有图书都
办理入库后,则更新该采购单的入库状态为“已全部入库”。
(4)系统需记录每种图书的当前库存数量,图书入库时系统自动增加库存数
量,图书出库时系统自动减少库存数量;当库存数量低于某一阈值时,通知补货。
(5)选购的图书必须放入购物车后才能生成订单。
(7)订单受理前允许会员删除所选图书,修改订购数量、配送信息和发票单
位,甚至取消订单。但是订单审核通过后,则不允许再做任何修改。
(6)职员受理订单时,如发现订单及配送单信息填写不正确,则退回客户重
新填写。
(7)同一订单可订购多种图书,且每种图书的订购教量可以不同。每种图书
的实收金额由系统自动计算产生,计算公式为:实收金额一订购数量 X 定价 X
图书折扣 X 会员折扣。
(8)每个订单可分多个配送单进行配送,配送单的配送明细信息由会员设置。
因此会员在生成订单之后需要进一步进行配送设置,包括填写配送信息,定义配
5
送明细,同时还需要选择:如果一个配送单中的所有图书不是同时有货,则需说明
是否自动拆送。会员在提交配送方案后,系统应该自动检查该配送方案是否正确
(即一个订单所对应的多个配送单是否正好将该订单所订购的所有图书全部安排
配送了)。
(9)一张订单的每一个配送单对应开一张发票,但一张订单的所有发票的发
票单位都相同。
(10)配送单中的图书采取先到先发货原则进行配送。如果一个配送单中所购
图书均有库存,则生成该配送单的发票,更新库存数量,安排配送。若一配送单中
的图书未同时有货(通知尽快进货),且会员选择可以拆送,则系统会自动拆分成
不同配送单发货;但是,配送单中的某种图书只有库存有足够存书时才能安排配
送。
(11)一个配送单只能由一个配送公司进行配送(不同配送单可以由不同配送
公司配送);一个配送公司可以承接多次配送业务。
(12)配送单中的配送状态记录了该配送单的当前配送状态,包括“未发货”
“已发货”“已送到”等状态。需要根据配送单的配送进展情况及时更新配送单
的配送状态的值。
(13)订单明细中的配送状态记录了该图书的当前配送状态,包括“未配送”
“已部分配送”“已全部配送”“已部分送到”“已全部送到”等状态。每一次
更新配送单的配送状态之后,需要自动更新该配送单所对应的订单明细中相关图
书的配送状态的值。当订单明细中的某种图书全部送到后,则更新该图书的配送
状态为“已全部送到”。
(14)订单中的订单状态记录了该订单的当前处理状态,包括“未审核”“退
回”“已审核”“已部分配送“已全部配送”“已处理结束”等状态。每一次更
新订单明细的配送状态之后,需要自动更新亥订单明细所对应的订单中的订单状
态的值。当一个订单中所订购的所有图书的配送状态均为“已全部送到”时,则
更新该订单的订单状态为“已处理结束”。
(15)一种图书只由一个出版社出版而一个出版社可出版多种图书。
(16)一个会员可发表多条留言,一个职员可回复多条留言,但假设一条会员
发布的,但留言至多只回复一次。
6