数据库课程设计报告校运动会管理系统.docx
《数据库课程设计报告校运动会管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告校运动会管理系统.docx(20页珍藏版)》请在冰豆网上搜索。
![数据库课程设计报告校运动会管理系统.docx](https://file1.bdocx.com/fileroot1/2022-12/10/e6e6cd23-8167-45a8-8c08-8a18fefd9808/e6e6cd23-8167-45a8-8c08-8a18fefd98081.gif)
数据库课程设计报告校运动会管理系统
数据库课程设计报告
运动会数据库系统
第一章系统概述
1.1系统开发背景与意义
1.1.1系统开发背景
高等院校运动会是高校体育工作的重要组成部分。
近年来,随着招生规模的扩大,导致比赛项目、参赛人数不断增加,同时人们对比赛结果的准确性和实时性要求也越来越高,参赛队需要得到及时、准确的相关信息,从而有效进行竞赛的决策指导,这些问题和需求是采用人工方式或单机版运动会管理系统都难以解决的。
为此,我们对运动会的信息综合管理系统进行了研究,使运动会的筹备、组织、管理、协调等工作全面实现了计算机网络化、自动化,极大的提高了工作效率和信息处理的实时性。
高校运动会作为各项体育运动的基础,具有广泛的群众性。
每届的高校运动会声势浩大,是提高、检验学生的健康水平,开展全民健身运动的有效途径。
由于比赛项目较多,参赛人数广,数据处理量大且变化时效性要求高,管理较为复杂,其编排,记录,公告工作是一项复杂的工程。
为了解决在运动会管理和组织所面临的各种问题,我们开发了一套适合高校的运动会管理系统。
在分析运动会管理需求的基础上,通过比较分析不同的开发模式和特点,系统采用简单实用的Windows环境下的基于浏览器/服务器的模式构建,用SQLServer2008作为后台数据库,提供对数据库的查询、添加、修改、删除等操作来实现信息网上管理,并对信息管理功能进行了详细的分析,以实现动态、交互、高效的网络化信息管理。
系统能够对运动员的报名信息进行准确统计,能够有效处理赛程中的实时数据。
1.1.2系统开发意义
本次为学校举行的田径运动会设计运动会管理系统。
要求对运动员(包括比赛项目和比赛成绩),比赛项目的设置,裁判判罚比赛,后勤人员和宣传组的相关工作等进行管理。
具体来讲,田径运动会包括若干个比赛项目,由学校设置比赛项目和比赛规则,运动员根据比赛规则报名参赛,裁判对运动员的比赛进行记录,运动员参加比赛,由裁判评定和处理成绩,但须公平公正。
通过课程设计,让我们能够全面了解数据库应用系统的整个开发过程,验证课堂教学中的理论,掌握数据库系统的基本概念,基本原理及应用技术,掌握SQL语言的定义和各种操作能力,进一步掌握SQL语言的数据库编程技能,学会利用课堂上已学过的数据库知识进行数据库设计,使学生对开发信息管理系统有一个总体认识,可使学生得到很好的锻炼,为以后学习、工作打下很好的基础。
第二章系统需求分析
2.1需求分析概述
本数据库系统适用于各种学校田径运动会的全程管理。
本系统竞赛规程设置灵活,输入运动员报名表方便,秩序册自动生成,成绩录入方便快捷,成绩查询功能丰富。
2.2.1功能需求分析
(1)该系统是田径运动会比赛期间的信息处理系统,同时也是对外发布信息的窗口。
赛会管理人员可以通过发布比赛信息,如比赛准备期间的比赛规则,比赛项目流程信息,比赛期间的各个比赛实时信息等。
(2)提供报名功能。
运动员的报名信息是一届运动会的关键信息,因此,要给运动员提供一个方便快捷的方式进行报名操作。
(3)运动会期间要进行比赛成绩,排名等信息的录入和发布的操作。
(4)运动会期间会有后勤组对运动员进行服务,运动会信息管理将会给出各个后勤小组的相关分工。
(5)比赛结束后,要为运动会信息管理提供各个比赛项目信息的查询,统计功能,并且将统计结果生成文档,打印为报表。
2.2.2可行性分析
可行性分析也称可行性研究,是决策部门在采取一项重大改革或投资行动之前,对该项目的必要性和可能性进行分析与论证的活动,具体可以对几下方面分析:
1、技术可行性
分析运动会管理需求的基础上,通过比较分析不同的开发模式和特点,系统采用简单实用的Windows环境下的基于浏览器/服务器的模式构建,用SQLServer2008作为后台数据库,提供对数据库的查询、添加、修改、删除等操作来实现信息网上管理,并对信息管理功能进行了详细的分析,以实现动态、交互、高效的网络化信息管理。
该数据库的开发是具有可行性的。
2、经济可行性
只需要一台PC机,需要的支持软件较少,软件投入应用时也不需要很高配置的计算机设备和网络的安装,软件的运行寿命比较长,成本低,所以开发该系统有经济可行性。
3、管理可行性
新的运动会管理数据库系统充分发挥了计算机技术、网络技术的强大功能,从整体上改善了运动会的管理工作,提高了运动会服务的功能和质量,实现了运动会信息管理系统的的信息化、网络化、自动化。
通过对经济、技术、管理可行性的充分研究,确定了运动会管理系统的开发是必要的、可行的。
综上所述,开发该小型运动会管理数据库系统是非常可行的。
2.2系统数据流图
数据流图(DataFlowDiagram):
简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
数据流图是软件设计人员和用户之间很好的通信工具。
首先,要输入各个参赛运动员的报名表,并建立相关的数据库;在运动会比赛过程中,要求及时的输入各个运动员比赛项目的成绩并进行相应的出理,打印出成绩报表,提供各个运动会信息的查询。
报名信息项目信息
输出
输出
项目成绩
赛程安排数据流图
2.5数据字典
数据结构编号
数据结构名
含义说明
组成
01
报名表
记录运动员的相关信息
姓名,性别,学号,运动员编号,所在院系,参加项目
02
比赛项目表
记录学校设置的比赛项目情况
比赛编号,项目名称,比赛类型,预赛时间,决赛时间
03
裁判表
记录裁判信息和判罚相关比赛的信息
裁判编号,性别,姓名,等级,比赛编号
04
后勤组表
记录后期工作人员的工作情况
值班编号,值班人数,值班时间
05
宣传组表
记录宣传组的对投稿的宣传情况
作者姓名,作者院系,文章名称,作者学号
06
学院表
记录学院排名的情况
学院名,排名
07
项目成绩表
记录各个项目的最后比赛结果信息
运动员编号,项目编号,项目名称,预赛排名,决赛排名,是否破记录
对上述10种数据定义如下:
(1)
报名表
数据项编号
数据项名
含义说明
名称
数据类型
数据长度
取值范围
1
姓名
运动员的全称
YDY_name
VARCHAR
20
任何汉字
2
性别
运动员性别
YDY_sex
VARCHAR
2
男或女
3
运动员编号
班级的全称
YDY_num
VARCHAR
8
任何汉字
4
所在院系
运动员的所在院系
YDY_xym
VARCHAR
20
任何汉字
(2)
比赛项目表
数据项编号
数据项名
含义说明
名称
数据类型
数据长度
取值范围
1
项目编号
项目的编号情况
BSBH
VARCHAR
5
数字
2
比赛名称
比赛的全称
BSMC
VARCHAR
20
任何汉字
3
比赛类别
记录项目的类型
BSLB
VARCHAR
20
任何汉字
4
预赛比赛时间
记录项目的比赛预赛时间
BSSJ_ys
日期型
--
--
5
决赛比赛时间
记录项目的比赛决赛的时间
BSSJ_js
日期型
--
--
(3)
裁判表
数据项编号
数据项名
含义说明
名称
数据类型
数据长度
取值范围
1
裁判编号
辨别裁判的唯一标识
CPBH
VARCHAR
5
数字
2
性别
裁判性别
CPXB
VARCHAR
2
男或女
3
姓名
裁判名字
BSLB
VARCHAR
20
任何汉字
4
等级
裁判的专业等级
CPXM
VARCHAR
10
任何汉字
(4)
后勤组表
数据项编号
数据项名
含义说明
名称
数据类型
数据长度
取值范围
1
值班编号
唯一辨别值班小组的标识
ZBBH
VARCHAR
5
数字
2
值班人姓名
值班人姓名
ZBRXM
varchar
5
数字
3
值班时间
值班的时段
ZBSD
VARCHAR
20
任何汉字
(5)
宣传组表
数据项编号
数据项名
含义说明
名称
数据类型
数据长度
取值范围
1
作者姓名
投稿人姓名
ZZXM
VARCHAR
5
任何汉字
2
作者院系
投稿人所在院系
ZZYX
VARCHAR
20
任何汉字
3
作者学号
投稿人身为学生的学号
ZZXH
VARCHAR
20
任何汉字
(6)
学院表
数据项编号
数据项名
含义说明
名称
数据类型
数据长度
取值范围
1
学院名
学院的全称
XYM
VARCHAR
20
任何汉字
2
学院排名
学院在比赛中的排名
XYPM
VARCHAR
20
任何汉字
(7)
项目成绩表
项目成绩(运动员编号,比赛编号,项目名称,预赛排名,决赛排名,是否破纪录)3NF
数据项编号
数据项名
含义说明
名称
数据类型
数据长度
取值范围
1
运动员编号
运动员比赛的唯一标识
YDY_bh
VARCHAR
20
数字
2
比赛编号
运动员参加比赛的编号
YDY_bsbh
VARCHAR
20
数字
3
项目名称
项目的全称
YDY_bsmc
VARCHAR
20
任何汉字
4
预赛排名
记录运动员在预赛中取得的排名
YDY_yspl
VARCHAR
5
汉字或
数字
5
决赛排名
记录运动员在决赛中取得的排名
YDY_jspl
VARCHAR
5
汉字或
数字
6
破纪录
查看运动员是否破纪录
PJL
VARCHAR
2
是或否
(8)
预赛表
数据项编号
数据项名
含义说明
名称
数据类型
数据长度
取值范围
1
运动员编号
运动员的编号
YS_bh
VARCHAR
20
任何汉字
2
比赛编号
运动员参加比赛的编号
YS_bsmc
VARCHAR
20
任何汉字
(9)
决赛表
数据项编号
数据项名
含义说明
名称
数据类型
数据长度
取值范围
1
运动员编号
运动员的编号
YS_bh
VARCHAR
20
任何汉字
2
比赛编号
运动员参加比赛的编号
YS_bsmc
VARCHAR
20
任何汉字
(10)
后勤表
数据项编号
数据项名
含义说明
名称
数据类型
数据长度
取值范围
1
值班编号
值班编号
ZBBH
VARCHAR
5
任何汉字
2
值班人姓名编号
值班人姓名编号
ZBMXM
VARCHAR
20
任何汉字
(11)
主持表
数据项编号
数据项名
含义说明
名称
数据类型
数据长度
取值范围
1
裁判编号
裁判编号
CPBH
VARCHAR
5
任何汉字
2
比赛编号
比赛编号
BSBH
VARCHAR
5
任何汉字
(12)
服务表
数据项编号
数据项名
含义说明
名称
数据类型
数据长度
取值范围
1
值班编号
值班编号
ZBBH
VARCHAR
5
任何汉字
2
运动员编号
运动员编号
YDY_num
VARCHAR
5
任何汉字
第三章系统总体设计
3.1系统概念设计
3.1.1概念模型(E-R图)
p
1
n
k
1
m
1
m
p
1
m
派遣
1
m
1
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
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--作者学号
)
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/*后勤组服务*/
(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
AFTERUPDATEOFYDY_jsplONathleteCJ
REFERENCING
OLDROWASOldTuple,
NEWROWASNewTuple
FOREACHROW
WHEN(OldTuple.YDY_jspl>NewTuple.YDY_jspl)
UPDATEathleteCJ
SETYDY_jspl=OldTuple.YDY_jspl
WHEREYDY_jspl=NewTuple.YDY_jspl;