数据库.docx
《数据库.docx》由会员分享,可在线阅读,更多相关《数据库.docx(18页珍藏版)》请在冰豆网上搜索。
数据库
课程设计(论文)任务书
软件学院学 院 网络工程专 业2009-2班
一、课程设计(论文)题目 数据库原理及应用课程设计
二、课程设计(论文)工作自2011年12月26日起至2011年12月30日止。
三、课程设计(论文)地点:
软件学院机房
四、课程设计(论文)内容要求:
1.本课程设计的目的
(1)使学生理论联系实际,巩固和加深对数据库基础理论和基本知识的理解;
(2)掌握使用数据库进行软件设计的基本思想和方法;
(3)提高学生运用数据库理论解决实际问题的能力;
(4)培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。
2.课程设计的任务及要求
1)基本要求:
(1)能熟练应用SQLServer数据库管理系统软件进行数据库开发;
(2)能熟练应用某一面向对象程序设计语言进行程序开发;
(3)能编写某一高级语言程序调用SQLServer数据库的接口模块。
(4)初步掌握数据库系统的开发步骤和技术。
2)课程设计论文编写要求
(1)理论设计部分以课程设计论文的形式提交,格式必须按照课程设计论文标准格
式进行书写和装订。
(2)课程设计报告(论文)包括:
封面—任务书—中文摘要—目录—正文—附录。
(3)其中正文包括:
绪论、概要设计、详细设计、调试与运行结果及存在的主要问
题、课程设计小结、参考文献等内容。
3)课程设计评分标准:
(1)考勤与学习态度:
20分
(2)理论理解与论文撰写:
40分;
(3)动手操作与系统设计:
20分;
(4)系统检查与答辩:
20分。
4)课程设计进度安排
1.准备阶段(4学时):
选择设计题目、了解设计目的要求、查阅相关理论资料。
2.系统设计阶段(8学时):
应用程序和数据库系统的概要设计、详细设计。
3.代码编写和调试阶段(20学时):
应用程序和数据库模块的代码编写、调试、测试。
4.撰写论文阶段(8学时):
总结课程设计任务和设计步骤,撰写课程设计论文。
学生签名:
2011年12月26日
5)选择课程设计题目的具体要求:
选择的题目:
.图书销售管理系统的设计与实现
具体要求是:
调查一个书店的图书销售业务,设计的图书销售系统主要包括进货、退货、统计、销售、查询功能。
①进货:
根据某种书籍的库存量及销售情况确定进货数量,根据供应商报价选择供应商。
输出一份进货单并自动修改库存量,把本次进货的信息添加到进货库中。
②退货:
顾客把已买的书籍退还给书店。
输出一份退货单并自动修改库存量,把本次退货的信息添加到退货库中。
③统计:
根据销售情况输出统计的报表。
一般内容为每月的销售总额、销售总量及排行榜等信息。
④销售:
输入顾客要买书籍的信息,自动显示此书的库存量,如果可以销售,打印销售单并修改库存,同时把此次销售的有关信息添加到日销售库中。
⑤查询:
允许用户设置条件进行进货、退货、统计、销售和库存书籍的信息查询。
⑥系统维护:
如数据安全管理(含备份与恢复)、操作员管理、权限设置等;
课程设计(论文)评审意见
(1)考勤与学习态度(20分):
优( )、良( )、中( )、一般( )、差( );
(2)理论理解与论文撰写(40分):
优( )、良( )、中( )、一般( )、差( );
(3)动手操作与系统设计(20分):
优( )、良( )、中( )、一般( )、差( );
(4)系统检查与答辩(20分):
优( )、良( )、中( )、一般( )、差( );
(5)格式规范性及考勤是否降等级:
是( )、否( )。
评阅人:
职称:
讲师
2011年12月30日
摘要
随着计算机的普及书店规模的不断扩大,使图书销售管理成为书店管理中的一个重要课题。
通过图书销售管理系统可以解决书店管理中遇到的各种问题。
本系统分析了市场需求和实际需要,利用VC++连接SQL数据库的方式,主要实现了书店的网上图书销售管理,该系统具有处理图书录入、图书销售、销售统计、查询库存等功能。
关键字:
销售;统计;库存;录入
目录
1绪论4
2需求分析5
2.1功能需求5
2.2主要数据表的结构7
3概要设计10
3.1系统运行环境10
3.2系统功能模块设计10
3.3系统处理流程11
3.4接口设计12
4概念结构设计12
4.1系统E-R图12
4.2实体属性13
4.3E-R图分析14
5逻辑结构设计15
5.1.ER图转换15
5.2转换规则15
总结16
谢辞17
参考文献17
1绪论
本系统就是基于网上书店管理系统,通过本系统的开发能够更方便书店的管理,使书店的管理者能够更清晰的掌握书店的销售情况。
并且通过本系统的使用能够达到减少店员的工作量和提高工作效率的目的。
本系统主要功能包括录入功能、查询功能、管理功能。
1.录入功能录入功能包括录入图书、销售图书、退出功能。
(1)录入图书。
书店工作人员能够输入图书的基本信息。
(2)销售图书。
用于计录销售的图书的信息。
(3)退出功能。
用于退出系统。
2.查询功能查询功能包括按书号查询、按书名查询、按出版社查询、按类别查询、按作者查询。
(1)精确查询。
书店工作人员能够通过输入书号、书名、ISBN、书的类别等来进行精确的查询。
(2)模糊查询。
书店工作人员能够通过输入关键字来进行模糊的查询。
这些功能在本系统中具体是:
书店的资料管理、进货管理、销售管理、库存信息管理。
通过测试,基本实现了网上书店正常运作的信息化管理。
在Internet上通过它用户可以突破时间和空间的限制来实现网上购书,为消费者带来了很大的方便,使他们足不出户就可以买到自己想要的书;还有一个最大的优势是便于管理员的管理与维护,既省时又省力。
它还有着经营成本低、库存是虚拟的、用户检索方便、地域限制少等特点。
2需求分析
2.1功能需求
(1)软件的功能需求
本系统是根据书店的实际需求而开发的,要求稳定、可靠的实现图书销售的自动化管理,通过本系统可以达到以下目标:
.图书录入,包括图书的基本信息,如分类、进价、售价、作者等。
.图书销售,包括图书的售价、折扣、销售日期,并实现对库存量的修改。
.销售统计,包括按图书类型、书名、作者、出版社等进行统计。
.查询库存,对指定的某本图书剩余库存量进行查询。
.售完图书查询,对已售完图书进行查询。
(2)软件的功能
按照用户需求,要满足以上功能,我设计出了图书销售管理系统的系统功能图,如图1所示。
图1图书销售管理系统的系统功能图
综合系统要求,对图1所示的系统功能解释如下:
图书录入,包括图书的基本信息,如分类、进价、售价、作者等。
图书销售,包括图书的售价、折扣、销售日期,并实现对库存量的修改。
销售统计,包括按图书类型、书名、作者、出版社等进行统计。
查询库存,对指定的某本图书剩余库存量进行查询。
售完图书查询,对已售完图书进行查询。
通过以上分析,可以得到仓库管理系统的数据流图,如图2所示。
图2图书管理系统的数据流图
图3系统结构图
2.2主要数据表的结构
主要数据表的结构
数据库中共包含五张表:
users表,books表,goods表,sorts表和words表
各张表的说明:
users表:
存放系统中注册用户和管理员详细信息,包含的字段有:
userID:
用户注册时系统自动分配的ID值(主键)
userName:
存放用户登录系统的用户名
password:
存放用户登录系统的密码
realName:
存放用户的真实姓名
telephone:
存放用户的联系电话
email:
存放用户的电子邮箱
createTime:
存放用户注册的时间
sysRole:
存放用户对系统所具有的权限,客户的sysRole=0,管理员的sysRole=0
表users:
(字段创建类型)
books表:
存放图书的信息
bookID:
图书添加是系统所分配的唯一的ID值(主键)
bookName:
存放图书的名称信息
pub:
保存图书的出版社信息
author:
存放图书的作者信息
price:
存放图书的单价信息
sortID:
存放图书所属的分类的ID值
intro:
存放图书的简介信息
recommendNumber:
存放客户的推荐购买数
表books:
sorts表:
存放图书的分类信息
sortID:
图书分类添加系统自动分配的图书分类号(主键)
sortName:
存放图书的分类名称
tag:
标记值
表sorts:
words表:
存放客户对图书的评价信息
wordID:
存放评论的ID值,客户的评论存入数据库时系统自动分配的唯一的ID值(主键)
wordContent:
存放客户的评论信息
bookID:
存放客户所评论的图书ID值
authorID:
存放客户的ID值
createTime:
存放评论的发表时间
表words:
goods表:
存放客户的订单信息
goodID:
存放客户订单的ID值,当订单创建时,系统自动分配(主键)
userID:
存放订单相关的客户信息
bookID:
存放客户订购单图书的ID值
createTime:
存放订单的创建时间
buyNumber:
:
存放客户订购图书的数量
表goods:
3概要设计
3.1系统运行环境
系统的运行环境:
Windows操作系统
应用软件:
VisualC++6.0
3.2系统功能模块设计
图4所示的系统功能模块图。
图5系统功能模块
各模块功能分配如下:
(1)用户登陆功能:
管理员登陆模块(
)。
(2)图书录入功能:
图书录入模块(
)。
(3)图书销售功能:
图书销售模块(
)。
(4)销售统计功能:
销售统计模块(
)。
(5)查询图书库存功能:
查询库存模块(
)。
(6)售完图书查询功能:
售完图书查询模块(
)。
3.3系统处理流程
(1)系统启动,进入身份验证。
(2)初始化系统,导入数据库。
(3)录入图书信息。
(4)图书销售。
(5)统计图书销售信息。
(6)查询图书库存信息。
(7)查询已售完图书信息。
(8)退出系统。
3.4接口设计
3.4.1外部接口
(1)用户界面
采用图形用户界面,包含菜单、按钮、对话框等元素。
(2)软件接口
软件运行于VisualC++6.0平台上。
(3)硬件接口
运行于PC机上。
3.4.2内部接口
(1)用户登陆模块(M1):
由相应事件驱动消息激活,完成用户登陆功能,之后进入消息循环状态。
(2)图书销售模块(M3):
由相应事件驱动消息激活,完成图书销售功能,之后进入消息循环状态。
(3)销售统计模块(M4):
由相应事件驱动消息激活,完成销售统计功能,之后进入消息循环状态。
(4)查询库存模块(M5):
由相应事件驱动消息激活,完成查询库存功能,之后进入消息循环状态。
(5)售完图书查询模块(M6):
由相应事件驱动消息激活,完成售完图书查询功能,之后进入消息循环状态。
4概念结构设计
4.1系统E-R图
图6系统E-R图
4.2实体属性
(1)业务员与权限
业务员基本属性(业务员号,名称,权限级别,密码);
权限清单基本属性(权限序号,业务员号,权限名称);
(2)供货商、进货单及进货明细
供货商基本属性(供货商号,名称,地址,邮编,地区,电话,邮箱地址,开户行,银行账号,业务员,业务部门);
进货单基本属性(编号,进货商号,进货日期,业务员,制单人,总金额);
进货单明细(编号,进货单号,进货数量,进价,仓库,合计);
(3)客户、销售单与销售单明细
客户基本属性(客户编号,名称,联系人,地址,邮编,区号,电话,邮箱地址,开户行,银行账号);
销售单基本属性(编号,客户编号,销售日期,业务员,制单人);
销售单明细基本属性(编号,销售单号,销售数量,销售价,仓库,总额);
(4)进货单明细与图书
图书基本属性(书名,作者,出版社,出版日期,类别,开本规格,进货价,销售价);
4.3E-R图分析
(1)供货商与进货单关系为进货,供货商通过进货可以得到进货单,并且可以多次购货,所以供应商与进货单的关系应该为一对多。
(2)进货单与进货单明细关系是拥有,进货单上列明进货详细,并且一张进货单可分别列出多个进货明细,因此进货单与进货单明细对应关系为一对多。
(3)进货单明细与图书关系是进货,其中进购图书可以列明多个进货单明细,因此进货单明细和图书对应关系为多对一。
(4)图书与销售单明细关系是销售,销售图书可以列明多个销售单明细,因此进销售单明细和图书对应关系为多对一。
(5)销售单和销售单明细的关系是拥有,因为一张销售单包括多个销售明细,所以销售单和销售单明细的对应关系是一对多。
(6)客户和销售单的关系是销售,对每个客户可多次销售即可发放多个销售单,所以客户和销售单的关系是一对多。
5逻辑结构设计
5.1.ER图转换为关系模型
.业务员表(业务员号,名称,密码);
.权限清单(权限序号,业务员号,权限名称);
.供货商表(供货商号,名称,地址,邮编,地区,电话,邮箱地址,开户行,银行账号,业务员,业务部门);
.进货单表(编号,进货商号,进货日期,业务员,制单人,仓库,总额);
.进货单明细表(编号,进货单号,书号,进货数量,进价,仓库,总额);
.客户表(客户编号,名称,联系人,地址,邮编,区号,电话,邮箱地址,开户行,银行账号);
.销售单表(编号,客户编号,销售日期,业务员,制单人);
.销售单明细表(编号,销售单号,书号,销售数量,销售价,仓库,总额);
.书目清单(书号,书名,作者,出版社,出版日期,类别,开本规格,进货价,销售价,);
.仓库表(仓库号,书号);
.进货(进货编号,仓库号);
.销售(销售编号,仓库号);
5.2转换规则
.若是实体间联系是1:
1,可以在两个实体类型转换成的两个关系模式中任意一个的属性中加入另一个关系模式的键和联系类型的属性。
.若是实体间联系是1:
N,则在N端实体类型转换成的关系模式中加入1端实体类型的键和联系类型的属性。
.若实体间联系为M:
N,则将联系类型也转换成关系模型,其属性为两端实体类型的属性的键加上类型的属性,而键为两端实体键的组合。
总结
此次课程设计不单单只是考验我们数据库的知识,更是对我们大学三年所掌握的计算机知识的大考验。
本次课程设计完成的是图书销售管理系统,我基本完成了所要求的几个功能,包括图书录入、图书销售、销售统计、查询库存等功能。
通过本次课程设计,自己对VisualC++6.0的基本知识有了一个很好的巩固和学习,特别是VisualC++6.0中的MFC,它的功能是非常强大的,使用它制作图形界面很方便。
而且自己还进一步熟悉了SQL数据库的知识,包括建表、查询、修改等操作,以及学习了VisualC++6.0怎样连接数据库。
本次课程设计完成的是图书销售管理系统,我基本完成了所要求的几个功能,包括图书录入、图书销售、销售统计、查询库存等功能。
但是开始做这个课程设计的时候,感觉到自己只有一些理论知识,无法动手来操作。
通过认真的学习来解决这一问题,这也提高了实际操作的能力。
在编写程序的过程中,也发现自己还是存在着很多的缺点,对VisualC++6.0的知识和使用不是很熟悉,操作数据库也不熟练,还需要自己多加练习来达到熟练的目的,以后还要努力学习锻炼自己。
谢辞
首先要感谢的是本次课程设计的指导老师对我的耐心指导,我才顺利地完成了这次课程设计。
可以说这很大程度上归功于老师的帮助,这也给了我很大的鼓励,使我有信心完成该题目。
最重要的是要感谢这学期老师在学习上给我的帮助,在老师的讲解下我了解了数据库这门课程,虽然我学的不精通但是老师的确在学习上给了我很大的帮助。
我会在今后的学习力继续巩固这门课的知识,不让老师失望。
另外还要感谢的就是我的同学们,在这次课程设计中他们给了我很多细心的帮助。
谢谢你们!
参考文献:
[1]宋坤,李伟明《VisualC++数据库系统开发案例精选》.人民邮电出版社,2006
[2]李强,贾云霞《VisualC++项目开发实践》.北京:
中国铁道出版社,2003
[2]网冠科技《VisualC++6.0MFC时尚编程百例》.机械工业出版社,2004
[4]张海藩《软件工程概论》清华大学出版社
[5]陈明《实用软件工程基础》清华大学出版社