运动会管理系统.docx
- 文档编号:4784880
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:26
- 大小:1.14MB
运动会管理系统.docx
《运动会管理系统.docx》由会员分享,可在线阅读,更多相关《运动会管理系统.docx(26页珍藏版)》请在冰豆网上搜索。
运动会管理系统
南京师范大学2015-2016学年第一学期
《数据库系统课程设计》
课程设计报告
姓名:
学号:
班级:
专业:
学院:
指导教师:
题目:
表单设计及数据提取
访问数据库
提交日期:
一、设计目的
数据库课程设计是在系统地学习了《数据库系统原理》课程后,按照关系型数据库的基本原理,综合运用所学的知识,完成一个数据库应用系统的设计全过程,包括需求分析、数据库设计、数据库建立、数据输入、应用系统的设计和开发、用户界面的设计和实现、系统安装和调试。
通过对一个实际问题的分析、设计与实现,将原理与应用相结合,学会如何把所学的知识用于解决实际问题。
二、设计平台
SQL2005
WPS
三、试题内容
根据给定的“运动会管理系统”的需求分析,完成概念结构设计、逻辑结构设计、数据库的物理设计、数据库的访问和数据库维护等内容,并提交完整的课程设计报告。
四、实验设计
4.1需求分析
引入计算机管理运动会,运动可以在运动会管理系统中查询自己的比赛项目及比赛结果,裁判员或工作人员可以通过系统记录运动员各个比赛项目的成绩、进行成绩统计等。
运动会管理系统保存运动员、比赛项目以及不同类型的比赛的参数数据。
对于运动员来说:
可以查看运动员所在代表队的名称、领队、本代表队的总积分、总名次;查看运动员参加比赛的项目、每个项目的成绩、积分等。
对于管理员来说:
可以记录并查看运动员参加比赛项目的成绩、积分、名次;查看各代表队的总积分、总名次等。
运动会管理系统同主要管理对象有代表队、运动员、比赛项目等。
对于代表队,需要有代表队号、代表队的名称、领队、本代表队的总积分、总名次等属性;对于运动员需要有运动员号、姓名、年龄、性别等属性;对于比赛项目,需要有项目号、项目类别、项目名称、成绩单位等属性。
在运动会管理系统中,基本规定为:
一个代表队包含多个运动员,一个运动员只能属于一个代表队;一个运动员可以参加多个比赛项目,一个比赛项目也可以被多个运动员参加;假设各个比赛项目结束后,按照成绩由高到低排出名次,并对前3名运动员给予相应的积分,如第1、2、3名分别积分为3分、2分、1分,而获得其他名次的运动员积分为0分,将代表队中所有成员的积分累加,得到各代表队总积分,将总积分由高到低排序,得到各个代表队的排名情况。
为简化系统需求,本系统只考虑代表队、运动员、比赛项目的关系,其他关系不考虑。
4.2实验内容
4.2.1概念结构设计
4.2.1.1抽象出实体,并画出各实体的E-R图;
② 分析各实体之间的联系及类型,设计运动会管理系统总体E-R图;
4.2.2逻辑结构设计
根据E-R 图,设计运动会管理数据库的关系模式。
(1)运动员(运动员号、姓名、年龄、性别);
(2)代表队(代表队号、代表队的名称、领队、本代表队的总积分、总名次);
(3)比赛项目(项目号,项目类别,项目名称,成绩单位);
(4)参加(运动员号, 项目号,成绩,积分,名次)
4.2.3数据库物理设计与实施
(1)建立数据库
建立“运动会管理系统”数据库,其初始大小为100MB,增长率为10%,数据文件和日志文件名分别为:
“运动会管理系统_data”和“运动会管理系统_log”,存储路径为“D:
\MSSQL.1\MSSQL\Data”文件夹下。
创建运动会数据库SQL代码如下:
CREATEDATABASE运动会管理系统
on(
NAME=运动会管理系统_data,
FILENAME=’D:
\MSSQL.1\MSSQL\Data\运动会管理系统.mdf',
SIZE=100MB,
MAXSIZE=200MB,
FILEGROWTH=10%
)
LOGON(
NAME=运动会管理系统_log,
FILENAME='D:
\MSSQL.1\MSSQL\Data\运动会管理系统.ldf',
SIZE=1MB,
MAXSIZE=20MB,
FILEGROWTH=10%
)
GO
(2)建立基本表
①创建代表队表 SQL代码:
CREATETABLE代表队表
(
代表队号CHAR(10)NOTNULLPRIMARYKEY,
队名称CHAR(20)NOTNULL,
领队CHAR(10)NOTNULL,
总积分INTNOTNULLCHECK(总积分>=0),
总名次INTNOTNULLCHECK(总名次>=0),
)
② 创建运动员表 SQL代码:
CREATETABLE运动员表
(
运动员号CHAR(6)NOTNULLPRIMARYKEY,
姓名CHAR(10)NOTNULL,
性别CHAR(10)NOTNULLCHECK(性别='男'or性别='女'),
年龄TinyintNOTNULLCHECK(年龄>1and年龄<100),
代表队号CHAR(10)NOTNULL,
)
③ 创建比赛项目表 SQL代码:
CREATETABLE比赛项目
(
项目号CHAR(6)NOTNULLPRIMARYKEY,
项目类别CHAR(10)NOTNULL,
项目名称CHAR(20)NOTNULL,
成绩单位CHAR(20)NOTNULL,
)
④ 创建比赛详情表 SQL代码:
CREATETABLE比赛详情
(
运动员号CHAR(6)NOTNULL,
项目号CHAR(6)NOTNULL,
成绩Float,
积分TinyintCHECK(积分>=0),
名次TinyintCHECK(名次>=0),
CONSTRAINT运动会管理系统_比赛详情_运动员号FOREIGNKEY(运动员号)REFERENCES运动员表(运动员号),
CONSTRAINT运动会管理系统_比赛详情_项目号FOREIGNKEY(项目号)REFERENCES比赛项目(项目号),
)
(3)管理基本表
(3-1)向运动员表中增加“身高”列,其数据类型为整型。
altertable运动员表add身高INTNULL
(3-2)将运动员表中的“身高”的数据类型改为浮点型。
altertable运动员表altercolumn身高float
(3-3)为运动员表中的“身高”属性增加取值必须大于0的约束条件。
altertable运动员表addconstraint运动会管理系统_运动员表_身高check(身高>0)
(3-4)删除运动员表中的“身高”列。
altertable运动员表dropconstraint运动会管理系统_运动员表_身高
altertable运动员表dropcolumn身高
(4)使用Insert语句插入数据,各表中的数据如下:
(4-1)代表队表数据:
insertinto代表队表values('GLXY','管理学院','吴道福','7','2')
insertinto代表队表values('JSJXY','计算机学院','张鹏','6','3')
insertinto代表队表values('SXXY','数学学院','宋威','3','4')
insertinto代表队表values('WYXY','外语学院','王光明','8','1')
(4-2)运动员表数据:
insertinto运动员values('G11001','钱翔','男','14','GLXY')
insertinto运动员values('G11002','吴帆','男','16','GLXY')
insertinto运动员values('G11003','石乔乔','女','16','GLXY')
insertinto运动员values('G11004','张桂芳','女','19','GLXY')
insertinto运动员values('G11005','洪雪','女','18','GLXY')
insertinto运动员values('J11001','张月','女','19','JSJXY')
insertinto运动员values('J11002','田楠','男','18','JSJXY')
insertinto运动员values('J11003','赵恒博','男','18','JSJXY')
insertinto运动员values('J11004','徐铜铃','男','15','JSJXY')
insertinto运动员values('J11005','李明','男','16','JSJXY')
insertinto运动员values('S11001','崔天齐','男','18','SXXY')
insertinto运动员values('S11002','王尹','女','16','SXXY')
insertinto运动员values('S11003','刘冰洁','女','18','SXXY')
insertinto运动员values('S11004','杨中华','男','15','SXXY')
insertinto运动员values('S11005','李雪平','女','15','SXXY')
insertinto运动员values('W11001','叶星','男','18','WYXY')
insertinto运动员values('W11002','顾羽翔','男','16','WYXY')
insertinto运动员values('W11003','袁建明','男','15','WYXY')
insertinto运动员values('W11004','刘琼','女','17','WYXY')
insertinto运动员values('W11005','孟储强','男','19','WYXY')
(4-3)比赛项目表数据:
insertinto比赛项目values('JS001M','径赛','男子米','秒')
insertinto比赛项目values('JS002W','径赛','女子米','分钟')
insertinto比赛项目values('TS001M','田赛','男子三级跳远','米')
insertinto比赛项目values('TS002W','田赛','女子铅球','米')
(4-4)比赛详情表数据
insertinto比赛详情values('S11001','JS001M','12.91','3','1')
insertinto比赛详情values('J11005','JS001M','13.15','2','2')
insertinto比赛详情values('J11002','JS001M','13.19','1','3')
insertinto比赛详情values('S11004','JS001M','13.55','0','4')
insertinto比赛详情values('W11004','JS002W','1.24','3','1')
insertinto比赛详情values('J11001','JS002W','1.25','2','2')
insertinto比赛详情values('G11004','JS002W','1.32','1','3')
insertinto比赛详情values('G11003','JS002W','2.02','0','4')
insertinto比赛详情values('W11005','TS001M','5.47','3','1')
insertinto比赛详情values('W11002','TS001M','5.15','2','2')
insertinto比赛详情values('J11003','TS001M','5.11','1','3')
insertinto比赛详情values('S11004','TS001M','4.98','0','4')
insertinto比赛详情values('G11004','TS002W','5.72','3','1')
insertinto比赛详情values('G11003','TS002W','5.38','2','2')
insertinto比赛详情values('G11005','TS002W','5.21','1','3')
insertinto比赛详情values('W11004','TS002W','5.02','0','4')
(5)建立和管理视图
(5-1)生成一张“项目类别”为“田赛”的视图,并将该视图命名为“田赛项目”。
createview田赛项目asselect*from比赛项目where项目类别='田赛'
(5-2)生成一张“项目类别”为“径赛”的视图,并将该视图命名为“径赛项目”。
createview径赛项目asselect*from比赛项目where项目类别='径赛'
(6)建立和管理索引
(6-1)为运动员表中的“姓名”建立次索引。
createindexsportnameon运动员表(姓名)
(6-2)为项目表中的“项目类别”建立次索引。
createindexclassificationon比赛项目(项目类别)
4.2.4访问数据库
1.数据查询
(1)查询姓名为“杨中华”的运动员的运动员号和所在的代表队号。
select运动员表.运动员号,运动员表.代表队号
from运动员表
where姓名='杨中华'
(2)查询代表队号为“JSJXY”的所有成员姓名。
select姓名from运动员表where代表队号='JSJXY'
(3)统计项目名称为“男子100米”比赛的参赛运动员名称、年龄、项目号、项目名称、成绩,并按成绩由高到低排列。
select运动员表.姓名,运动员表.年龄,比赛详情.项目号,比赛项目.项目名称,比赛详情.成绩
from运动员表,比赛详情,比赛项目
where比赛详情.项目号=比赛项目.项目号and运动员表.运动员号=比赛详情.运动员号and项目名称='男子米'
orderby比赛详情.成绩desc
(4)查询“杨中华”参加的比赛项目的情况。
select运动员表.姓名,比赛详情.运动员号,比赛详情.项目号,比赛项目.项目名称,比赛详情.成绩,比赛详情.积分,比赛详情.名次
from运动员表,比赛项目,比赛详情
where比赛详情.项目号=比赛项目.项目号and运动员表.运动员号=比赛详情.运动员号and姓名='杨中华'
(5)列出运动员号为“G1104”的运动员的所有的个人信息及比赛信息。
select比赛详情.运动员号,运动员表.姓名,运动员表.性别,运动员表.年龄,运动员表.代表队号,比赛详情.项目号,比赛项目.项目类别,
比赛项目.项目名称,比赛详情.成绩,比赛详情.积分,比赛详情.名次from运动员表,比赛项目,比赛详情
where比赛详情.项目号=比赛项目.项目号and运动员表.运动员号=比赛详情.运动员号and运动员表.运动员号='G11004'
(6)统计代表队号为“JSJXY”的参加比赛的各个运动员的积分情况,并且按积分由大到小的顺序排序。
select比赛详情.运动员号,运动员表.姓名,比赛详情.积分
from运动员表,比赛详情
where运动员表.运动员号=比赛详情.运动员号and运动员表.代表队号='JSJXY'
orderby比赛详情.积分
desc
(7)统计所有比赛项目中,同一个运动员号的运动员的积分情况。
Select运动员表.运动员号,运动员表.姓名,比赛项目.项目号,比赛详情.积分
from运动员表,比赛详情,比赛项目
where比赛项目.项目号=比赛详情.项目号and比赛详情.运动员号=运动员表.运动员号
(8)查询个人总积分大于等于3的运动员的情况。
Select运动员表.运动员号,运动员表.姓名,运动员表.性别,运动员表.年龄,运动员表.代表队号
from运动员表,比赛详情
where运动员表.运动员号=比赛详情.运动员号
and比赛详情.积分>=3
2.数据更新
(1)增加一名新的运动员,要求运动员号:
S11006;姓名:
王林;性别:
男;年龄:
17;代表队号:
SXXY。
insertinto运动员表(运动员号,姓名,性别,年龄,代表队号)
values('S11006','王林','男','17','SXXY')
(2)将“王林”的年龄更新为16。
update运动员表set年龄='16'where姓名='王林'
(3)将运动员号为“S11006”的运动员的代表队号更新为“GLXY”。
update运动员表set代表队号='GLXY'where运动员号='S11006'
(4)将所有运动员的年龄加1。
update运动员表set年龄=年龄+1
(5)由于测算问题,需要将项目号为“TS001M”的比赛成绩全部减少0.5米。
update比赛详情set成绩=成绩-0.5where项目号='TS001M'
(6)删除运动员号为“S1106”的运动员信息。
Deletefrom运动员表where运动员号='S11006'
4.2.5数据库维护
(1)使用SQL语句备份数据库
(1-1)创建备份设备
EXECsp_addumpdevice'DISK','mybackup1',
'D:
\MSSQL.1\MSSQL\Backup'
(1-2)备份数据库
BackupDatabase运动会管理系统
ToDISK='D:
\MSSQL.1\MSSQL\Backup\运动会管理系统.BAK'
五、参考文献
《软件工程及实践》,电子工业出版社,窦万峰,郑阿奇。
《数据库技术与应用》,清华大学出版社,顾斌。
《数据库系统原理教程》,清华大学出版社,王珊、陈虹;
六、实验心得
这次设计中不断的出现问题,我则自己努力,不断的改正错误,改进自己的程序,有些自己实在是无法解决的问题,则会与其他同学讨论,或上网查询、搜寻资料……在不断的改进过程中,深刻的认识到自己程序的漏洞和不健全性,而且一些pb的语法和函数自己不是很了解,以致有很多错误改了很长时间才能调试正确。
通过这次设计,不但让我进一步加深了对知识的巩固,而且很好的锻炼了我的独立思考能力,以及分析问题解决问题的能力。
今后凡事都不要着急,要冷静的分析思考,越是急越是无法解决,只有沉着冷静深入思考才能真正的解决问题。
只要自己努力凡事都能解决。
而且深刻感受到了知识的重要性。
平时如果不多积累知识,在编写自己的程序时会手忙脚乱无所适从,相反如果平时自己扎实学习,知识掌握的都很牢固,到写程序的时候会得心应手,很熟练很快的写出程序,虽然有些毛病,但是如果仔细检查,也会在很短的时间内解决。
由此我更加认识到课堂知识的重要性,以及自己多积累,多查资料的重要性。
最重要的一点经验就是老师提供了设计提纲,跟着老师的设计思路慢慢完善很重要,总是先建表,再找关系,这是很不正确的,以后设计也要按照老师给的这个思路,要先进行目标明确,任务分析,然后是系统边界,再是需求分析,之后是ER图,然后才是数据库设计,最后是程序的编写与完善。
这样就避免了我们平时写程序的时候边写边修改数据库,数据库应该是比较完善的时候才进行程序的编写。
以后做程序要先理清思路,不要急于完成,先把各角色的任务权限分清,各模块划分好,联系好,要先从整体把握,再从细节抓起
课程设计感触颇深,首先是深刻感受到程序的实际应用性,这学期的课程设计的题目都是贴近实际生活的问题,我们就能够很清楚的明白自己写的程序要解决什么样的实际问题,应该解决什么样的实际问题,觉得自己的程序更有实用价值。
欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运动会 管理 系统