数据库课程设计规范报刊管理系统的设计与实现vfp.docx
《数据库课程设计规范报刊管理系统的设计与实现vfp.docx》由会员分享,可在线阅读,更多相关《数据库课程设计规范报刊管理系统的设计与实现vfp.docx(34页珍藏版)》请在冰豆网上搜索。
数据库课程设计规范报刊管理系统的设计与实现vfp
计算机工程学院
数据库原理及应用
课程设计报告
课题名称:
报刊订阅管理系统的设计与实现
专业:
信息管理与信息系统
班级:
信管1121
姓名:
许康丽
学号:
1121807128
指导老师:
周泓、金春霞
2013年12月14日
课程设计任务及进度表
课题
名称
报刊订阅管理系统的设计与实现
设计
目的
通过对报刊订阅管理系统的设计和开发,了解了数据库的设计与开发的全过程,达到巩固数据库理论知识、锻炼实践能力和构建合理知识结构的目的。
实验
环境
操作系统:
Windowsxp;
编程环境:
VFP
任务
要求
1.搜集报刊订阅管理系统问题方面的资料,进行需求分析;
2.完成概念设计、逻辑设计等各阶段的设计;
3.编写程序代码,系统调试;
4.撰写课程设计报告;
5.参加答辩。
工作进度计划
序号
起止日期
工作内容
1
2013.11.17~2013.11.23
查询资料、确定课题
2
2013.11.24~2013.11.30
需求分析、系统总体设计
3
2013.12.1~2013.12.14
系统详细设计、编写程序代码、调试程序
4
2013.12.8~2013.12.14
撰写课程设计报告,答辩
指导教师(签章):
年月日
课程设计评语
学生姓名:
许康丽
班级、学号:
信管11211121807128
题目:
报刊订阅管理系统的设计与实现
综合成绩:
教师评语:
教师(签字):
年
月
日
中文摘要
本系统以VFP为开发环境,是一个面向于企业的报刊订阅管理系统。
系统是智能化的管理系统,它面向所有企业部门的职工用户,但具有安全性能[1]。
它能够实现报刊订阅的基本功能,包括新报刊信息的登录、录入、订阅、查询、统计等操作。
用户合法注册后必须输入有效密码才能成功进入此系统,可以进行订阅报刊,查询信息,统计信息等操作。
订阅信息处理的特点是订阅信息处理量比较大,所管理的信息信息种类繁多,而且订阅单、编辑单的发生量特别大,关联信息多,查询和统计的方式各不相同。
因此在管理上实现起来有一定因难。
系统在设计过程中,为了克服这些困难,需要使程序代码标准化,软件统一化,确保软件的可维护性和实用性;删除不必要的管理冗余,实现管理规范化、科学化;界面友好、简单化,做到实用、方便,尽量满足用户的需要[2,3]。
关键词VFP,登录,录入,订阅,查询,统计,管理系统
外文摘要
TitleDesignandimplementationofasubscriptionmanagementsystem
Abstract
ThissystemusesVFPasthedevelopmentenvironment,isanewspapersubscriptionmanagementsystemforenterprises.Thesystemisanintelligentmanagementsystem,itisopentoallenterprisessectorworkersusers,butwithsafetyperformance.Itcanrealizethebasicfunctionofnewspapersandjournals,includingthenewpressinformation,input,querylog,subscription,statisticsandotheroperations.Afterlegallyregistereduserstoenteravalidpasswordtosucceedinthissystem,cansubscribetonewspapers,informationinquiry,statisticalinformationandotheroperations.Characteristicsofsubscriptioninformationprocessingistosubscribetoarelativelylargeamountofinformationprocessing,informationmanagementandvarioustypes,subscription,editoccurrencequantityofsingleespecially,correlationinformation,queryandstatisticsindifferentways.Thereforemanagementrealizationhascertaindifficulty.Intheprocessofsystemdesign,inordertoovercomethesedifficulties,needtomakecodestandardization,softwareunified,ensurethatsoftwaremaintainabilityandusability;deleteunnecessaryredundancymanagement,implementationmanagementstandardization,scientific;friendlyinterface,simple,practical,easytodo,trytomeettheneedsofstaffsubscriptionsinthe.
Keywordsvfp,login,input,query,statistics,subscription
1引言………………………………………………………………1
1.1背景………………………………………………………………1
1.2可行性分析………………………………………………………1
2系统需求分析………………………………………………………1
2.1信息需求分析……………………………………………………1
2.2功能需求分析………………………………………………………2
2.3数据流图……………………………………………………………3
2.4数据字典…………………………………………………………5
3系统设计…………………………………………………………………6
3.1系统功能结构设计………………………………………………7
3.2数据库概念设计…………………………………………………7
3.3数据库逻辑设计…………………………………………………10
4系统实现与测试…………………………………………………………12
4.1数据库连接………………………………………………………12
4.2模块功能实现……………………………………………………12
4.2.1菜单的实现………………………………………………12
4.2.2登录模块的实现…………………………………………13
4.2.3录入信息模块的实现……………………………………15
4.2.4查询信息模块的实现……………………………………15
4.2.5统计信息模块的实现……………………………………16
4.2.6订阅报刊模块的实现……………………………………17
4.2.7更改信息的实现…………………………………………18
4.3系统测试………………………………………………………19
结论…………………………………………………………………………………28
致谢…………………………………………………………………………………29
参考文献……………………………………………………………………30
1引言
报刊订阅管理系统是一个企业单位不可缺少的部分,它的内容对于企业的员工和管理者来说都是至关重要的,所以报刊订阅管理系统应该能够成为用户提供充足的信息和快捷订阅的查询手段[4~6]。
但是一直以来人们使用传统人工的方式订阅报刊,这种管理方式存在着许多的缺点,如:
效率低,保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。
1.1背景
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
使用计算机对报刊、员工信息进行管理,具有手工管理所无可比拟的优点,例如:
检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本低等,这些优点能够极大地提高报刊订阅管理的效率。
1.2可行性分析
“报刊订阅管理系统”的设计与开发,能够为企业员工和管理员提供快捷方便的查询报刊的基本信息并订阅报刊。
管理员能够对用户的基本信息进行增加,修改,删除,批量导入和查询,也可以对报刊信息进行增加,修改,删除,批量导入,查询和订阅,而员工只能对自己的基本信息和报刊订阅进行查询,订阅,不能修改,这样能够增加数据的安全性。
2系统需求分析
2.1信息需求分析
业务流程中用到的相关单据主要是报刊信息还有订单信息
表2.1.1报刊信息表
报刊代号
46-250
报刊名称
IT时代周刊
出版报社
科技出版社
出版周期
半月刊
每月定价
10.00 元/月
分类编号
1001
报刊介绍
《IT时代周刊》是一本深刻解读信息时代商业变革的杂志。
除深度报道信息产业的重大新闻外,还报道金融、汽车、股市、零售等传统行业利用IT提升商业与管理的新闻。
《IT时代周刊》以调查见深度;以商业故事见功力。
是CEO/CIO/CFO以及政府官员、商业领袖首选刊物。
表2.1.2订单信息表
订单编号
报刊代号
用户编号
订阅日期
订阅月数
份数
操作
3003
46-205
3206
2008-7-1
订一月
1
取消订阅
3004
26-306
3108
2008-7-8
订半年
2
取消订阅
3005
72-310
3100
2008-7-9
订一年
1
取消订阅
3006
45-214
2541
2008-7-10
订一季
1
取消订阅
2.2功能需求分析
本系统的主要结构功能图如下:
(1)登陆功能:
登陆系统为身份验证登录。
分为管理员登录和一般用户登录。
分别通过不同的用户名和密码进入报刊订阅管理界面。
(2)录入新信息功能:
对于管理员,包括新用户信息和新报刊信息的录入功能,信息一旦提交就存入到后台数据库中;普通用户自行注册进行录入个人信息。
(3)订阅功能:
用户可以订阅报刊,系统自动计算所需金额,并显示在界面上;管理员不可订阅报刊,必须以用户身份订阅报刊。
(4)查询功能:
用户可以查询并显示自己所订阅的信息;管理员可以按人员、报刊、部门分类查询。
查询出的信息显示在界面上。
(5)统计功能:
管理员可以按用户、部门、报刊统计报刊的销售情况,并对一些重要的订阅信息进行统计;普通用户可以统计出自己的订阅情况。
(6)系统维护功能:
管理员可以对用户、报刊、部门、订阅等信息进行添加、删除、更改等维护工作;用户可以更改自己的注册信息,但用户名不能更改。
2.3数据流图
图2.3.1报刊订阅管理系统顶层图
图2.3.2系统1层图
图2.3.3系统2层图
图2.3.4系统3层图
图2.3.5系统4层图
2.4数据字典
(1)数据结构
管理员用户
订户=订户编号+订户名+联系电话+联系地址
目录=目录编号+目录名+单价+批注信息
订单=订单号+订户编号+下订日期
订单细节=订单号+目录编号+订阅数量+订阅期数+单价+总价
(注:
为保证订单确定后价格不随目录单价变动,订单细节中应该有独立的单价来记录下订时目录的单价)
(2)数据项
表2.4.1数据项表
编号
标识符
类型
长度
所属表名
同义名
1
Aname
Varchar
20
Administrator
管理员帐户
2
Apassword
Varchar
20
Administrator
管理员密码
3
Uname
Varchar
20
Consumer
订户名
4
Uphone
Varchar
15
Consumer
联系电话
5
UAddress
Varchar
50
Consumer
联系地址
6
Magazine_name
Varchar
20
Magazine
目录名
7
WholPrice
Float
8
Magazine
Subscrible
目录单价,
下订时目录单价
8
Snum
Int
4
Subscribe
订阅数量
9
Subscribenum
Int
4
Subscribe
订阅期数
10
Snum
Float
8
Subscribe
订单项总价
(3)数据流
表2.4.2数据流表
编号
名称
来源
去向
组成
1
身份信息
系统管理员
应用系统
管理员帐户+密码
2
授权信息
应用系统
系统管理员
3
错误身份信息
应用系统
系统管理员
4
查询请求
系统管理员
应用系统
待查询对象识别符(如Cid,Ono)
5
查询结果
应用系统
系统管理员
被查询对象具体信息
6
管理请求
系统管理员
应用系统
识别符(Cid,Ono等)+类型
7
管理结果信息
应用系统
系统管理员
被管理对象处理结果
8
非法请求
应用系统
系统管理员
非法请求提示信息
3系统设计
3.1系统功能结构设计
图3.1系统功能结构图
3.2数据库概念设计
基本项构思ERD的四条基本原则:
①原则1(确定实体):
能独立存在的事物,例如人、物、事、地、团体、机构、活动、事项等等,在其有多个由基本项描述的特性需要关注时,就应把它作为实体。
②原则2(确定联系):
两个或多个实体间的关联与结合,如主管,从属,组成,占有,作用,配合,协同等等,当需要予以关注时,应作为联系。
实体间的联系可分为一对一、一对多、多对多等三类,在确定联系时还要确定其类型。
③原则3(确定属性):
实体的属性是实体的本质特征。
实体应有标识属性(能把不同个体区分开来的属性组),并指定其中一个作为主标识。
联系的属性是联系的结果或状态。
④原则4(一事一地):
信息分析中得到的基本项要在且仅在实体联系图中的一个地方作为属性出现。
经过上述系统功能分析和需求总结,设计如下面所示的数据项和数据结构。
●管理员表(Administrator):
用于存放管理员的数据记录,包括数据项:
管理员名、密码。
●部门表(Department):
用来存放部门的相关记录,包括数据项:
部门号,部门名。
●用户表(Consumer):
用于存放注册用户的记录,包括数据项:
用户账号、密码、真实姓名、身份证号、联系电话,联系地址,部门号(和部门表有关)等。
●报刊信息表(magazine):
用于存放报刊记录,包括数据项:
报刊代号、报刊名称、出版报社、出版周期、季度报价、内容介绍、分类编号(和报刊类别表有关)等。
●订单表(subscribe):
用于存放用户下达的订阅报刊的基本信息,包括数据项:
订单编号、用户编号(用户表的主码)、报刊代号(报刊信息表的主码)、订阅份数、订阅月数等。
根据上面的设计规划出来的实体有部门实体、管理员实体、用户实体、报刊信息实体和订单实体。
图3.2.1部门实体的E-R图图3.2.2管理员实体的E-R图
图3.2.3用户实体的E-R图图3.2.4报刊信息实体的E-R图
图3.2.5订单实体的E-R图图3.2.6报刊类别的E-R图
图3.2.6总E—R图
3.3数据库逻辑设计
(1)一般逻辑模型设计
关系模型的逻辑结构是一组关系模式的集合。
将E-R图转换为关系模型就是要将实体型、实体的属性和实体型之间的联系转换为关系模式。
由ERD导出一般关系模型的四条原则;
①一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
如果软换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。
如果与某一端实体对应的关系模式何明,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
②一个1:
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
③一个m:
n联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
④3个或3个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系项链呢的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
根据以上原则将E-R图转换成的关系模式如下:
部门(部门号,部门名称)
用户(用户账号,密码,用户真实姓名,联系电话,联系地址,部门号)
管理员(管理员名,密码)
报刊类别(分类编号,分类名称)
报刊(报刊代号,报刊名称,出版报社,出版周期,每月订价,内容介绍,分类编号)
订单(用户名,报刊代号,订阅份数,订阅月数,订阅总额)
(2)具体逻辑模型设计
在SQLServer2000数据库中,首先创建报刊订阅管理系统数据库,然后根据数据库的逻辑结构分析创建表4-1━4-6的6张数据表。
在前台访问数据库阶段设置了用户和密码,用户为sa,密码为空。
表3.3.1department部门表结构
字段名称
字段类型
允许空
说明
Dnumber(主码)
Char(10)
否
部门号
Dname
Char(50)
否
部门名称
表3.3.2consumer用户表结构
字段名称
字段类型
允许空
说明
Uname(主码)
Char(10)
否
用户帐号
Upassword
Char(20)
是
真实姓名
Urealname
Char(10)
否
用户密码
Usex
Char(150)
是
用户联系地址
Uphone
Char(20)
是
用户联系电话
Uaddress
Char(10)
否
用户所属部门号
Subscribenum
Char(10)
否
订阅数量
表3.3.3magazine报刊表结构
字段名称
字段类型
允许空
说明
mnumber(主码)
Char(10)
否
报刊代号
mname
Char(40)
否
报刊名称
mkind
Int(4)
否
报刊分类
mpress
Char(10)
否
出版报社
mtime
Char(30)
否
出版日期
mhalfprice
Char(10)
否
半年定价
mwhole
Float(8)
否
全年定价
表3.3.4subscribe订单表结构
字段名称
字段类型
允许空
说明
Uname(主码)
Char(10)
否
用户帐号
Mnumber(主码)
Char(10)
否
报刊代号
Syear
Int(4)
否
订阅份数
Snumber
Int(4)
否
订阅月数
Ssum
Float(8)
是
订阅总额
表3.3.5adminuser管理员表结构
字段名称
字段类型
允许空
说明
Aname(主码)
Char(10)
否
管理员用户名
Apassword
Char(10)
否
管理员密码
4系统实现与测试
4.1连接数据库的实现
4.2模块功能实现
4.2.1菜单的实现
1.1管理员菜单代码及其截图
do管理员.mprwiththis,.t.
图1.1管理员菜单
1.2用户菜单代码及截图
do客户.mprwiththis,.t.
图2.1用户菜单
do登陆后.mprwiththis,.t.
图3用户菜单
4.2.2登录模块的实现
2.1用户登录代码及截图
SETEXACTON
SELECT用户表
LOCATEFORuname=ALLTRIM(thisform.txtUname.Value)
IFFOUND()ANDALLTRIM(upassword)
=ALLTRIM(thisform.txtUpassword.Value)
thisform.Release
DOFORM报刊订阅
ELSE
MESSAGEBOX("账号或密码错误",48,"系统警告")
thisform.txtUname.Value=""
thisform.txtUpassword.Value=""
Thisform.txtUname.SetFocus()
ENDIF
SETEXACTOFF
图2.1用户登陆
2.2管理员登录代码及截图
SETEXACTON
SELECT管理员表
LOCATEFORaname=ALLTRIM(thisform.txtaname.Value)
IFFOUND()ANDALLTRIM(apassword)
=ALLTRIM(thisform.txtapassword.Value)
thisform.Release
DOFORM管理员总入口
ELSE
MESSAGEBOX("账号或密码错误",48,"系统警告")
thisform.txtaname.Value=""
thisform.txtapassword.Value=""
Thisform.txtaname.SetFocus()
ENDIF
SETEXACTOFF
图2.2管理员登陆
4.2.3录入信息模块的实现
ifmand1.caption='添加'
thisform.grd报刊表.readonly=.f.
mand1.caption='保存'
mand2.enabled=