收藏 分销(赏)

数据库课程设计(finish).doc

上传人:a199****6536 文档编号:2034488 上传时间:2024-05-13 格式:DOC 页数:26 大小:747KB
下载 相关 举报
数据库课程设计(finish).doc_第1页
第1页 / 共26页
数据库课程设计(finish).doc_第2页
第2页 / 共26页
数据库课程设计(finish).doc_第3页
第3页 / 共26页
数据库课程设计(finish).doc_第4页
第4页 / 共26页
数据库课程设计(finish).doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、中国石油大学远程教育学院20*-20*-*学期数据库课程设计大作业题 目: 运动会管理系统设计 专 业: 班 级: 学生姓名: 学 号: 年 月目 录1 需求分析背景31.1 系统设计背景31.2系统设计的原则31.3系统设计的目标42 需求分析功能及性能42.1系统需求功能分析42.2 系统业务需求分析52.3 赛前准备系统62.4 系统权限设计62.5系统数据流程图62.6数据定义73 数据库设计93.1确定实体和联93.2 E-R 图设计103.3关系模式截图104 数据库逻辑设计114.1 将 E-R 图转化为关系模式114.2 数据表的代码(创建)115 确定数据库的存储结构146

2、检验是否满足用户需求157 数据库实施、运行和维护158 系统测试159 课程设计心得体会24参考文献251 需求分析背景1.1 系统设计背景高等院校运动会是高校体育工作的重要组成部分。近年来,随着招生规模的扩大, 导致比赛项目、参赛人数不断增加,同时人们对比赛结果的准确性和实时性要求也越来越高,参赛队需要得到及时、准确的相关信息 ,从而有效进行竞赛的决策指导,这些问题和需求是采用人工方式或单机版运动会管理系统都难以解决的。为此,我们对运动会的信息综合管理系统进行了研究,使运动会的筹备、组织、管理、协调等工作全面实现了计算机网络化、自动化,极大的提高了工作效率和信息处理的实时性。高校运动会作为

3、各项体育运动的基础,具有广泛的群众性。每届的高校运动会声势浩大,是提高、检验学生的健康水平,开展全民健身运动的有效途径。由于比赛项目较多,参赛人数广,数据处理量大且变化时效性要求高,管理较为复杂,其编排,记录,公告工作是一项复杂的工程。为了解决在运动会管理和组织所面临的各种问题,我们开发了一套适合高校的运动会管理系统。在分析运动会管理需求的基础上,通过比较分析不 同的开发模式和特点,系统采用简单实用的Windows环境下的基于浏览器/服务器的模式构建,用SQL Server2005作为后台数据库,提供对数据库的查询、添加、修改、删除等操作来实现信息网上管理,并对信息管理功能进行了详细的分析,以

4、实现动态、交互、高效的网络化信息管理。系统采用业务流程图,实现了赛前管理、赛中管理、赛后管理三大功能模块。系统能够对运动员的报名信息进行准确统计,能够有效处理赛程中的实时数据。系统具有覆盖面广、维护性强、通用性好以及安全性高等优点。本系统投入使用后,运行稳定可靠,基本达到了预期效果,提高了高校运动会管理的效率,降低了管理的人力、财力成本取得了一定的实用价值和经济效益。同时,我们也得到了一些好的建议,为今后系统的不断完善创造了有力条件。1.2系统设计的原则 本系统从高校运动会的实际情况出发,坚持用户方便易用,运动会期间数据实时共享,从本质上改变以前繁琐、重复和低效率的手工操作的工作方式,提高了运

5、动会管理数据的准确性和及时性,因而能更好地为学生和决策人服务。为了该系统能更好的为高校运动会管理服务,本系统的建立应该遵循以下四个基本原则:(1)规范化原则 先对高校运动会管理业务流程的综合分析,建立相关的规范的运动会管理制度,利用现有的信息技术实现管理的规范化和高效性。(2)兼容性原则 本系统应能够与学校现有的管理系统在技术上兼容,在技术条件允许的前提下,最大限度地利用现有的硬件、软件平台。使得在更大程度上提高管理部门的数据和信息资源的共享,为以后的领导决策提供必要的信息支持。(3)易用性原则 根据高校运动会的业务需要,给各类用户提供高效,友好的用户界面,交互更加的人性化和易操作。(4)创新

6、性原则 在系统建设过程中,将结合信息系统的特点,基于高校运动会流程管理思想对现有的业务流程进行重新梳理,优化组合。在管理制度和业务实现等方面体现该系统创新和开拓的思路。1.3系统设计的目标为了使系统更好的为高校运动会管理服务,本系统的建立需要实现以下两个目标: (1) 系统具有较广的覆盖面,系统将根据整个运动会组织管理的具体情况量身定制,应该包括运动会管理的各个方面,从比赛项目信息到运动员信息、从报名信息到比赛成绩信息等都应该 包含到位。(2)系统具有较高的安全性 我们除了视窗系统本身提供的安全措施外,系统还应该具有以下几项安全性能:数据库系统的身份核查;系统的登录和身份核查;非登录用户不允许

7、直接进入工作页面。2 需求分析功能及性能2.1系统需求功能分析 根据用户需求,按照结构化程序设计的思想,采用自顶向下的结构化分析方法,整个系统可以划分为三大部分:赛前准备,赛中管理,赛后处理。运动会管理系统赛前准备赛后处理赛中管理比赛规则比赛项目报名分组分道成绩录入名次裁定运动员成绩统计统计团体总分破纪录人数统计成绩查询记录表成绩表团体总分表奖牌榜决赛成绩总表破纪录情况表运动员姓名号码顺序表项目分组表系统功能模块图(1)赛前准备 根据比赛需求,学校制定相关比赛规则和比赛项目,运动员根据比赛规则报名,并确定所要参加的比赛项目。所有的运动员都需要在报名表上登记个人的基本信息。由管理人员对参赛的运动

8、员进行编号,生成运动员姓名号码对照表,并根据报名表系统进行自动分组,分道,生成项目分组表。(2)赛中管理 根据比赛结果,裁判对运动员的进行成绩评定、成绩录入和成绩处理,从而判定出各个比赛项目的名次,并对运动队的成绩和团体总分进行统计,实现智能化成绩处理。(3)赛后管理 运动员可以根据自己的院系、姓名、号码等查询自己的成绩,并根据赛前准备和比赛管理阶段所涉及到的各个信息,打印出各种检录表、成绩单及团体总分表、奖牌榜、决赛成绩总表、破记录情况表。2.2 系统业务需求分析 经过详细的分析,田径运动会管理系统所实现的最终目标就是要使运动会管理人员的 各项工作实现全面的规范化、科学化、自动化、高效化和流

9、程化,使各类信息得到及时、有序的管理。因此,根据业务需要,运动会管理系统应满足以下的需求: (1)该系统是田径运动会比赛期间的信息处理系统,同时也是对外发布信息的窗口。赛会管理人员可以通过发布比赛信息,如比赛准备期间的比赛规则,比赛项目流 程信息,比赛期间的各个比赛实时信息等。因此,该系统必须要有一个简捷的操 作界面给管理人员进行操作。 (2)提供报名功能。运动员的报名信息是一届运动会的关键信息,因此,要给运动员提供一个方便快捷的方式进行报名操作。 (3)运动会期间要进行比赛成绩,排名等信息的录入和发布的操作。 (4)比赛结束后,要为运动会信息管理提供各个比赛项目信息的查询,统计功能,并且将统

10、计结果生成文档,打印为报表。开 始发布比赛规则和比赛项目运动员报名统计报名人数比 赛生产成绩单和团体总分表结 束系统业务流程图2.3 赛前准备系统其基本功能包括以下几个方面 (1) 比赛规程(包括比赛规则,裁判员名单,记分规则,比赛项目等等)的方布 (2) 运动员报名 (3) 运动员编号,分项目,分组,分道 (4) 报名表的录人,即统计参赛人数和各个项目参赛人数的统计 (5) 输出比赛用表,包含运动员姓名号码对照表,项目分组表 赛中管理系统其基本功能包括以下几个方面 (1) 裁判员输入各个比赛项目的比赛成绩信息 (2) 根据赛会成绩,发布比赛信息 (3) 生成决赛名单,并公布赛后处理系统该过程

11、具有如下功能:(1) 打印出各种检录表、成绩单及团体总分表、奖牌榜、决赛成绩总表、破记录情况表 (2) 比赛信息数据存储及备份2.4 系统权限设计为了保证系统的安全性,系统中的用户必须拥有不同的权限,而且不同权限的用户操作不同的页面。为了能更好的管理,可以将用户分为 3 种:(1)管理员 管理员可以使用系统的所有功能,有权添加授权用户,控制各级使用的菜单,发 布赛会信息等。 (2)授权用户 授权用户只能使用管理员授权使用的系统的部分功能,可以对系统的部分信息进行查询和浏览。 (3)一般用户 一般用户只能使用菜单功能和信息查询。2.5系统数据流程图数据流程图是用来描绘软件系统逻辑模型的图形工具,

12、是描绘信息在系统中流动和处理的情况。数据流图是软件设计人员和用户之间很好的通信工具。运动会的管理过程中需要处理大量的数据并且要及时,准确的提供处理结果。首先,要输入各个参赛运动员的报名表,并建立相关的数据库;利用报名表等数据进行田径运动会各个比赛项目时间、分组、分道的编排;在运动会比赛过程中,要求及时的输入各个运动员比赛项目的成绩并进行相应的出理,打印出成绩报表,提供各个运动会信息的查询。2.6数据定义数据结构编号数据结构名含义说明组成01用户记录用户情况用户编号,用户名,用户密码02比赛项目表记录学校设置的比赛项目情况项目编号,项目名称,项目类型,项目比赛时间03项目成绩表记录运动员的各个项

13、目的比赛成绩项目编号,项目名称,运动员编号,预赛成绩,预赛排名,决赛成绩,决赛排名04班级得分表记录每个班级的得分情况项目编号,项目名次,项目得分,班级总分,班级,系别05项目记录表记录破纪录的情况项目编号,项目记录,创造者学号,创造记录时间06运动员记录运动员的基本信息与报名信息姓名,性别,学号,系别,班级07分组分道表记录运动员的分组分道信息项目编号,运动员编号,分组号08运动员的姓名号码对照表记录运动员的姓名号码对照情况运动员编号,学号,姓名对上述8种数据定义如下:(1)用 户数据项编号数据项名含义说明别名数据类型数据长度取值范围1用户编号记录用户权限情况,用户的唯一标识YH_IDCHA

14、R8数字2用户名用户的全称YH_NAMECHAR20任何汉字3用户密码记录用户的登录密码情况YH_MIMACHAR20数字或汉字(2)项目成绩表数据项编号数据项名含义说明别名数据类型数据长度取值范围1运动员编号运动员比赛的唯一标识YDY_ID自动编号8数字2项目编号项目的编号情况XM_IDCHAR8数字3项目名称项目的全称XM_NAMECHAR20任何汉字4预赛成绩记录运动员在预赛中取得的成绩YS_CJCHAR8数字5预赛排名记录运动员在预赛中取得的成绩YS_PMCHAR8数字6决赛成绩记录运动员在决赛中取得的排名JS_CJCHAR8数字7决赛排名记录运动员在决赛中取得的排名Js_pmChar

15、4汉字或数字(3)比赛项目表数据项编号数据项名含义说明别名数据类型数据长度取值范围1项目编号项目的编号情况Xm_idChar8数字2项目名称项目的全称Xm_nameChar20任何汉字3项目类型记录项目的类型Xm_lxChar12任何汉字4项目比赛预赛时间记录项目的比赛预赛时间Xmys_sj日期型-5项目比赛决赛时间记录项目的比赛决赛的时间Xmjs_sj日期型-(4)班级总分表编号数据项名含义说明别名数据类型数据长度取值范围1项目编号项目的编号情况Xm_idChar6数字2项目名次记录项目的名次情况Xm_mcChar6汉字或数字3项目得分记录项目的得分情况Xm_dfChar6数字4班级总分记录

16、班级的总得分情况Bj_zfChar6数字5班级班级的全称Bj_nameChar6任何汉字6班级名次记录班级的名次情况Bj_mcChar6汉字或数字(5)项目记录表数据项编号数据项名含义说明别名数据类型数据长度取值范围1项目编号项目的编号情况Xm_idChar8数字2项目记录记录项目的记录Xm_jlChar8数字或汉字3创造者学号记录创造者的学生学号Jl_idChar12数字4创造记录时间记录创造者的时间Jl_sj日期型(6)运动员数据项编号数据项名含义说明别名数据类型数据长度取值范围1姓名运动员的全称Stu_nameChar8任何汉字2系别运动员所在的系别Stu_xbChar20任何汉字3学号

17、运动员的唯一标识Stu_xhChar12数字4班级班级的全称Bj_nameChar8任何汉字5性别运动员的性别Stu_sexChar2男或女6项目1运动员所报项目Stu_xmlChar8任何汉字7项目2运动员所报项目Stu_xm2Char8任何汉字(7)分组分道表数据项编号数据项名含义说明别名数据类型数据长度取值范围1运动员编号运动员比赛的唯一标识Ydy_id自动编号8数字2项目编号项目的编号情况Xm_idChar8数字3分组号运动员分组情况Fz_idChar4数字4分道号运动员分道情况Fd_idChar4数字(8)运动员姓名号码对照表数据项编号数据项名含义说明别名数据类型数据长度取值范围1运

18、动员编号运动员比赛的唯一标识Ydy_id自动编号8数字2运动员姓名运动员的全称Stu_nameChar8任何汉字3学号运动员的唯一标识Stu_xhChar12数字3 数据库设计 概念设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个较独立于 DBMS 的概念模型。 这个数据库设计的关键阶段,设计时,一般先根据系统要求,画出能反映每个应用需求的 E-R 图,其中包括确定实体、属性和联系的类型。然后对初始的 E-R 图进行优化,消除冗余和可能存在的矛盾。概念模型的设计是对用户需求的客观反映,并不涉及具体的计算机软件、硬件环境。因此,在这个阶段中我们必须将注意力集中在怎样表达

19、出用户对系统的需求,而不考虑具体实现问题。 3.1确定实体和联实体: 学校:学校编号,学校名称。 比赛项目:项目编号,项目规则,项目名称,项目类型。运动员:运动员编号,姓名,性别,年龄,院系名。 运动队:运动队编号,运动队名称,队长名。 裁判员:裁判员编号,姓名,性别,岗位。 成绩:等级,排名。 报表:报表编号,报表名称,打印时间。 联系: 制定:制定人,制定日期。 报名:比赛细则,人数限制。 参加:比赛地点,比赛时间,比赛人数。 遣派:遣派人数。 裁决:裁决人。 查询:用户名,密码,查询方式。 评定:评定规则,评定人。 处理:处理人。3.2 E-R 图设计 班级 1 组成 n 运动员 m 成

20、绩 参加 名次 n 项目3.3关系模式截图4 数据库逻辑设计4.1 将 E-R 图转化为关系模式学校(学校编号,学校名称) 比赛项目(项目编号,项目规则,项目名称,项目类型,制定人,制定日期,学校编号) 运动员(运动员编号,姓名,性别,年龄,院系名称,遣派人数,运动队编号) 运动队(运动队编号,运动队名称) 裁判员(裁判员编号,姓名,性别,岗位,项目编号) 成绩(等级,排名,用户名,密码) 报表(报表编号,报表名称,打印时间) 报名(运动员编号,项目编号,比赛细则,人数限制) 参加(运动员编号,项目编号,比赛地点,比赛时间,比赛人数) 裁决(裁判员编号,项目编号,裁决人) 评定(裁判员编号,项

21、目编号,评定规则,评定人) 处理(等级,裁判员编号,处理人)4.2 数据表的代码(创建)建立数据库,代码如下: create database Student on (name=Student_data1,filename=e:Student_data1.mdf,size=20MB, filegrowth=1MB), (name=Student_data2,filename=e:Student_data2.ndf,size=10MB, maxsize=100MB,filegrowth=1MB) log on (name=Student_log,filename=e:Student_log.ld

22、f,size=5MB, filegrowth=10%) 创建数据表,代码如下: Create table dbo.用户 ( yh_id char(8) NOT NULL, yh_name char(20) NULL,yh_mimachar(20) NULL,Primary key(yh_id) ) Create table dbo.项目成绩表(ydy_id 自动编号(8) NOT NULL, xm_id char(8) NULL, xm_namechar(20) NULL, ys_cj char(8) NULL,ys_pm char(4) NULL, js_cj char(8) NULL,js

23、_pm char(4) NULL,Primary key(ydy_id),Foreign key(xm_id) )Create table dbo.比赛项目表( xm_idchar(8) NOT NULL, xm_name char(20) NULL, xm_lx char(12) NULL, xmys_sj datetime NULL, xmjs_sj datetime NULL, Primary key (xm_id) ) Create table dbo.班级总分表 ( xm_idchar(8) NULL, xm_mcchar(4) NULL, xm_dfchar(4) NULL, xm

24、_zfchar(4) NULL, bj_namechar(8) NULL, bj_mcchar(4) NOT NULL, Primary key(bj_name), Foreign key(xm_id) )Create table dbo.项目记录表 ( xm_idchar(8) NULL, xm_jlchar(8) NULL, ji_idchar(12) NOT NULL,ji_sj NULLPrimary key(ji_id) Foreign key(xm_id) ) Create table dbo.运动员( stu_namechar(8) NULL, stu_xbchar(20) NU

25、LL, stu_xhchar(12) NOT NULL, bj_name char(8)NULL, stu_sex char(2) NULL, stu_xm1 char(8) NULL,stu_xm2 char(8) NULL,Primary key(stu_xh)Foreign key(bj_name) ) Create table dbo.分组分道表 ( xm_idchar(8) NULL, ydy_id 自动编号(8) NOT NULL, fz_idchar(4) NULL, fd_idchar(4) NULL, Primary key(ydy_id), Foreign key(xm_i

26、d) ) Create table dbo.运动员姓名号码对照表 ( ydy_id 自动编号(8) NULL,stu_name char(8) NULL, stu_xh char(12) NOT NULL,Primary key(stu_xh), Foreign key(ydy_id) )5 确定数据库的存储结构 为了提高系统性能,先根据应用情况将数据的易变部分和稳定部分、经常存取部分和存取频率较低的部分分开在两个磁盘上存放,并且考虑将日志文件单独存放于一个磁盘。同时,考虑到本系统是多用户的,为了提高效率,可以考虑将最大的表运动员成绩表分开存放在多个磁盘上。至于备份的数据和日志文件将保存在磁带

27、中。一般来说,关系到运动员成绩的表需要经常修改和存取,而关系到运动员、分组分道资料的表相对比较稳定。本例中,经常存取部分和数据的易变部分如:运动员成绩报表、破记录情况表、团体总分表和奖牌榜等。而存取频率较低的部分和稳定部分如运动员分组分道记录表等。创建存储结构IF EXISTS (SELECT NAME FROM sysobjects WHERE NAME=Pro_n AND TYPE=p)DROP PROCEDURE Pro_nGOCREATE PROCEDURE Pro_nmima_in CHAR(20)AS SELECT yh.mima 密码,yh_id 用户编号FROM yhWHERE

28、 yh.mima=mima_inAND yh.mima=yh.yh_idGO6 检验是否满足用户需求例行事务需求 1.运动员报名 查询运动员报名信息,确认是否报名成功,对运动员进行分组分道 2.运动员比赛 记录运动员比赛成绩,进行排名查询事务需求 1.查询某一运动员报名情况:根据运动员院系名、姓名查询报名信息和具体分组分道情况 2.查询运动员比赛成绩:查询破记录人次统计 按院系、姓名、号码等查询成绩 3.报表需求:生成运动员参赛信息用到的表:运动员报名信息,分组分道信息 生成运动员成绩信息用到的表:成绩单及团体总分表、奖牌榜、决赛成绩总表、破记录情况7 数据库实施、运行和维护 完成数据库的物理

29、设计之后,设计人员就要用DBMS提供的数据定义语言和其他实用 程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模式。然后就可以组织数据入库,从而建立起真正的数据库。同时,在数据库的基础上开发出各种应用程序,建立完善、规范的管理制度,使数据库系统进入正常运行状况。随着系统运行环境的变化,数据库也要进行动态的维护和扩充。 8 系统测试 登录界面如图8-1所示。 图8-1登录界面 对应代码: private void button1_Click(object sender, EventArgs e) try if (txtUserName.Text =

30、 ) /判断用户是否输入了用户名 MessageBox.Show(用户名不能为空); else if (txtPwd.Text = ) MessageBox.Show(密码不能为空); /判断用户是否输入了密码 else SqlConnection con = DBOcn.createCon();/创建数据库连接 con.Open(); if (comboBox1.Text = 运动员) SqlCommand cmd = new SqlCommand(select count(*) from 用户信息表 where 用户= + txtUserName.Text + and 密码= + txtP

31、wd.Text + , con); int i = Convert.ToInt32(cmd.ExecuteScalar(); if (i 0) this.Hide(); Form3 M = new Form3(); M.Show(); Form N = new Form(); N.Close(); else MessageBox.Show(用户名或者密码错误,请重新输入!); txtUserName.Clear(); txtPwd.Clear(); txtUserName.Focus(); else if (comboBox1.Text = 管理员) SqlCommand cmd = new

32、SqlCommand(select count(*) from 管理员 where 用户= + txtUserName.Text + and 密码= + txtPwd.Text + , con); int i = Convert.ToInt32(cmd.ExecuteScalar(); if (i 0) this.Hide(); Form4 M = new Form4(); M.Show(); Form N = new Form(); N.Close(); else MessageBox.Show(用户名或者密码错误,请重新输入!); txtUserName.Clear(); txtPwd.C

33、lear(); txtUserName.Focus(); else MessageBox.Show(请选择登录界面); catch (Exception ex) MessageBox.Show(ex.ToString(); private void txtPwd_KeyPress(object sender, KeyPressEventArgs e) if (e.KeyChar = 13) /判断是否按下Enter键 button1_Click(sender, e); /调用“登录”按钮的Click事件 报名界面如图8-2所示。 图8-2报名界面对应代码: private void 提交_Cl

34、ick(object sender, EventArgs e) string s; SqlConnection con = DBOcn.createCon(); con.Open();/在原表中新建一个新行,然后再数据添加到新行中 SqlCommand cmd = new SqlCommand(insert into 运动员信息表(编号,姓名,性别,比赛项目1,比赛项目2,比赛项目3,比赛项目4,代表队), con); cmd.Parameters.Add(编号, SqlDbType.Char, 20).Value = textBox1.Text; cmd.Parameters.Add(姓名,

35、 SqlDbType.Char, 20).Value = textBox2.Text; cmd.Parameters.Add(代表队, SqlDbType.Char, 20).Value = textBox3.Text; if (radioButton1.Checked = true) s = 男; cmd.Parameters.Add(性别, SqlDbType.Char, 2).Value = s; if (radioButton2.Checked = true) s = 女; cmd.Parameters.Add(性别, SqlDbType.Char, 2).Value = s; cmd.Parameters.Add(比赛项目1, SqlDbType.Char, 10).Value = comboBox1.Text; cmd.Parameters.Add(比赛项目2, SqlDbTyp

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服