报刊订阅管理系统.docx

上传人:b****6 文档编号:5172935 上传时间:2022-12-13 格式:DOCX 页数:25 大小:580.84KB
下载 相关 举报
报刊订阅管理系统.docx_第1页
第1页 / 共25页
报刊订阅管理系统.docx_第2页
第2页 / 共25页
报刊订阅管理系统.docx_第3页
第3页 / 共25页
报刊订阅管理系统.docx_第4页
第4页 / 共25页
报刊订阅管理系统.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

报刊订阅管理系统.docx

《报刊订阅管理系统.docx》由会员分享,可在线阅读,更多相关《报刊订阅管理系统.docx(25页珍藏版)》请在冰豆网上搜索。

报刊订阅管理系统.docx

报刊订阅管理系统

 

数据库应用课程设计

设计说明书

 

报刊订阅管理系统

 

学生某某

高虹

学号

0818033037

班级

计专081

成绩

指导教师

肖海蓉

 

计算机科学与技术系

2011年1月7日

数据库应用课程设计评阅书

题目

报刊订阅管理系统

学生某某

高虹

学号

0818033037

指导教师评语与成绩

 

指导教师签名:

年月日

辩论评语与成绩

 

辩论教师签名:

年月日

教研室意见

 

总成绩:

 

室主任签名:

年月日

课程设计任务书

2010—2011学年第1学期

专业:

计算机应用学号:

0818033037某某:

高虹

课程设计名称:

数据库应用课程设计

设计题目:

报刊订阅管理系统的设计

完成期限:

自2010年12月27日至2011年1月7日共2周

设计依据、要求与主要内容〔可另加附页〕:

通过对某企业的报刊订阅业务进展分析、调查,设计该企业的报刊订阅管理系统。

1.系统功能的根本要求:

〔1〕根本信息的录入功能,包括订阅人员信息,报刊根本信息;

〔2〕报刊订阅功能,包括订阅人员的具体订阅信息与订阅费用等;

〔3〕系统查询功能,能够根据不同关键字查询报刊信息、订阅人员信息;

〔4〕系统统计功能,能够根据人员、报刊、部门进展统计,并进展打印功能;

〔5〕不同用户权限的管理功能。

2.具体要求如下:

〔1〕在小组内进展分工,进展系统调查,搜集资料。

〔2〕系统的需求分析:

根据自己的选题,确定系统的功能需求,性能需求,绘制的DFD,DD图表以与书写相关的文字说明。

〔3〕数据库概念结构设计:

绘制所选课题详细的E-R图。

〔4〕数据库逻辑结构设计:

将E-R图转换数据库的逻辑结构,并进展优化;

〔5〕物理结构设计:

选定实施环境,确定系统数据库的存储结构和存取方法等;

〔6〕数据实施和维护:

用DBMS建立数据库结构,加载数据,实现各种查询,应用程序,设计库中触发器、存储过程等对象,并能对数据库做简单的维护操作。

〔7〕自选开发工具,采用C/S或B/S模式实现软件功能。

3.课程设计报告的根本要求:

〔1〕必须提交系统分析报告,包括:

数据流图、数据词典和系统功能分析。

〔2〕数据库的设计与实现。

包括数据库的数据字典,数据库的概念结构〔E-R图〕,数据库中的表、视图〔如果使用〕、存储过程〔如果使用〕的结构和定义,数据库数据的插入、修改、删除、查询,要求使用用SQL脚本提供。

(3)程序设计的报告:

包括程序的运行环境、开发环境、程序的详细设计〔包括模块之间的关系,模块的功能、主要功能实现的程序段〕。

指导教师〔签字〕:

教研室主任〔签字〕:

批准日期:

年月日

摘要

本报刊订阅管理系统实现的主要功能有登录、录入、订阅、查询、统计、管理功能,其中利用SQLServer2000实现了数据的订阅,查询,统计功能。

采用登录功能,实现数据库的安全管理。

采用触发器功能,实现数据插入的参考完整性,并为防止系统的故障或受到破坏,创建备份数据库,当系统故障时能快速恢复数据库。

关键词:

报刊订阅管理系统;SQLserver2000;数据库备份

1需求分析

不同的用户需要根据自身需求,更快捷地对自己从系统中查找出自己所需报刊进展订阅。

设计的报刊订阅管理系统要有以下几个作用:

第一,方便订阅人员录入自己的根本信息;第二,方便订阅人员在系统中快速找出自己所需的报刊信息;最后,管理员方便查询统计订阅人员和报刊的信息。

此系统要易维护,操作简单。

不同用户管理权限不同。

管理员和订阅人员分别要有自己的编号和密码,登录时只有正确输入自己编号和密码才能进入系统。

管理员对系统进展统计、管理,订阅人员只能通过此系统进展订阅。

数据库各表之间的联系严密,各表相关联的数据项的属性要保持一致,从而保证系统中数据的正确性、相容性和有效性。

此系统可以完成以下几个功能:

1、管理员使用自己的编号和密码登陆系统并录入报刊根本信息;

2、订阅人员使用自己的编号和密码登陆系统,录入自己的根本信息;

3、订阅人员查询报刊根本信息,在系统中对自己所需的报刊进展订阅;

4、管理员查看、统计、管理订阅信息;

5、管理员登陆系统后可以修改报刊信息,然后统计出订阅情况,并打印出结果。

订阅人员用自己的编号登陆后查询当前可订阅的报刊信息,并订阅自己选择的报刊,确认无误后确认提交。

根据对实现的功能进展分析,得到下面的数据流图,如图1.1。

图1.1顶层数据流图

精细化后,形成第一层数据流图,如图1.2。

图1.2精细化后形成的第一层数据流图

1数据流名称:

管理员信息

含义:

管理员登录系统时填写的单据

来源:

管理员

去向:

审核登录信息

数据流量:

250人/天

组成:

管理员编号+管理员密码

2数据流名称:

订阅人员信息

含义:

订阅人员登录系统时填写的单据

来源:

订阅人员

去向:

审核登录信息

数据流量:

250人/天

组成:

订阅人员编号+订阅人员密码

3数据流名称:

报刊信息

含义:

报刊的根本信息

来源:

录入报刊信息

去向:

报刊信息表

数据流量:

250人/天

组成:

报刊编号+报刊名称+报刊负责人++发行量

4数据流名:

订阅信息

含义:

订阅人员订阅报刊时的信息

来源:

订阅报刊

去向:

订阅报刊表

组成:

订阅人员编号+报刊编号+订阅时间+订阅费用

5数据流名:

打印信息

含义:

打印统计报刊的信息

来源:

订阅信息

去向:

打印结果

组成:

订阅人员编号+报刊编号+部门编号+订阅报刊数量

 

2系统结构分析

1、管理员使用自己的编号和密码登陆系统并录入报刊根本信息;

2、订阅人员使用自己的编号和密码登陆系统,录入自己的根本信息;

3、订阅人员查询报刊根本信息,在系统中对自己所需的报刊进展订阅;

4、管理员查看、统计、管理订阅信息;

5、管理员登陆系统后可以修改报刊信息,然后统计出订阅情况,并打印出结果。

订阅人员用自己的编号登陆后查询当前可订阅的报刊信息,并订阅自己选择的报刊,确认无误后确认提交。

 

 

3概念模型设计

采用自底而上的设计方法。

先自顶向下地进展需求分析,对报刊订阅管理系统的需求进展逐步细化;然后再自底而上地设计概念结构,最终将各个局部应用的概念结构集合成为全局概念结构。

通过对局部应用的选择,逐一设计出分E-R图,并对各个分E-R图进展合并,生成初步E-R图,消除不必要的系统冗余,可以得出以下报刊订阅管理系统E-R图。

经过对系统的分析,得出如下E-R图,如图3.1。

 

图3.1E-R图

4逻辑模型设计

将上E-R图转化为如下的关系模型,其中下划线为主码:

订阅人员〔订阅人员编号,某某,联系方式,家庭住址,部门,订阅人员密码〕

报刊根本信息〔报刊编号,报刊名称,报刊负责人,,发行量〕

订阅信息〔订阅人员编号,报刊编号,订阅时间,订阅费用〕

管理员〔管理员编号,管理员密码〕

订阅人员、报刊根本信息、订阅信息、管理员的E-R图如—。

 

图4.1订阅人员E-R图

图4.2报刊根本信息E-R图

图4.3管理员E-R图

图4.4订阅信息E-R图

对上面的关系模型进展优化设计,该系统模型属于3NF。

5物理模型设计

—5.4。

图5.1创建数据库之常规选项卡

图5.2创建数据库之数据文件

图5.3数据库的创建

如图5.4,用SQLServer语句建库:

createdatabase报刊订阅

onprimary(name='报刊订阅',

filename='c:

\报刊订阅.mdf',

Size=1mb,

maxsize=100mb,

filegrowth=1mb)

图5.4用SQLServer语句建库

 

—5.8。

创建订阅人员表:

createtable订阅人员(

订阅人员编号char(10)primarykey,

某某char(10)notnull,

联系方式char(30)notnull,

家庭地址char(20)notnull,

部门char(10)notnull,

订阅人员密码char(10)notnull)

图5.5创建订阅人员表

创建报刊根本信息表:

createtable报刊根本信息表(

报刊编号char(10)primarykey,

报刊名称char(10),

报刊负责人char(10),

char(10),

发行量char(10))

图5.6创建报刊根本信息表

创建订阅表:

createtable订阅(

订阅人员编号char(10),

报刊编号char(10),

订阅时间datetime,

订阅费用money,

constraintc1primarykey(订阅人员编号,报刊编号))

图5.7创建订阅表

创建管理员表:

createtable管理员(

管理员编号char(10),

管理员密码char(10))

图5.8创建管理员表

用SQLServer语句创建各表:

订阅人员表属性,如表5.1。

表5.1订阅人员表

字段名

类型

长度

说明

订阅人员编号

Char

10

主码

某某

Char

10

非空

联系方式

Char

30

非空

家庭住址

Char

20

非空

部门

Char

10

非空

订阅人员密码

Char

10

非空

报刊根本信息表属性,如表5.2。

报刊根本信息表

字段名

类型

长度

说明

报刊编号

Char

10

主码

报刊名称

Char

10

非空

报刊负责人

Char

10

非空

Char

10

非空

发行量

Char

10

非空

订阅表属性,如表5.3。

订阅表

字段名

类型

长度

说明

订阅人员编号

Char

10

外码

报刊编号

Char

10

外码

订阅时间

Datetime

格式YYYY-MM-DD

订阅费用

Money

非空

管理员表属性,如表5.4。

字段名

类型

长度

说明

管理员编号

Char

10

主码

管理员密码

Char

10

非空

6数据实施和维护

用SQLServer语句Sp_addlogingaohong,。

图6.1创建登录用户

用Sp_addusergaohong为系统授权用户语句,如图6.2。

图6.2系统授权

创建录入存储过程以方便数据插入

1录入订阅人员信息存储过程,如图6.3。

createprocedurecrdyry

订阅人员编号char(10),

某某char(10),

联系方式char(30),

家庭地址char(20),

部门char(10),

订阅人员密码char(10)

asinsertinto订阅人员

values(订阅人员编号,某某,联系方式,家庭地址,部门,订阅人员密码)

图6.3订阅人员存储过程

2插入报刊存储过程,如图6.4。

createprocedurecrbk

报刊编号char(10),

报刊名称char(10),

报刊负责人char(10),

char(10),

发行量char(10)

asinsertinto报刊根本信息表

values(报刊编号,报刊名称,报刊负责人,,发行量)

图6.4报刊存储过程

3插入订阅信息存储过程,如图6.5。

createprocedurecrdyxx

订阅人员编号char(10),

报刊编号char(10),

订阅时间datetime,

订阅费用money

asinsertinto订阅

values(订阅人员编号,报刊编号,订阅时间,订阅费用)

图6.5订阅信息存储过程

4插入管理员存储过程,如图6.6。

createprocedurecrgly

管理员编号char(10),

管理员密码char(10)

asinsertinto管理员

values(管理员编号,管理员密码)

图6.6管理员存储过程

 

5录入数据:

如图6.7和图6.8,录入订阅人员信息,其代码如下:

execcrdyry01,高婷,,某某米脂,1,123

execcrdyry02,陈芳青,,某某某某,2,234

图6.7插入订阅人员信息语句

图6.8订阅人员信息

如图6.9和图6.10,录入报刊信息,其代码如下:

execcrbk001,华商报,梁娇,某某韩城,100

execcrbk002,人民日报,曹小丽,某某澄城,100

图6.9插入报刊信息语句

图6.10录入报刊信息

如图6.11,录入订阅信息,其代码如下

execcrdyxx01,002,2010-1-1,10

execcrdyxx02,001,2010-2-2,10

图6.11录入订阅信息

如图6.12和图6.13,录入管理员信息,其代码如下

execcrgly11,1234

execcrgly22,2345

图6.12录入管理员信息语句

图6.13录入管理员信息

6创建一个查找订阅人员的存储过程方便查找,代码如下

createproceduresearchdyry

asselect订阅人员编号,某某,部门

from订阅人员

execsearchdyry

创建一个查找报刊根本信息表的存储过程方便查找,代码如下

createproceduresearchbk

asselect*

from报刊根本信息表

execsearchbk

为防止数据库中插入错误的数据应为订阅表创建触发器,当在订阅表中插入数据时,首先在订阅人员表中和报刊根本信息表中查询是否含有待插入的订阅人员和报刊根本信息,如果其中的一个未含有,如此拒绝插入以保证数据的完整性,其语句如下,结果如图6.14。

其代码如下:

createtriggerdy_inserton订阅

forinsert

asif(selectcount(*)

from订阅人员,inserted,报刊根本信息表

where订阅人员.订阅人员编号=inserted.订阅人员编号and报刊根本信息表.报刊编号=inserted.报刊编号)=0

begin

rollbacktransaction

print'该订阅人员或报刊不存在!

!

!

'

End

 

图6.14创建插入订阅信息触发器

当在订阅表中录入一个不存在的订阅人员或报刊时触发器被触发如图6.15。

图6.15录入一个不存在的订阅人员或报刊时触发器的情况

删除订阅触发器,当订阅人员订阅报刊时,不能被删除如图6.16,其代码如下:

createtriggeryg1_deleteon订阅人员

fordelete

asif(selectcount(*)

from订阅,deleted

where订阅.订阅人员编号=deleted.订阅人员编号)<>0

begin

rollback

print'该员工已定阅报刊,不能被删除!

'

end

delete

from订阅

where订阅人员编号=01

图6.16删除订阅触发器

删除报刊触发器防止被订阅的报纸被删除,如图6.17,其代码如下:

createtriggerbk_deleteon报刊根本信息表

fordelete

asif(selectcount(*)

from订阅,deleted

编编号)<>0

begin

rollback

print'该报刊已被定阅,不能被删除!

'

end

delete

from报刊根本信息表

where报刊编号=001

图6.17删除报刊触发器

创建一个订阅人员视图,防止其他用户查看到其他用户的密码如图6.18,其代码如下

createviewygview

asselect订阅人员编号,某某,联系方式,部门

from订阅人员

图6.18创建订阅人员视图

select*

fromygview

运行结果如图6.19。

图6.19查询结果

创建一个报刊视图,防止没有权限的订阅人员查看到其他信息,如图6.20。

其代码如下

createviewbkview

asselect报刊名称,

from报刊根本信息表

图6.20创建报刊视图

select*

frombkview

其运行结果如图6.21。

图6.21查询报刊根本信息结果

为保证系统出错误或受到破坏后应为数据库进展备份。

首先建立备份数据库,并备份该数据库。

Sp_addumpdevice'disk','报刊订阅管理系统bak','c:

\报刊订阅管理系统bak'

Backupdatabase报刊订阅管理系统to报刊订阅管理系统bak

 

7系统测试

打开本系统,对其进展测试,首先弹出欢迎界面,选择用户入口,点击“新用户注册〞,如图7.1。

图7.1欢迎界面

欢迎界面的程序:

总结

通过此次对报刊订阅管理系统的设计,我认识到自己在以前的课程学习中还有很多的不足。

在课设中,我了解了数据库对当今社会的重要性,它的安全性、方便性等特点,为我们日常生活提供了很大的帮助。

这次课设让我掌握了SQLServer语句的应用。

此次课设已经完毕,但我不会完毕对数据库的学习。

很高兴能和组员们一起完成报刊订阅管理系统的课设,谢谢教师的帮助。

参考文献

[1]X海藩.软件工程〔第五版〕.:

人民邮电,2010

[2]苗雪兰.数据库系统原理与应用教程〔第三版〕.:

机械工业,2010

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动态背景

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1