数据库课程设计报告校运动会管理系统.docx
《数据库课程设计报告校运动会管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告校运动会管理系统.docx(17页珍藏版)》请在冰豆网上搜索。
数据库课程设计报告校运动会管理系统
数据库课程设计报告
运动会数据库系统
第一章系统概述............................................................2
1.1系统开发背景与意义..................................................2
1.1.1系统开发背景...................................................2
1.1.2系统开发意义...................................................2
第二章系统需求分析.........................................................3
2.1需求分析概述........................................................3
2.2.1功能需求分析...................................................3
2.2.2可行性分析.....................................................3
2.2系统数据流图........................................................4
2.3数据字典...........................................................6
第三章系统总体设计..........................................................8
3.1系统概念设计.......................................................10
3.1.1概念模型(E-R图)............................................10
3..2关系模式........................................错误!
未定义书签。
数据库定义和数据安全性与完整性定义...............错误!
未定义书签。
第四章4.1数据库定义..........................................错误!
未定义书签。
4.2数据安全性与完整性定义..............................错误!
未定义书签。
15
/1
第一章系统概述
1.1系统开发背景与意义
1.1.1系统开发背景
高等院校运动会是高校体育工作的重要组成部分。
近年来,随着招生规模的扩大,导致比赛项目、参赛人数不断增加,同时人们对比赛结果的准确性和实时性要求也越来越高,参赛队需要得到及时、准确的相关信息,从而有效进行竞赛的决策指导,这些问题和需求是采用人工方式或单机版运动会管理系统都难以解决的。
为此,我们对运动会的信息综合管理系统进行了研究,使运动会的筹备、组织、管理、协调等工作全面实现了计算机网络化、自动化,极大的提高了工作效率和信息处理的实时性。
高校运动会作为各项体育运动的基础,具有广泛的群众性。
每届的高校运动会声势浩大,是提高、检验学生的健康水平,开展全民健身运动的有效途径。
由于比赛项目较多,参赛人数广,数据处理量大且变化时效性要求高,管理较为复杂,其编排,记录,公告工作是一项复杂的工程。
为了解决在运动会管理和组织所面临的各种问题,我们开发了一套适合高校的运动会管理系统。
在分析运动会管理需求的基础上,通过比较分析不同的开发模式和特点,系统采用简单实用的Windows环境下的基于浏览器/服务器的模式构建,用SQLServer2008作为后台数据库,提供对数据库的查询、添加、修改、删除等操作来实现信息网上管理,并对信息管理功能进行了详细的分析,以实现动态、交互、高效的网络化信息管理。
系统能够对运动员的报名信息进行准确统计,能够有效处理赛程中的实时数据。
1.1.2系统开发意义
本次为学校举行的田径运动会设计运动会管理系统。
要求对运动员(包括比赛项目和比赛成绩),比赛项目的设置,裁判判罚比赛,后勤人员和宣传组的相关工作等进行管理。
具体来讲,田径运动会包括若干个比赛项目,由学校设置比赛项目和比赛规则,运动员根据比赛规则报名参赛,裁判对运动员的比赛进行记录,运动员参加比赛,由裁判评定和处理成绩,但须公平公正。
通过课程设计,让我们能够全面了解数据库应用系统的整个开发过程,验证课堂教学中的理论,掌握数据库系统的基本概念,基本原理及应用技术,掌握15
/2
SQL语言的定义和各种操作能力,进一步掌握SQL语言的数据库编程技能,学会利用课堂上已学过的数据库知识进行数据库设计,使学生对开发信息管理系统有一个总体认识,可使学生得到很好的锻炼,为以后学习、工作打下很好的基础。
第二章系统需求分析
2.1需求分析概述
本数据库系统适用于各种学校田径运动会的全程管理。
本系统竞赛规程设置灵活,输入运动员报名表方便,秩序册自动生成,成绩录入方便快捷,成绩查询功能丰富。
2.2.1功能需求分析
(1)该系统是田径运动会比赛期间的信息处理系统,同时也是对外发布信息的窗口。
赛会管理人员可以通过发布比赛信息,如比赛准备期间的比赛规则,比赛项目流程信息,比赛期间的各个比赛实时信息等。
(2)提供报名功能。
运动员的报名信息是一届运动会的关键信息,因此,要给运动员提供一个方便快捷的方式进行报名操作。
(3)运动会期间要进行比赛成绩,排名等信息的录入和发布的操作。
(4)运动会期间会有后勤组对运动员进行服务,运动会信息管理将会给出各个后勤小组的相关分工。
(5)比赛结束后,要为运动会信息管理提供各个比赛项目信息的查询,统计功能,并且将统计结果生成文档,打印为报表。
2.2.2可行性分析
可行性分析也称可行性研究,是决策部门在采取一项重大改革或投资行动之前,对该项目的必要性和可能性进行分析与论证的活动,具体可以对几下方面分析:
1、技术可行性
分析运动会管理需求的基础上,通过比较分析不同的开发模式和特点,系统采用简单实用的Windows环境下的基于浏览器/服务器的模式构建,用SQL
Server2008作为后台数据库,提供对数据库的查询、添加、修改、删除等操作来实现信息网上管理,并对信息管理功能进行了详细的分析,以实现动态、交互、15
/3
高效的网络化信息管理。
该数据库的开发是具有可行性的。
2、经济可行性
只需要一台PC机,需要的支持软件较少,软件投入应用时也不需要很高配置的计算机设备和网络的安装,软件的运行寿命比较长,成本低,所以开发该系统有经济可行性。
3、管理可行性
新的运动会管理数据库系统充分发挥了计算机技术、网络技术的强大功能,从整体上改善了运动会的管理工作,提高了运动会服务的功能和质量,实现了运动会信息管理系统的的信息化、网络化、自动化。
通过对经济、技术、管理可行性的充分研究,确定了运动会管理系统的开发是必要的、可行的。
综上所述,开发该小型运动会管理数据库系统是非常可行的。
2.2系统数据流图
数据流图(DataFlowDiagram):
简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
数据流图是软件设计人员和用户之间很好的通信工具。
首先,要输入各个参赛运动员的报名表,并建立相关的数据库;在运动会比赛过程中,要求及时的输入各个运动员比赛项目的成绩并进行相应的出理,打印出成绩报表,提供各个运动会信息的查询。
15
/4
1
登记报名报名
报名信息项目信息分道分组运动员表输出
0
输注册登运动员姓
编号对照参
注2输进学比名
项目成参生
生
3学院成成绩名次名进
复赛、决
4
输出绩信
赛程安排数据流图
15
/5
2.5数据字典
数据结数据结构名含义说明组成
构编姓名,性别,学号,运动员编号,所记录运动员的相关报名01
院系,参加项
比赛编号,项目名称,比赛类型,预比赛项目02记录学校设置的比时间,决赛时项目情
裁判编号,性别,姓名,等级,比赛03记录裁判信息和判裁判相关比赛的信
值班编号,值班人数,值班时后勤组记录后期工作人员04
工作情作者姓名,作者院系,文章名称,作宣传组05记录宣传组的对投学的宣传情
学院名,排记录学院排名的情学院06
运动员编号,项目编号,项目名称,项目成绩07
记录各个项目的最赛排名,决赛排名,是否破记比赛结果信息
对上述10种数据定义如下:
(1)
报名表
数据项编数据项名含义说明名称数据类数据取值范围
型号长度任何汉字20VARCH运动员的全称1姓名YDY_nameAR
男或女运动员性别ARCHV22YDY_sex
性别AR
V编员ARCH班级的全称83任何汉字动运YDY_num
AR号ARCHV4
任何汉字20
所在院系运动员的所在院系YDY_xymAR
(2)
比赛项目表
数据项数据项名含义说明名称取值范围据数数据类型15
/6
长度编号
ARCHA5数字V项目的编号情况1项目编号BSBH
R
VBSMC2ARCHA20比赛名称比赛的全称任何汉字R
VARCHA比赛类别BSLB任何汉字记录项目的类型320
R
--BSSJ_ys预赛比4赛时记录项目的比赛--日期型
预赛时间--
--
记录项目的比5
BSSJ_js日期决赛的时(
裁判取值范名含义说数据类数据项编长CPBH数裁判编5辨别裁判的唯1ARCHR标
男或2裁判性性2ARCHCPXB
R
姓任何汉BSLBARCH3裁判名20
R
CPXM等级任何汉字4
VARCHA10
裁判的专业等级R
4)(
后勤组表取值范围数数据类型名称含义说明项数据项名据数据编号长度5数字ZBBH1值班编号唯一辨别值班小VARCHAR组的标识数字varcharZBRXM2值班人姓名值班人姓名5
20
3值班时间值班的时段任何汉字ZBSD
VARCHAR
)(5
宣传组表含义说明据数据项名数数据类型项数据取值范围名称
编号长度ZZXM作者姓名1任何汉字投稿人姓名5ARCHAVR
作者院系2
20
ARCHAZZYX
投稿人所在院系V任何汉字15
/7R
20
任何汉字ZZXH
VARCHA作者学号3投稿人身为学生R
的学号
)(6
学院表取值范围名称数据项名数据项含义说明数据类型数据长度编号
XYM任何汉字20学院的全称1V学院名ARCHR
学院在比赛中任何汉220
学院排XYPM
ARCHR
排
7)(
项目成绩项目成绩(运动员编号,比赛编号,项目名称,预赛排名,决赛排名,是否破3NF
录
取值范数据项含义说名长编
运动员编1YDY_bh数ARC20
一标AR
数比赛编YDY_bs2ARC20
的编hAR
任何汉项目名3ARCYDY_bs20项目的全ARc
ARC45预赛排YDY_yspl汉字或赛中取得的排名AR数字
决VARCH在5动5决赛排名员记录YDY_jspl运汉字或
AR赛中取得的排名数字否员是查破纪录2
是或否PJL
6看运ARCHV动破纪录AR
(8)
预赛表含义说明数据项名据项据数数据类型名称数取值范围编号长度YS_bh运动员的编号运动员编号20ARCHA1V任何汉字
R
YS_bsm运动员参加比赛20
2
VARCHA任何汉字比赛编号
c的编号R
)9(15
/8
数据项名项数据编号运动员编号12
比赛编号
决赛表
取值范围数数据类型据长度20任何汉字VARCHARARCHA任何汉字20
VR
含义说明名称YS_bh运动员的编号YS_bsm运动员参加比赛c的编号
)(10
后勤表数含义说明数据类型名称数据项数据项名长度编号ZBBH值班编号值班编号51VARCHAZBMXM值班人202
RARCHAVR
姓名值班人姓名编号
编号
取值范任何汉任何汉
(11)
主持表数据含义说明名称数据类型数据项名数据项编号CPBH裁判编号裁判编号1BSBH
比赛编号2
比赛编号
长度VARCHA5R5VARCHAR
取值范任何汉任何汉
(12)
服务表含义说明名称数据项名ZBBH值班编号值班编号YDY_nu运动员编号运动员编号m
据数项编号12
取值范数据类长5ARCH任何汉RARCH5任何汉R
15
/9
第三章系统总体设计
3.1系统概念设计
3.1.1概念模型(E-R图)
值班姓名
值班编号
后勤组项目编号m
性别
运动员编号
项目名称运动员编号服务
姓名
n
学院
1
比赛成绩p获得
运动员
n
1
k项目名称
比赛编号
m
预赛时间宣传宣传工作作者姓名
注册1
p
参赛
m学生
比赛项目
决赛时间
m
n
类别
派遣
1
主持
作者学号
1
m裁判编号
学院
姓名
等级
性别学院排名学院名
预赛排决赛排是否破纪1作者院
15
/10
关系模式3.1.2
(1)实体转化的关系模式
运动员(姓名,性别,运动员编号,所在院系)3NF
比赛项目(比赛类型,比赛编号,项目名称,预赛时间,决赛时间)3NF
裁判员(裁判编号,姓名,性别,裁判等级)3NF
后勤组(值班编号,值班人姓名)3NF
值班安排(值班编号,值班时间)3NF
宣传组(作者学号,作者姓名,作者院系)3NF
学院(学院名,学院排名)3NF
项目成绩(运动员编号,比赛编号,项目名称,预赛排名,决赛排名,是否破纪
录)3NF
预赛(运动员编号,比赛编号)3NF
决赛(运动员编号,比赛编号)3NF
主持(裁判编号,比赛编号)3NF
服务(值班编号,运动员编号)3NF
第四章数据库定义和数据安全性与完整性定义
4.1定义数据库模式的SQL操作
在以下的sql语句中,每个关系表都给出了相应的主键和外键,个别属性给出了check约束,并考虑引用完整性,保证的数据库的安全性和完整性定义。
createdatabaseshujuku
createtableathlete/*-运动员-*/
(
YDY_nameVARCHAR(20)NOTNULL,/*运动员姓名*/
YDY_sexVARCHAR
(2)NOTNULLCHECK(YDYXBin('男','女')),--运动员性别
YDY_numVARCHAR(8)CONSTRAINTNUM_PKPRIMARYKEY,,--运动员编号
YDY_xymVARCHAR(20)REFERENCESxueyuan(XYM),--学院名维护引用完整性
ONDELETESETNULL
15
/11
ONUPSETCASECADE
)
go
createtableBSXM/*-比赛项目-*/
(
BSBHVARCHAR(5)PRIMARYKEY,--比赛编号
BSMCVARCHAR(20)NOTNULL,--比赛名称
BSLBVARCHAR(20)NOTNULL,--比赛类别
BSSJ_ysTIMESTAMPNOTNULL,--预赛比赛时间
BSSJ_jsTIMESTAMPNOTNULL--决赛比赛时间
)
Go
createtableJUDGE/*-裁判-*/
(
CPBHVARCHAR(5)CONSTRAINTBSBH_PKPRIMARYKEY,--裁判编号
CPXBVARCHAR
(2)NOTNULL,CHECK(CPXBin('男','女')),--裁判性别
CPXMVARCHAR(20)NOTNULL,--裁判姓名
CPDJVARCHAR(10)NOTNULLCHECK(CPDJIN(‘1','2','3')),
--裁判等级
ONDELETESETNULL
ONUPSETCASECADE
)
go
createtablehouqinzu/*-后勤组-*/
(
ZBBHVARCHAR(5)CONSTRAINTZBBH_PKPRIMARYKEY,--值班编号
ZBRXMINTNOTNULL,--值班人姓名
)
go
createtablezhiban/*值班安排*/
(
ZBBHvarchar(5)notnull,--值班编号
ZBSJvarchar(20)notnull,--值班时间
primarykey(ZBBH,ZBSJ)
)
go
createtablexuanchuan/*-宣传-*/
(
ZZXMVARCHAR(20),--作者姓名
ZZYXVARCHAR(20)NOTNULL,--作者院系
ZZXHVARCHAR(20)PRIMARYKEY--作者学号
15
/12
)
go
createtablexueyuan/*-学院-*/
(
XYMVARCHAR(20)CONSTRAINTXYM_PKPRIMARYKEY,--学院名
XYPMVARCHAR(20)NOTNULL--学院排名
)
go
createtableathleteCJ/*-运动员成绩-*/
(
YDY_bhVARCHAR(20)NOTNULL,--运动员编号
YDY_bsbhVARCHAR(20)NOTNULL,--参加比赛编号
YDY_bsmcVARCHAR(20)NOTNULL,--运动员参加比赛的项目名称
YDY_ysplVARCHAR(5)NOTNULL,--运动员预赛排名
YDY_jsplVARCHAR(5)NOTNULL,--运动员决赛排名
PJLVARCHAR
(2)NOTNULLCHECK(PJLin('是','否')),--是否破纪录
PRIMARYKEY(YDY_bsbh,YDY_bh)--主键声明
)
go
CREATETABLEJS/*预赛表*/
(
YDY_bhVARCHAR(20)NOTNULL,--运动员编号
BSBHvarchar(5)notnull,--比赛编号
Primarykey(YDY_bh,BSBH)
)
CREATETABLEJS/*决赛表*/
(
YDY_bhVARCHAR(20)NOTNULL,--运动员编号
BSBHvarchar(5)notnull,--比赛编号
Primarykey(YDY_bh,BSBH)
)
CREATETABLEZHUCHI/*裁判主持比赛*/
(CPBHVARCHAR(5)notnull,--裁判编号
BSBHvarchar(5)notnull,--比赛编号
primarykey(CPBH,BSBH)
)
CREATETABLEfuwu/*后勤组服务*/
15
/13
(YDY_numVARCHAR(5)notnull,
ZBBHvarchar(5)notnull,
Primarykey(YDY_num,ZBBH)
)
4.2数据安全性与完整性定义
4.2.1创建相关的必要断言
1.声明裁判等级低于3级的不能主持比赛的判罚
CREATEASSERTIONCAIPANCHECK
(NOTEXISTS
(SELECTCPXM
FROMJUDGE
WHERECPDJ>3
)
);
4.2.2创建相关触发器
1.该触发器的作用是阻挠修改运动员已确定的决赛成绩排名
CREATETRIGGERCJ_plTrigger
AFTERUPDATEOFONathleteCJYDY_jspl
REFERENCING
OLDROWASOldTuple,
NEWROWASNewTuple
FOREACHROW
WHEN(OldTuple.>NewTuple.)YDY_jsplYDY_jsplUPDATEathleteCJ
15
/14
SETOldTuple.YDY_jsplYDY_jspl=
WHERETuple.;YDY_jspl=NewYDY_jspl
15
/15