运动会管理系统.docx

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

运动会管理系统.docx

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

运动会管理系统.docx

运动会管理系统

集团标准化工作小组#Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

 

运动会管理系统

南京师范大学2015-2016学年第一学期

《数据库系统课程设计》

课程设计报告

姓名:

学号:

班级:

专业:

学院:

指导教师:

题目:

表单设计及数据提取

访问数据库

提交日期:

一、设计目的

数据库课程设计是在系统地学习了《数据库系统原理》课程后,按照关系型数据库的基本原理,综合运用所学的知识,完成一个数据库应用系统的设计全过程,包括需求分析、数据库设计、数据库建立、数据输入、应用系统的设计和开发、用户界面的设计和实现、系统安装和调试。

通过对一个实际问题的分析、设计与实现,将原理与应用相结合,学会如何把所学的知识用于解决实际问题。

二、设计平台

SQL2005

WPS

三、试题内容

根据给定的“运动会管理系统”的需求分析,完成概念结构设计、逻辑结构设计、数据库的物理设计、数据库的访问和数据库维护等内容,并提交完整的课程设计报告。

四、实验设计

需求分析

引入计算机管理运动会,运动可以在运动会管理系统中查询自己的比赛项目及比赛结果,裁判员或工作人员可以通过系统记录运动员各个比赛项目的成绩、进行成绩统计等。

运动会管理系统保存运动员、比赛项目以及不同类型的比赛的参数数据。

对于运动员来说:

可以查看运动员所在代表队的名称、领队、本代表队的总积分、总名次;查看运动员参加比赛的项目、每个项目的成绩、积分等。

对于管理员来说:

可以记录并查看运动员参加比赛项目的成绩、积分、名次;查看各代表队的总积分、总名次等。

运动会管理系统同主要管理对象有代表队、运动员、比赛项目等。

对于代表队,需要有代表队号、代表队的名称、领队、本代表队的总积分、总名次等属性;对于运动员需要有运动员号、姓名、年龄、性别等属性;对于比赛项目,需要有项目号、项目类别、项目名称、成绩单位等属性。

在运动会管理系统中,基本规定为:

一个代表队包含多个运动员,一个运动员只能属于一个代表队;一个运动员可以参加多个比赛项目,一个比赛项目也可以被多个运动员参加;假设各个比赛项目结束后,按照成绩由高到低排出名次,并对前3名运动员给予相应的积分,如第1、2、3名分别积分为3分、2分、1分,而获得其他名次的运动员积分为0分,将代表队中所有成员的积分累加,得到各代表队总积分,将总积分由高到低排序,得到各个代表队的排名情况。

为简化系统需求,本系统只考虑代表队、运动员、比赛项目的关系,其他关系不考虑。

实验内容

②分析各实体之间的联系及类型,设计运动会管理系统总体E-R图;

根据E-R图,设计运动会管理数据库的关系模式。

(1)运动员(运动员号、姓名、年龄、性别);

(2)代表队(代表队号、代表队的名称、领队、本代表队的总积分、总名次);

(3)比赛项目(项目号,项目类别,项目名称,成绩单位);

(4)参加(运动员号,项目号,成绩,积分,名次)

(1)建立数据库

建立“运动会管理系统”数据库,其初始大小为100MB,增长率为10%,数据文件和日志文件名分别为:

“运动会管理系统_data”和“运动会管理系统_log”,存储路径为“D:

\\MSSQL\Data”文件夹下。

创建运动会数据库SQL代码如下:

CREATEDATABASE运动会管理系统

on(

NAME=运动会管理系统_data,

FILENAME=’D:

\\MSSQL\Data\运动会管理系统.mdf',

SIZE=100MB,

MAXSIZE=200MB,

FILEGROWTH=10%

LOGON(

NAME=运动会管理系统_log,

FILENAME='D:

\\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','','3','1')

insertinto比赛详情values('J11005','JS001M','','2','2')

insertinto比赛详情values('J11002','JS001M','','1','3')

insertinto比赛详情values('S11004','JS001M','','0','4')

insertinto比赛详情values('W11004','JS002W','','3','1')

insertinto比赛详情values('J11001','JS002W','','2','2')

insertinto比赛详情values('G11004','JS002W','','1','3')

insertinto比赛详情values('G11003','JS002W','','0','4')

insertinto比赛详情values('W11005','TS001M','','3','1')

insertinto比赛详情values('W11002','TS001M','','2','2')

insertinto比赛详情values('J11003','TS001M','','1','3')

insertinto比赛详情values('S11004','TS001M','','0','4')

insertinto比赛详情values('G11004','TS002W','','3','1')

insertinto比赛详情values('G11003','TS002W','','2','2')

insertinto比赛详情values('G11005','TS002W','','1','3')

insertinto比赛详情values('W11004','TS002W','','0','4')

(5)建立和管理视图

(5-1)生成一张“项目类别”为“田赛”的视图,并将该视图命名为“田赛项目”。

createview田赛项目asselect*from比赛项目where项目类别='田赛'

(5-2)生成一张“项目类别”为“径赛”的视图,并将该视图命名为“径赛项目”。

createview径赛项目asselect*from比赛项目where项目类别='径赛'

(6)建立和管理索引

(6-1)为运动员表中的“姓名”建立次索引。

createindexsportnameon运动员表(姓名)

(6-2)为项目表中的“项目类别”建立次索引。

createindexclassificationon比赛项目(项目类别)

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”的比赛成绩全部减少米。

update比赛详情set成绩=成绩where项目号='TS001M'

(6)删除运动员号为“S1106”的运动员信息。

Deletefrom运动员表where运动员号='S11006'

(1)使用SQL语句备份数据库

(1-1)创建备份设备

EXECsp_addumpdevice'DISK','mybackup1',

'D:

\\MSSQL\Backup'

(1-2)备份数据库

BackupDatabase运动会管理系统

ToDISK='D:

\\MSSQL\Backup\运动会管理系统.BAK'

五、参考文献

《软件工程及实践》,电子工业出版社,窦万峰,郑阿奇。

《数据库技术与应用》,清华大学出版社,顾斌。

《数据库系统原理教程》,清华大学出版社,王珊、陈虹;

六、实验心得

这次设计中不断的出现问题,我则自己努力,不断的改正错误,改进自己的程序,有些自己实在是无法解决的问题,则会与其他同学讨论,或上网查询、搜寻资料……在不断的改进过程中,深刻的认识到自己程序的漏洞和不健全性,而且一些pb的语法和函数自己不是很了解,以致有很多错误改了很长时间才能调试正确。

通过这次设计,不但让我进一步加深了对知识的巩固,而且很好的锻炼了我的独立思考能力,以及分析问题解决问题的能力。

今后凡事都不要着急,要冷静的分析思考,越是急越是无法解决,只有沉着冷静深入思考才能真正的解决问题。

只要自己努力凡事都能解决。

而且深刻感受到了知识的重要性。

平时如果不多积累知识,在编写自己的程序时会手忙脚乱无所适从,相反如果平时自己扎实学习,知识掌握的都很牢固,到写程序的时候会得心应手,很熟练很快的写出程序,虽然有些毛病,但是如果仔细检查,也会在很短的时间内解决。

由此我更加认识到课堂知识的重要性,以及自己多积累,多查资料的重要性。

最重要的一点经验就是老师提供了设计提纲,跟着老师的设计思路慢慢完善很重要,总是先建表,再找关系,这是很不正确的,以后设计也要按照老师给的这个思路,要先进行目标明确,任务分析,然后是系统边界,再是需求分析,之后是ER图,然后才是数据库设计,最后是程序的编写与完善。

这样就避免了我们平时写程序的时候边写边修改数据库,数据库应该是比较完善的时候才进行程序的编写。

以后做程序要先理清思路,不要急于完成,先把各角色的任务权限分清,各模块划分好,联系好,要先从整体把握,再从细节抓起

课程设计感触颇深,首先是深刻感受到程序的实际应用性,这学期的课程设计的题目都是贴近实际生活的问题,我们就能够很清楚的明白自己写的程序要解决什么样的实际问题,应该解决什么样的实际问题,觉得自己的程序更有实用价值。

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

当前位置:首页 > 法律文书 > 调解书

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

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