网上售书系统.docx
- 文档编号:23746127
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:60
- 大小:998.56KB
网上售书系统.docx
《网上售书系统.docx》由会员分享,可在线阅读,更多相关《网上售书系统.docx(60页珍藏版)》请在冰豆网上搜索。
网上售书系统
山西大学
计算机与信息技术学院
《数据库系统》课程设计论文
题目:
网上售书系统
组长尹儒
专业软件工程
班级三班
授课教师白鹤翔
2014年6月9日
网上售书系统
学生姓名:
尹儒(2012242338)
张咪(2012242348)
郑雨舒(2012242356)
张鑫燕(2012242351)
岳香豆(2012242342)
宋靖华(2012242305)
(按照贡献大小排序)
授课教师:
白鹤翔
内容提要
随着网络的飞速发展,在线买书已经越来越成为读者选择图书的途径。
网上购书的优势在于选择面大、价格便宜、交易方便、节省时间和精力等。
整个图书市场一片繁荣,在这种情况下,网上书店的加入无疑将使得竞争更加激烈,但从另一个方面看,只有在这种激烈的竞争下,网上书店的优势才能得以体现。
在中国,网上书店有发展的必要,也有发展的基础,发展网上书店的各方面条件也日趋成熟。
在这种有利的环境下开发网上书店售书系统是很有必要的,我经过分析、设计、编码最后形成一个运行稳定,高效,安全的网上售书系统环境。
首先对网上售书系统进行需求分析,确定了研究分析对象,以及要实现的基本功能,对保持整个系统的安全性和完整性制订了方案方法,将需求分析结果以功能模块图、数据流图、数据字典的方式表现出来。
接着在概念设计阶段确定了总体的任务和目标,将抽象的用户需求转化为概念模型,为了确定实体间的联系根据数据流图制作出分块的初步E-R图,再通过去除冲突的方法将分块的E-R图合成全局系统的E-R图,为逻辑设计阶段奠定基础。
在逻辑设计阶段将得到的系统E-R图,根据E-R图的类型和一些实际需求转化为相应的关系模型,并通过分析关系模型中依赖关系,对关系模型进行了优化,同时根据确切需求分析各个关系模式所属范式和优化原因。
最终确定了在数据库中存储所用的关系模式,定义了基本表和视图模式,确定了系统功能模块图,得到了数据库的关系图。
根据以上得到的结果,构建出符合要求的数据库,通过物理设计将逻辑模型转化为物理模型,确定了存储结构和建立的索引以及功能模块。
关键字:
数据库;E-R图;数据流图;网上售书;系统设计;系统实现
目录
1.引言3
2.需求分析阶段3
2.1引言3
2.2需求分析阶段的目标与任务3
2.3需求分析阶段成果5
3.概念设计阶段15
3.1引言15
3.2任务与目标15
4.逻辑设计阶段18
4.1逻辑设计的任务和目标18
4.2数据组织18
4.2.1将E-R图转换为关系模型18
4.2.2模型优化19
4.2.3数据库模式定义19
4.3数据处理24
4.4数据库关系图24
5.物理设计阶段25
5.1物理设计阶段的目标与任务25
5.2数据存储方面25
5.3系统功能模块25
5.3.1用户查询书籍、购买书籍以及留言模块25
5.3.2管理员管理书籍、管理书籍分类、管理订单与留言模块27
6.数据库实施阶段29
6.1建立数据库、数据表、视图、索引29
6.1.1建立数据库29
6.1.2建立数据表30
6.1.3建立视图31
6.1.4建立索引32
6.1.5建立触发器32
6.2数据入库33
7.应用设计34
8.系统调试和测试38
9.存在的问题39
各个学生贡献的说明39
参考文献40
附录1程序源代码40
附录2数据查看和触发器功能的验证42
附录3所有的SQL运行语句47
1.引言
随着网络的飞速发展,在线买书已经越来越成为读者选择图书的途径。
网上购书的优势在于选择面大、价格便宜、交易方便、节省时间和精力等。
整个图书市场一片繁荣,在这种情况下,网上书店的加入无疑将使得竞争更加激烈,但从另一个方面看,只有在这种激烈的竞争下,网上书店的优势才能得以体现。
在中国,网上书店有发展的必要,也有发展的基础,发展网上书店的各方面条件也日趋成熟。
在这种有利的环境下开发网上书店售书系统是很有必要的,于是更多的个体和企业选择了网上销售。
这就是选用此作为设计课题的原因。
设计过程按照数据库设计方式从需求分析、概念模型建立、逻辑设计、物理设计、数据库实现、系统实现几个阶段一步一步完成了设计的任务。
2.需求分析阶段
2.1引言
网上购物已经成为一个重要的互联网领域,该系统主要模拟在线售书平台的购物流程,以及信息交互的过程。
根据已有在线平台的目标、需求和功能,制定和选择一个满足基本功能的系统方案,从而形成一个合理的模拟系统。
在线售书系统需要完成基本交易的功能,以及用户,书店管理员之间的信息交互。
经过调查,对双方的需求进行分析:
用户需要浏览书目;选择要购买的书目,能向管理员进行详细咨询留言;对购买的书目进行评价;充值自己的账户;将想要购买的书目放入购物车;对自己的基本信息进行修改,管理订单等。
书店管理员需要浏览书目;增添,删除,修改书目信息;回答用户对书目的留言;管理已售书目的信息,统计销售详情;增加,删除,修改书籍分类;管理订单。
为了完成上述的需求,将系统基本分为两个子系统:
顾客用户端,书店管理员端。
主要功能有:
1.管理端:
主要能管理自己的书目信息,书籍分类信息,收到的订单,查看并回答用户留言。
2.用户端:
能浏览所有的书目,管理自己的订单,修改个人信息,修改购物车书目信息,与管理员沟通,评价书目,充值账户。
2.2需求分析阶段的目标与任务
2.2.1处理对象
1.书店管理员信息:
管理员名,密码,昵称,实名,身份证号,邮箱,手机号码
2.用户信息:
用户名,用户密码,用户邮箱,用户手机号码,用户昵称,用户余额,用户地址,用户邮编
3.订单信息:
订单编号,书籍编号,书名,数量,价格,用户地址,用户邮编,用户手机号码
4.书籍信息:
书籍编号,分类,书名,单价,作者,出版社,库存,评价
5.留言信息:
留言书籍编号,留言内容
6.销售统计信息:
销售量,价格,书名,书籍编号
7.登录信息:
名称,密码
首先从需求分析阶段中,确定了几项基本的处理对象,有可能这些处理对象不完全,需要在后续的各个阶段中不断修改和完善。
2.2.2处理功能及要求
1.用户端的处理功能
1)能够对购物车进行管理主要包括:
书籍在购物车中的添加、修改、删除。
2)能够对订单进行填写及管理。
3)能够与书店管理员联系,主要包括:
对商品的留言咨询。
4)能够确认收货并对商品进行评价。
5)能够对自己账户进行充值。
2.管理端的处理功能
1)能够对自己书店内的书籍信息进行相应的操作与管理,主要包括:
书籍信息的录入、删除及修改。
2)能够对自己书店内的书籍分类信息进行相应的操作与管理,主要包括:
书籍分类信息的增加、删除、修改。
3)能够获取并回复用户留言咨询
4)能够获取用户对书籍的评价。
5)能够对订单进行管理。
3.能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。
4.对查询、统计的结果能够列表显示。
5.系统界面要友好,系统的健壮性要强,后台要稳定。
2.2.3.安全性和完整性要求
1)安全性要求
系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。
安全性先通过视图机制,不同的用户只能访问系统授权的视图,建立了对于用户的视图:
收货订单与未收货订单,对于管理员,则可以访问评价视图,这样可提供系统数据一定程度上的安全性。
再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性。
在本系统主要利用程序上控制权限,管理员拥有管理员权限,也就是说数据库对管理员是开放的。
对于首先用户注册帐号由系统完成,注册成功可以享有用户的权限,系统将注册信息写入用户信息;管理员注册帐号由书店老板给定,添加到数据库,添加成功之后可以享有管理员的权限,系统将注册信息写入管理员信息。
根据存在管理员与用户信息表中的帐号密码信息确定登录权限,若口令正确则可正常登录,执行相应的操作。
2)完整性要求
系统完整性要求系统中数据的正确性以及相容性。
可通过建立主、外键,确定了每个表中的主码,主码唯一,以及一个表与其他表相关联的外码;对于一些等级属性和一些确定取值范围的属性使用check约束,例如书籍评价信息为0-4级,-1代表没有评价;还有一些标志变量,取值范围为0或1代表的意义不同,可以通过使用触发器来实现;以及要做到视图级联更新;有的值不能为空,若为空则没有意义整个元组不完整,则需要表示Notnull通过定义实体完整性、参照完整性、用户定义完整性使其满足完整性要求。
利用触发器可以对给出等级的限制,将超出的部分变为合法的范围内数据;用户注销个人账户,建立触发器会将用户对应的购物车删除。
2.3需求分析阶段成果
2.3.1体会与收获
系统需求分析主要是通过对已有的网上售书平台的功能进行参考,了解了它们的管理规则和运行机制,并通过上网搜索有关网上售书管理系统的知识,了解到了网上售书情况的现状,以及在管理中的一些问题。
从一些网上售书系统找寻出一些基本的功能,在这些功能的基础上在绘制系统业务流程图,遇到了很多的问题,有的问题没法合理的表示出来,需要在过程中才会反应出来,仍需要继续改进,通过老师的帮助与指导,和组员之间一遍一遍的分析和完善,才逐步把业务各个过程了解清楚,最终顺利完成了需求分析阶段的任务。
2.3.2网上售书系统功能模块图
1.用户端功能模块图:
图1.1用户端功能模块图
2.管理端功能模块图:
图1.2管理端功能模块图
2.3.3网上售书系统数据流程图
1.系统整体数据流图:
图2.1系统整体数据流图
2.管理员子系统数据流图:
(1)系统整体数据流图:
图2.2管理员子系统整体数据流图
(2)管理订单部分数据流图:
图2.3管理员子系统---管理订单部分数据流图
(3)管理书籍部分数据流图:
图2.4管理员子系统---管理书籍部分数据流图
(4)管理书籍分类部分数据流图:
图2.5管理员子系统---管理书籍分类部分数据流图
4.用户子系统数据流图:
(1)系统整体数据流图:
图2.6用户买家子系统整体数据流图
(2)管理订单部分数据流图:
图2.7用户子系统----管理订单部分数据流图
2.3.4在线售书系统数据字典
1、数据项:
系统涉及的数据项39项
(1)管理员信息:
表2.1数据字典管理员信息部分
数据项编号
数据项名
数据项含义
所属基本表
存储结构
别名
DL-1
管理员名
登录所需
管理员信息
char(12)
DL-2
密码
登录所需
管理员信息
char(12)
DL-3
昵称
管理员信息
char(12)
DL-4
实名
管理员信息
char(12)
DL-5
身份证号
管理员信息
char(18)
DL-6
邮箱
管理员信息
char(30)
DL-7
手机号码
管理员信息
char(11)
(2)用户信息:
表2.2数据用户信息部分
数据项编号
数据项名
数据项含义
所属基本表
存储结构
别名
DL-8
用户名
登录所需
用户信息
char(12)
DL-9
用户密码
登录所需
用户信息
char(12)
DL-10
用户邮箱
用户信息
char(12)
DL-11
用户手机号码
用户信息
char(12)
DL-12
用户昵称
用户信息
char(12)
DL-13
用户余额
用户信息
Float
金额
DL-14
用户地址
用户信息
char(40)
DL-15
用户邮编
用户信息
char(12)
(3)订单信息:
表2.3数据字典订单信息部分
数据项编号
数据项名
数据项含义
所属基本表
存储结构
别名
DL-16
订单编号
确定订单
订单信息
Int
DL-17
书籍编号
订单信息
Int
DL-18
书名
书籍名
订单信息
char(30)
DL-19
数量
订单信息
Int
DL-20
价格
订单信息
Float
DL-21
用户地址
订单信息
char(40)
DL-22
用户邮编
订单信息
char(11)
DL-23
用户手机号码
订单信息
char(11)
(4)书籍信息:
表2.4数据字典书籍信息部分
数据项编号
数据项名
数据项含义
所属基本表
存储结构
别名
DL-24
书籍编号
确定书籍
书籍信息
Int
DL-25
书名
书籍信息
char(20)
DL-26
分类
书籍信息
char(20)
DL-27
单价
书籍信息
Float
DL-28
作者
书籍信息
char(20)
DL-29
出版社
书籍信息
char(40)
DL-30
库存
书籍信息
Int
DL-31
评价
书籍评价
书籍信息
char(200)
等级
(5)留言信息
表2.5数据字典留言信息部分
数据项编号
数据项名
数据项含义
所属基本表
存储结构
别名
DL-32
留言书籍编号
留言信息
Int
DL-33
留言内容
留言信息
char(400)
(6)销量统计信息:
表2.6数据字典销售统计信息部分
数据项编号
数据项名
数据项含义
所属基本表
存储结构
别名
DL-34
书籍编号
销量统计信息
Int
DL-35
销售量
销售统计
销售统计信息
Int
DL-36
价格
销售统计信息
Float
DL-37
书名
销售统计信息
char(20)
(7)登录信息:
表2.7数据字典登录信息部分
数据项编号
数据项名
数据项含义
所属基本表
存储结构
别名
DL-38
名称
登录信息
char(20)
DL-39
密码
登录信息
char(20)
2、数据结构:
表2.8数据结构表
数据结构编号
数据结构名
数据结构含义
组成
DS-1
用户信息
存储用户基本信息
用户名,用户密码,用户邮箱,用户手机号码,用户昵称用户,余额,用户地址
DS-2
管理员信息
存储管理员基本信息
管理员名,密码,昵称,实名,身份证号,邮箱,手机号码
DS-3
订单信息
存储订单基本信息
订单编号,书籍编号,书名,数量,价格,用户地址,用户邮编,用户电话号码
DS-4
书籍信息
存储书籍基本信息
书籍编号,分类,名称,作者,出版社,价格,库存,评价
DS-5
留言信息
存储留言信息
留言书籍编号,留言内容
DS-6
评价信息
存储评价信息
等级,详细内容
DS-7
功能信息操作
删除订单,收货确认,评价信息
DS-8
登录信息
名称,密码
DS-9
修改信息
对书籍修改
分类,名称,价格,库存,评价
DS-10
销售统计信息
存储销售信息
书籍编号,销售总量,价格,书名
DS-11
购物车表
存储购物车信息
用户名,订单编号
2.3.5处理逻辑描述
表2.9用户端处理逻辑描述
处理编号
处理功能
处理过程
PR-1
判断购物车管理要涉及的功能模块然后进行管理操作
购物车信息模块、书籍信息模块、先确定购物车管理所要涉及的功能模块,将所要的书籍信息传入购物车信息模块或进行编辑信息
PR-2
判断订单管理所要涉及的功能模块
订单模块、购物车模块、
确定订单管理所要涉及的功能模块,将消息传入相应的模块中,然后进行相应的操作
PR-3
判断分类浏览所涉及到的功能模块
书籍分类模块、书籍信息模块
提供检索关键字,传入相应的模块
表2.10管理员处理逻辑描述
处理编号
处理功能
处理过程
PR-1
判断书籍修改要求设计的功能模块,同时将相应的修改数据传入相应的模块中
书籍信息模块、
先确定更新所涉及的功能模块。
然后将更新信息传入相应的模块最后进行相应的更新操作
PR-2
判断销售所涉及的功能模块,然后将统计数据计入相应的功能模块
订单信息(已收货)模块、用户信息模块、销售统计模块
先确定销售统计所涉及的功能模块,然后将数据传入销售统计模块中
PR-3
判断书籍分类浏览所涉及到的功能模块
书籍分类模块、书籍信息模块
提供检索关键字,传入相应的模块
PR-4
判断留言咨询及评价所能涉及的功能模块,然后进行回复操作,同时将操作信息传入相应的功能模块
留言评价模块、用户信息模块、书籍信息模块
先确定留言评价所涉及的功能模块,然后管理员进行查看回复等相应的操作,然后将操作信息传入相应的功能模块
3.概念设计阶段
3.1引言
系统开发的总体目标是实现网上售书的系统化和自动化,实现网上购书的基本需求,提高购书的质量和水平,做到高效、智能化管理。
主要任务是实现购买功能,订单功能,支付功能,购物车功能,统计分析功能,对用户信息,管理员信息,书籍信息,订单信息和其他信息进行管理和操作。
概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。
3.2任务与目标
(1)选择中层数据流为切入点,通常选择实际系统中的子系统;
(2)设计分E-R图,即各子模块的E-R图;
(3)生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一;
(4)生成全局E-R图,通过消除冲突等方面。
在本网上售书系统中,从两个子系统的流程图下手。
分析各子系统的数据流图和数据字典,知道整个系统功能围绕“用户”、“管理员”和“书籍”的处理。
根据实体与属性间的两条准则:
作为“属性”,不能再具有需要描述的性质。
“属性”不能与其他实体具有联系。
从分层的数据流图中将系统分为两个子系统:
用户子系统,管理员子系统。
某一层的数据流图中,每个局部应用都对应了一组数据流图,局部应用涉及的数据都已经收集在数据字典中了。
现在将这些数据从数据字典中抽取出来,根据数据流图,确定实体之间的联系及其类型。
根据数据流图图2.2确定了管理端分E-R图(图3.1);根据数据流图图2.6确定了用户端分E-R图(图3.2)。
对于两个分E-R图,通过消除属性冲突,例如将所有的编号都统一为数值型,将所有的用户名和密码统一为字符型,将联系方式统一为字符型;消除命名冲突,将同名异义的取不同的名称,将异名同义的改为统一名称;消除结构冲突,将实体的属性统一,对在不同E-R图中相同实体的不同联系进行调整,得到了系统的E-R图(图3.3)。
3.3阶段结果
(1)根据不同的对象,从第二层数据流程图入手,分别画出各分E-R图:
(a)从数据流程管理员数据流图抽象出的分E-R图:
图3.1管理员E-R图
(b)从数据流程用户数据流图抽象出的分E-R图:
图3.2用户E-R图
(c)合并分E-R图,合成系统整体E-R图:
图3.3网上售书系统E-R图
(3)各E-R图各实体主要属性如下所示:
1.书店管理员信息:
管理员名,密码,昵称,实名,身份证号,邮箱,手机号码
2.用户信息:
用户名,用户密码,用户邮箱,用户手机号码,用户昵称,用户余额,用户地址,用户邮编
3.订单信息:
订单编号,书籍编号,书名,数量,价格,用户地址,用户邮编,用户手机号码
4.书籍信息:
书籍编号,分类,书名,单价,作者,出版社,库存,评价
5.留言信息:
留言书籍编号,留言内容
4.逻辑设计阶段
4.1逻辑设计的任务和目标
以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。
具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。
以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。
具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。
4.2数据组织
4.2.1将E-R图转换为关系模型
1.用户和订单、书籍、购物车内书籍的关系为(1:
n),因为这些关系模型若存放在一张表中会造成数据的重复冗余存储,浪费空间,所以将用户信息与书籍,订单信息,购物车的书籍分成多个表,用户信息单独成表,通过用户名关联。
2.订单与用户的关系为(n:
1),同样道理对于(n:
1)的关系模式,将买家用户名添加到订单信息表中作为外码,可以通过书籍编号与书籍信息进行关联,但考虑到订单经常查询书籍的名称价格,而不会经常查阅书籍描述以及评价等信息,所以将书籍名和价格这些属于书籍信息的属性也合并到订单信息中,订单包括已付款和是否发货,是否收货,管理员和用户有不同的权限对订单表操作,其余信息则为订单本身属性。
3.书籍与管理员和用户的关系为(m:
n),通过书籍编号与用户、管理员进行关联,所以书籍信息与用户、管理员信息独立成表。
4.留言信息建立在用户与书籍之间的联系(m:
n),一个用户一个书籍编号可以确定一组留言内容,将书籍编号与买家用户名设为码,管理员通过查询书籍编号得到所有用户的留言信息。
因为留言信息与书籍联系只需通过书籍编号进行关联,无需把所有书籍信息加入表中,这样节约空间,要求书籍信息时只需要与书籍信息通过书籍编号进行连接即可,而且这种操作并不频繁。
5.鉴于管理员与书籍(n:
m)的关系,书籍信息与管理员信息这些关系模型若存放在一张表中会造成数据的重复冗余存储,浪费空间,所以将管理员信息单独成表。
管理员名为主码,其他为管理员属性的其他信息。
6.购物车表存储用户添加进购物车但没有填写订单的书籍,当填写订单后则删除该信息,所以购物车中只存书籍编号,所需书籍信息时,在从书籍信息表中选择,这样减少了存储空间,效率上降低的也会很少。
综上所述得到了如下关系模型:
用户信息(用户名,用户密码,用户邮箱,用户手机号码,用户昵称,用户余额,用户地址,用户邮编)
订单信息(订单编号,用户名,书籍编号,书名,数量,价格,用户地址,用户邮编,用户手机号码,收货确认,发货状态)
书籍信息(书籍编号,书名,作者,分类,价格,库存,出版社,评价)
留言信息(用户名,留言书籍编号,留言内容)
管理员信息(管理员名,密码,昵
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 系统