收藏 分享(赏)

运动会管理系统.doc

上传人:精品资料 文档编号:10718910 上传时间:2019-12-31 格式:DOC 页数:29 大小:4.72MB
下载 相关 举报
运动会管理系统.doc_第1页
第1页 / 共29页
运动会管理系统.doc_第2页
第2页 / 共29页
运动会管理系统.doc_第3页
第3页 / 共29页
运动会管理系统.doc_第4页
第4页 / 共29页
运动会管理系统.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、南京师范大学 2015-2016 学年 第一学期数据库系统课程设计课程设计报告姓 名:学 号:班 级:专 业:学 院:指导教师:题 目:表单设计及数据提取访问数据库提交日期:目录一、设计目的 - 1 -二、设计平台 - 1 -三、试题内容 - 1 -四、实验设计 - 1 -4.1 需求分析 .- 1 -4.2 实验内容 .- 2 -4.2.1 概念结构设计 .- 2 -4.2.2 逻辑结构设计 .- 4 -4.2.3 数据库物理设计与实施 - 4 -4.2.4 访问数据库 .- 19 -4.2.5 数据库维护 .- 25 -五、参考文献 - 26 -六、实验心得 - 26 - 1 -一、设计目

2、的数据库课程设计是在系统地学习了数据库系统原理课程后,按照关系型数据库的基本原理,综合运用所学的知识,完成一个数据库应用系统的设计全过程,包括需求分析、数据库设计、数据库建立、数据输入、应用系统的设计和开发、用户界面的设计和实现、系统安装和调试。通过对一个实际问题的分析、设计与实现,将原理与应用相结合,学会如何把所学的知识用于解决实际问题。二、设计平台SQL 2005WPS三、试题内容根据给定的“运动会管理系统”的需求分析,完成概念结构设计、逻辑结构设计、数据库的物理设计、数据库的访问和数据库维护等内容,并提交完整的课程设计报告。四、实验设计4.1 需求分析引入计算机管理运动会,运动可以在运动

3、会管理系统中查询自己的比赛项目及比赛结果,裁判员或工作人员可以通过系统记录运动员各个比赛项目的成绩、进行成绩统计等。运动会管理系统保存运动员、比赛项目以及不同类型的比赛的参数数据。对于运动员来说:可以查看运动员所在代表队的名称、领队、本代表队的总积分、总名次;查看运动员参加比赛的项目、每个项目的成绩、积分等。对于管理员来说:可以记录并查看运动员参加比赛项目的成绩、积分、名次;查看各代表队的总积分、总名次等。运动会管理系统同主要管理对象有代表队、运动员、比赛项目等。对于代表队,需要有代表队号、代表队的名称、领队、本代表队的总积分、总名次等属性;对于运动员需要有运动员号、姓名、年龄、性别等属性;对

4、于比赛项目,需要有项目号、项目类别、项目名称、成绩单位等属性。在运动会管理系统中,基本规定为:一个代表队包含多个运动员,一个运动员只能属于一个代表队;一个运动员可以参加多个比赛项目,一个比赛项目也可以被多个运动员参加;假设各个比赛项目结束后,按照成绩由高到低排出名次,并对前 3 名运动员给予相应- 2 -的积分,如第 1、2、3 名分别积分为 3 分、2 分、1 分,而获得其他名次的运动员积分为 0分,将代表队中所有成员的积分累加,得到各代表队总积分,将总积分由高到低排序,得到各个代表队的排名情况。为简化系统需求,本系统只考虑代表队、运动员、比赛项目的关系,其他关系不考虑。4.2 实验内容4.

5、2.1 概念结构设计4.2.1.1 抽象出实体,并画出各实体的 E-R 图;- 3 - 分析各实体之间的联系及类型,设计运动会管理系统总体 E-R 图;- 4 -4.2.2 逻辑结构设计根据 E-R 图,设计运动会管理数据库的关系模式。 (1)运动员(运动员号、姓名、年龄、性别); (2)代表队(代表队号、代表队的名称、领队、本代表队的总 积分、总名次);(3)比赛项目(项目号,项目类别,项目名称,成绩单位); (4)参加(运动员号, 项目号,成绩,积分,名次)4.2.3 数据库物理设计与实施(1)建立数据库建立“运动会管理系统”数据库,其初始大小为 100MB,增长率为 10%,数据文件和日

6、志文件名分别为:“运动会管理系统_data”和“运动会管理系统_log”,存储路径为- 5 -“D:MSSQL.1MSSQLData”文件夹下。创建运动会数据库 SQL 代码如下:CREATE DATABASE 运动会管理系统on(NAME=运动会管理系统_data,FILENAME=D:MSSQL.1MSSQLData运动会管理系统.mdf,SIZE=100MB,MAXSIZE=200MB,FILEGROWTH=10%)LOG ON(NAME=运动会管理系统 _log,FILENAME=D:MSSQL.1MSSQLData运动会管理系统.ldf,SIZE=1MB,MAXSIZE=20MB,F

7、ILEGROWTH=10%)GO(2)建立基本表- 6 -创建代表队表 SQL 代码:CREATE TABLE 代表队表(代表队号 CHAR(10) NOT NULL PRIMARY KEY,队名称 CHAR(20) NOT NULL,领队 CHAR(10) NOT NULL,总积分 INT NOT NULL CHECK(总积分=0),总名次 INT NOT NULL CHECK(总名次=0),) 创建运动员表 SQL 代码:CREATE TABLE 运动员表(运动员号 CHAR(6) NOT NULL PRIMARY KEY,姓名 CHAR(10) NOT NULL,性别 CHAR(10)

8、NOT NULL CHECK(性别=男 or 性别=女 ),- 7 -年龄 Tinyint NOT NULL CHECK(年龄1 and 年龄= 0 ),名次 Tinyint CHECK (名次 = 0 ),CONSTRAINT 运动会管理系统 _比赛详情_运动员号 FOREIGN KEY (运动员号) REFERENCES 运动员表(运动员号),CONSTRAINT 运动会管理系统 _比赛详情_项目号 FOREIGN KEY (项目号) REFERENCES 比赛项目(项目号),)- 9 -(3)管理基本表(3-1) 向运动员表中增加“身高”列,其数据类型为整型。alter table 运动

9、员表 add 身高 INT NULL(3-2) 将运动员表中的 “身高”的数据类型改为浮点型。alter table 运动员表 alter column 身高 float- 10 -(3-3) 为运动员表中的 “身高”属性增加取值必须大于 0 的约束条件。alter table 运动员表 add constraint 运动会管理系统_运动员表_身高 check(身高 0)(3-4) 删除运动员表中的“身高”列。alter table 运动员表drop constraint 运动会管理系统 _运动员表_身高alter table 运动员表drop column 身高- 11 -(4)使用 Ins

10、ert 语句插入数据,各表中的数据如下:(4-1) 代表队表数据 :insert into 代表队表 values (GLXY,管理学院,吴道福 ,7,2)insert into 代表队表 values (JSJXY,计算机学院 ,张鹏,6,3 )insert into 代表队表 values (SXXY,数学学院, 宋威 ,3,4)insert into 代表队表 values (WYXY,外语学院,王光明,8, 1)- 12 -(4-2) 运动员表数据 :insert into 运动员values (G11001,钱翔 ,男, 14,GLXY)insert into 运动员values (

11、G11002,吴帆 ,男, 16,GLXY)insert into 运动员values (G11003,石乔乔, 女, 16,GLXY)insert into 运动员values (G11004,张桂芳, 女, 19,GLXY)insert into 运动员values (G11005,洪雪 ,女, 18,GLXY)insert into 运动员values (J11001,张月 ,女,19,JSJXY)insert into 运动员values (J11002,田楠 ,男,18,JSJXY)insert into 运动员values (J11003,赵恒博, 男,18,JSJXY)inser

12、t into 运动员values (J11004,徐铜铃, 男,15,JSJXY)insert into 运动员values (J11005,李明 ,男,16,JSJXY)insert into 运动员values (S11001,崔天齐, 男, 18,SXXY)insert into 运动员values (S11002,王尹 ,女, 16,SXXY)insert into 运动员values (S11003,刘冰洁, 女, 18,SXXY)insert into 运动员values (S11004,杨中华, 男, 15,SXXY)insert into 运动员values (S11005,李

13、雪平, 女, 15,SXXY)insert into 运动员values (W11001,叶星 ,男, 18,WYXY)insert into 运动员values (W11002,顾羽翔, 男, 16,WYXY)insert into 运动员values (W11003,袁建明, 男, 15,WYXY)insert into 运动员values (W11004,刘琼 ,女, 17,WYXY)insert into 运动员 values (W11005,孟储强, 男,19,WYXY)- 13 -(4-3) 比赛项目表数据:insert into 比赛项目values (JS001M,径赛 ,男子

14、米 ,秒)insert into 比赛项目values (JS002W,径赛 ,女子米 ,分钟)insert into 比赛项目values (TS001M,田赛 ,男子三级跳远, 米)insert into 比赛项目 values (TS002W,田赛 ,女子铅球 ,米)- 14 -(4-4) 比赛详情表数据insert into 比赛详情values (S11001,JS001M ,12.91,3,1)insert into 比赛详情values (J11005,JS001M ,13.15,2,2)insert into 比赛详情values (J11002,JS001M ,13.19,1

15、,3)insert into 比赛详情values (S11004,JS001M ,13.55,0,4)insert into 比赛详情values (W11004,JS002W ,1.24 ,3,1)insert into 比赛详情values (J11001,JS002W ,1.25 ,2,2)insert into 比赛详情values (G11004,JS002W ,1.32 ,1,3)insert into 比赛详情values (G11003,JS002W ,2.02 ,0,4)insert into 比赛详情values (W11005,TS001M ,5.47 ,3,1)ins

16、ert into 比赛详情values (W11002,TS001M ,5.15 ,2,2)insert into 比赛详情values (J11003,TS001M ,5.11 ,1,3)insert into 比赛详情values (S11004,TS001M ,4.98 - 15 -,0,4)insert into 比赛详情values (G11004,TS002W ,5.72 ,3,1)insert into 比赛详情values (G11003,TS002W ,5.38 ,2,2)insert into 比赛详情values (G11005,TS002W ,5.21 ,1,3)ins

17、ert into 比赛详情 values (W11004,TS002W ,5.02 ,0,4)(5)建立和管理视图(5-1) 生成一张“项目类别”为“田赛”的视图,并将该视图命名为“田赛项目”。create view 田赛项目as select * from 比赛项目where 项目类别=田赛- 16 -(5-2) 生成一张“项目类别”为“径赛”的视图,并将该视图命名为“径赛项目”。create view 径赛项目 as select * from 比赛项目 where 项目类别= 径赛(6)建立和管理索引(6-1) 为运动员表中的“姓名 ”建立次索引。- 17 -create index s

18、portname on 运动员表( 姓名)(6-2) 为项目表中的“项目类别 ”建立次索引。create index classification on 比赛项目(项目类别)4.2.4 访问数据库- 18 -1数据查询(1) 查询姓名为“杨中华” 的运动员的运动员号和所在的代表队号。select 运动员表 .运动员号,运动员表. 代表队号from 运动员表where 姓名= 杨中华(2) 查询代表队号为“JSJXY”的所有成员姓名。select 姓名 from 运动员表 where 代表队号= JSJXY- 19 -(3) 统计项目名称为 “男子 100 米”比赛的参赛运动员名称、年龄、项目号

19、、项目名称、成绩,并按成绩由高到低排列。select 运动员表 .姓名, 运动员表. 年龄,比赛详情.项目号,比赛项目.项目名称, 比赛详情.成绩from 运动员表, 比赛详情,比赛项目where 比赛详情 .项目号= 比赛项目. 项目号 and 运动员表.运动员号= 比赛详情.运动员号 and 项目名称= 男子米order by 比赛详情.成绩 desc- 20 -(4) 查询“杨中华”参加的比赛项目的情况。select 运动员表.姓名,比赛详情.运动员号, 比赛详情.项目号,比赛项目.项目名称, 比赛详情.成绩,比赛详情.积分 ,比赛详情.名次from 运动员表,比赛项目, 比赛详情whe

20、re 比赛详情.项目号= 比赛项目.项目号 and 运动员表.运动员号= 比赛详情.运动员号 and 姓名= 杨中华(5) 列出运动员号为“G1104”的运动员的所有的个人信息及比赛信息。select 比赛详情 .运动员号,运动员表. 姓名,运动员表.性别,运动员表.年龄, 运动员表.代表队号,比赛详情.项目号,比赛项目. 项目类别,比赛项目.项目名称,比赛详情 .成绩,比赛详情. 积分,比赛详情.名次 from 运动员表,比赛项目,比赛详情where 比赛详情.项目号= 比赛项目.项目号 and 运动员表.运动员号= 比赛详情.运动员号 and 运动员表. 运动员号= G11004(6) 统

21、计代表队号为“JSJXY”的参加比赛的各个运动员的积分情况,并且按积分由大到小的顺序排序。select 比赛详情 .运动员号,运动员表. 姓名,比赛详情.积分from 运动员表, 比赛详情- 21 -where 运动员表 .运动员号= 比赛详情. 运动员号 and 运动员表.代表队号= JSJXYorder by 比赛详情.积分desc(7) 统计所有比赛项目中,同一个运动员号的运动员的积分情况。Select 运动员表.运动员号,运动员表. 姓名,比赛项目.项目号, 比赛详情.积分from 运动员表, 比赛详情,比赛项目where 比赛项目 .项目号= 比赛详情. 项目号 and 比赛详情.运

22、动员号= 运动员表.运动员号(8) 查询个人总积分大于等于 3 的运动员的情况。Select 运动员表.运动员号,运动员表. 姓名,运动员表.性别, 运动员表.年龄,运动员- 22 -表.代表队号from 运动员表, 比赛详情where 运动员表 .运动员号=比赛详情. 运动员号and 比赛详情.积分= 32数据更新(1) 增加一名新的运动员,要求运动员号:S11006;姓名:王林;性别:男;年龄:17;代表队号:SXXY。insert into 运动员表(运动员号 ,姓名,性别,年龄,代表队号)values(S11006,王林, 男,17,SXXY)(2) 将“王林”的年龄更新为 16。up

23、date 运动员表 set 年龄=16 where 姓名=王林- 23 -(3) 将运动员号为“S11006”的运动员的代表队号更新为“GLXY”。update 运动员表 set 代表队号=GLXY where 运动员号=S11006(4) 将所有运动员的年龄加 1。update 运动员表 set 年龄=年龄+ 1- 24 -(5) 由于测算问题,需要将项目号为“TS001M”的比赛成绩全部减少 0.5 米。update 比赛详情set 成绩= 成绩-0.5 where 项目号= TS001M(6) 删除运动员号为“S1106”的运动员信息。Delete from 运动员表 where 运动员

24、号=S110064.2.5 数据库维护(1) 使用 SQL 语句备份数据库(1-1) 创建备份设备EXEC sp_addumpdevice DISK,mybackup1,D:MSSQL.1MSSQLBackup- 25 -(1-2) 备份数据库Backup Database 运动会管理系统To DISK=D:MSSQL.1MSSQLBackup运动会管理系统.BAK五、参考文献软件工程及实践,电子工业出版社,窦万峰,郑阿奇。 数据库技术与应用,清华大学出版社,顾斌。 数据库系统原理教程,清华大学出版社,王珊、陈虹;六、实验心得这次设计中不断的出现问题,我则自己努力,不断的改正错误,改进自己的

25、程序,有- 26 -些自己实在是无法解决的问题,则会与其他同学讨论,或上网查询、搜寻资料在不断的改进过程中,深刻的认识到自己程序的漏洞和不健全性,而且一些 pb 的语法和函数自己不是很了解,以致有很多错误改了很长时间才能调试正确。通过这次设计,不但让我进一步加深了对知识的巩固,而且很好的锻炼了我的独立思考能力,以及分析问题解决问题的能力。今后凡事都不要着急,要冷静的分析思考,越是急越是无法解决,只有沉着冷静深入思考才能真正的解决问题。只要自己努力凡事都能解决。而且深刻感受到了知识的重要性。平时如果不多积累知识,在编写自己的程序时会手忙脚乱无所适从,相反如果平时自己扎实学习,知识掌握的都很牢固,

26、到写程序的时候会得心应手,很熟练很快的写出程序,虽然有些毛病,但是如果仔细检查,也会在很短的时间内解决。由此我更加认识到课堂知识的重要性,以及自己多积累,多查资料的重要性。 最重要的一点经验就是老师提供了设计提纲,跟着老师的设计思路慢慢完善 很重要,总是先建表,再找关系,这是很不正确的,以后设计也要按照老师给的这个思路,要先进行目标明确,任务分析,然后是系统边界,再是需求分析,之后是 ER 图,然后才是数据库设计,最后是程序的编写与完善。这样就避免了我们平时写程序的时候边写边修改数据库,数据库应该是比较完善的时候才进行程序的编写。 以后做程序要先理清思路,不要急于完成,先把各角色的任务权限分清,各模块划分好,联系好,要先从整体把握,再从细节抓起课程设计感触颇深,首先是深刻感受到程序的实际应用性,这学期的课程设计的题目都是贴近实际生活的问题,我们就能够很清楚的明白自己写的程序要解决什么样的实际问题,应该解决什么样的实际问题,觉得自己的程序更有实用价值。

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报