校运动会mysql索引_校运动会数据库设计(word文档)最新版

《校运动会数据库设计.doc》由会员分享,可免费在线阅读全文,更多与《校运动会数据库设计(word文档)》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。

1、

运动员、个人项目和个人项目奖励之间的联系

学院、集体项目和集体项目奖励之间的联系

赛事类别与项目之间的联系

裁判、项目、职务之间的联系:

总ER图

逻辑设计

物理设计

触发器

()建立触发器T(保证一名运动员最多只能报两项个人项目项目)

()建立触发器T(保证一名运动员在同一时间内只能参加一项项目):

()建立触发器T(保证在同一时间内只能举行一项集体项目):

()建立触发器T(保证更新个人项目里运动员的名次时,更新他所在的学院的

总分:

()建立触发器T(保证一名裁判在同一时间内只能负责一项项目的比赛):

()建立触发器T(保证在同一时间内只能进行一项径赛项目):

存储过程

()建立存储过程P,输入一个学院名称,即可查出其总分:

()建立存储过程P,利用存储过程查找姓“韩”裁判的编号,性别,负责赛事

的时间,项目号等

()建立存储过程CountsCollageScore,输入一个学院名称,统计该学院的总分,

并自动更新:

2、

as

if@@rowcount=

begin

declare@counttinyint

select@count=count(sig_matchitem_no)

fromsig_match,inserted

wheresig_matchathlete_no=insertedathlete_no

if@countgt

begin

rint'一名运动员最多只能报两项个人项目'

rollback

end

end

()建立触发器T(保证一名运动员在同一时间内只能参加一项项目):

createtriggerTonsig_match

forinsert,udate

as

if@@rowcount=

begin

declare@timedatetime,@timedatetime,

@item_nochar(),@item_nochar()

selectto@item_no=sig_matchitem_no*取所插入或更新的运动员所

3、参加的一项项目

*

fromsig_match,inserted

wheresig_matchathlete_no=insertedathlete_no

selectto@item_no=sig_matchitem_no

fromsig_match,inserted

wheresig_matchathlete_no=insertedathlete_no

andsig_matchitem_no!=@item_no*取所插入的运动员所参加的另一项项目*

select@time=start_time*取第一项项目的开始时间*

frommatch_item

whereitem_no=@item_no课程名称:数据库系统原理与应用

实验项目名称:校运动会数据库设计

数据库总体设计

目录

需求分析

编写目的

背景

定义

目标

需求分析

系统总体需求

软硬件平台设计

概念设计

实体学院与运动员之间的联

4、em_nochar()Notnull项目编号

resultnumeric(,)null成绩

ositiontinyintnull名次

isattendchar()null是否参赛

()个人项目奖励表(together_rize):‘名次’做主键

ositiontinyintNotnullPrimarykey名次

scoretinyintNotnull奖励分数

rizechar()null奖励物品

moneytinyintnull奖励金额

()集体项目破记录表(together_record):‘集体项目编号+破记录学院编号’

做主键

item_nochar()NotnullPrimarykey集体项目编号

collage_nochar()Notnull破记录学院编号

resultChar()Notnull成绩

timedatetimeNotnull破记录时间

物理设计

为了加速表的查询,根据所设计的表的特点,我们决定在对比赛

5、内,一名裁判只能主持一项比赛、担任一个职务(用一个触发器实现)但

在不同的时间内,一名裁判可主持不同的项目、担任不同的职务

⑦一名运动员在同一时间内只能参加一项比赛(用一个触发器实现)

⑧在同一时间内,一个学院只能参加一项集体项目比赛(通过用一个触发器限制在同一

时间内只能举行一项集体项目)

⑨在某一项目中,只有一个主裁判,其余都为副裁判

⑩一项个人项目可有多个同时破记录者,一名运动员同时破多项记录一项集体项目可

同时有多个破记录的学院,一个学院可同时破多项记录。

()通过对运动会各方面分析,运动会中包含的实体有学院、运动员(不包含集体项目

中的运动员)、项目(集体项目和个人项目)、裁判、职务、奖励(集体项目奖励和个人项

目奖励,名次为表示破记录)、赛事类别(田赛、径赛、集体项目等)集体项目奖励和

个人项目奖励不同。包含的数据项分别如下:

①学院编号,学院名称,上届运动会名次,历史最高名次,本次运动会总分,本次运动

会名次等

②运动

6、副

裁判之分

⑤在同一时间内可同时举行多项比赛,但是只能进行一项径赛比赛(用一个触发器实

现)

⑥在同一时间内,一名裁判只能主持一项比赛、担任一个职务(用一个触发器实现)但

在不同的时间内,一名裁判可主持不同的项目、担任不同的职务

⑦一名运动员在同一时间内只能参加一项比赛(用一个触发器实现)

⑧在同一时间内,一个学院只能参加一项集体项目比赛(通过用一个触发器限制在同一

时间内只能举行一项集体项目)

⑨在某一项目中,只有一个主裁判,其余都为副裁判

⑩一项个人项目可有多个同时破记录者,一名运动员同时破多项记录一项集体项目可

同时有多个破记录的学院,一个学院可同时破多项记录。

()通过对运动会各方面分析,运动会中包含的实体有学院、运动员(不包含集体项目

中的运动员)、项目(集体项目和个人项目)、裁判、职务、奖励(集体项目奖励和个人项

目奖励,名次为表示破记录)、赛事类别(田赛、径赛、集体项目等)集体项目奖励和

个人项目奖励不同。包含的数据项

7、分为两类:

普通操作员:只须具有初级的计算机操作能力,一般高中生以上经过稍稍培训都可胜任,

只是负责比赛进行时一些简单数据的插入、更新、查询。

管理人员:这些人员应具备一定的数据库知识,不过只要了解就行,这些人员负责对数

据库中重要数据及基本数据的更新,如对静态表的重新定义,普通用户的权限分配。

需求分析

系统总体需求

(l)通过对运动会各个步骤、所需的各项信息等的分析,我们规定:

①项目有个人项目、集体项目之分

②对于集体项目,我们并不关心具体参加比赛的运动员在每一项集体项目中,每个学

院的参赛人数不可超过限制的参赛人数,且必须是该学院的学生

③一个项目可有多名运动员参加,但一名运动员最多只能参加两项个人项目(用一个触

发器实现),且只能属于一个学院

④一个项目可由多名裁判主持,每一个裁判在此项目中所担任的职务不同,且有主、副

裁判之分

⑤在同一时间内可同时举行多项比赛,但是只能进行一项径赛比赛(用一个触发器实

现)

⑥在同一时

8、平台设计

()软件平台:windowsXP操作系统、SqlServer数据库

()硬件平台:普通微机

概念设计

实体学院与运动员之间的联系

相关说明:

上述ER图表示一个学院有多名运动员参加个人项目,一名运动员只能属于一个学院。运动员、个人项目和个人项目奖励之间的联系

上述ER图表示一个项目可有多项不同的奖励(如第一名、第二名等的奖励不同)对

于每一项奖励可在不同的项目中出现;一名运动员最多只能有两项个人项目奖励(此时

=),每一项奖励可有多名运动员获得;一名运动员最多能参加两项个人项目(此时

m=),一项个人项目可有多名运动员参加。

学院、集体项目和集体项目奖励之间的联系

相关说明:

上述ER图表示一个学院可获得多项集体项目奖励、参加多项集体项目,一项集体项

目可有多个学院参赛、有多项不同的奖励,一项集体项目奖励可被多个学院获得、可在多项

集体项目中出现

赛事类别与项目之间的联系

裁判、项目、职务之间的联系:

上述

9、目表中的‘项目编

号item_no’,运动员信息表中的‘运动员编号athlete_no’,裁判信息表中的‘裁判编号

judge_no‘分别建立索引CREATEINDEXIX_match_itemONdbomatch_item(item_no)

GOCREATEINDEXIX_athleteONdboathlete(athlete_no)GOCREATEINDEXIX_judgeON

dbojudge(judge_no)GO

item_nochar()NotnullPrimarykey项目编号

stu_namechar()Notnull破记录者姓名

collage_nochar()Notnull学院编号

resultChar()Notnull成绩

timedatetimeNotnull破记录时间触发器

()建立触发器T(保证一名运动员最多只能报两项个人项目项目)

createtriggerTonsig_match

forinsert,udat

10、分别如下:

①学院编号,学院名称,上届运动会名次,历史最高名次,本次运动会总分,本次运动

会名次等

②运动员编号,学号,姓名,性别,所属学院,班级等

③项目编号,项目名称,参赛者性别(男或女或不限)、每个学院限参赛人次,比赛时

间,结束时间等

④裁判编号,姓名,性别等

⑤职务编号,职务名称(如计时员、测量员、记录员等),职务级别(主裁判和副裁判)

等⑥名次,奖励分数,奖励物品(如奖状等),奖励金额等

⑦赛事类别编号,赛事类别名称等

()实体之间的联系有:

①学院与运动员之间(:M)

②运动员、个人项目与个人项目奖励之间(:M,:)

③学院、集体项目与集体项目奖励之间(:M,:)

④赛事类别与项目之间(:M)

⑤裁判、项目与职务之间(M:N)

()通过以上分析,运动会数据库包含的模块有:

①输入模块主要是各种信息的输入,如学院信息、运动员信息、项目信息、比

赛信息、奖励信息等

②输出模块主要是各种查询结果的输出等

软硬

11、()建立存储过程Sorts,根据每一个学院的得分自动进行排名,并自动更新:

数据库脚本

需求分析

编写目的

使用该文档的使用成员为实现SGS系统的开发人员以及学校的运动会具体组织管理人

员。

小组各成员所做的工作:

***分析设计,概念设计,逻辑设计

***逻辑设计,物理设计,表项设计

***ER图设计,逻辑设计,数据处理

***ER图绘制,逻辑设计,数据处理

***表项分析,数据处理

背景

项目名称:学校运动会管理系统(SchoolGymkhanaSystem简称SGS)。

项目提出者:*************。

项目开发者:SGS项目开发小组。

项目鉴定者:暂无。

项目开始时间:********。

定义

系统数据流程图的一些定义

目标

当学校运动会管理人员使用了《学校运动会管理系统SGS》软件后,可以由计算机完

成:运动员报名的自动核对;比赛时各种人员信息的查询、核对、更新、删除。学校运动会管理系统SGS用

12、R图表示一名裁判在不同的时间内可主持多项比赛、担任多项职务,同一职务

可被多名裁判担任、可出现在多项比赛中,一项项目可由多名裁判共同主持、可有多个职务

(如计时员、测量员、记录员等)

总ER图

将上述分ER全部合并,并化简的到如下的总ER图(为简化画图工作,上述各实体nsmallintnull名次

isattendchar()null是否参赛

(

()个人项目奖励表(erson_rize):‘名次’为主码

ositionsmallintNotnullPrimarykey名次

scoretinyintNotnull分数

rizechar()null奖励物品

moneytinyintnull奖励金额

()个人项目破记录表(sig_record):主码为‘项目编号+破记录者姓名’

()集体项目比赛表(together_match):主码为‘学院编号+项目编号’

collage_nochar()NotnullPrimarykey学院编号

i

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值