数据库课程设计运动会成绩管理系统.docx
- 文档编号:3038016
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:39
- 大小:992.85KB
数据库课程设计运动会成绩管理系统.docx
《数据库课程设计运动会成绩管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计运动会成绩管理系统.docx(39页珍藏版)》请在冰豆网上搜索。
数据库课程设计运动会成绩管理系统
数据库原理与应用课程设计
说明书
题目:
运动会成绩管理系统
学院:
班级:
完成人:
组号:
姓名:
XXX学号:
XXXX成绩:
姓名:
XXX学号:
XXXX成绩:
指导教师:
山东科技大学
2014年6月27日
课程设计任务书
一、课程设计题目:
运动会成绩管理系统
二、课程设计应解决的主要问题:
(按实现的系统功能)
(1)运动项目、运动员、运动成绩以及班级名次的记录存储
(2)添加修改和删除项目表、运动员表和成绩表信息
(3)自动生成班级名次表(触发器)
(4)运动员表有改动时,自动更新班级名次表(触发器)
(5)成绩表有改动时自动对成绩表中记录按项目排名次(触发器)
(6)成绩表自动排名自动更新班级名次表中班级总分(存储过程)
(7)更新班级总分之后自动对班级排名(学院名次,学校名次)(存储过程)
(8)对成绩表进行初次排名功能
(9)通过项目号获得相应项目的排名表(表值函数)
(10)通过学号或姓名或运动号获得某学生运动成绩表(表值函数)
(11)通过班级名称获得某班所有运动员运动成绩表(表值函数)
(12)通过学院名称获得学院所有运动员运动成绩表(表值函数)
(13)获得全校所有运动员的运动成绩表(表值函数)
(14)获得全校所有班级总分数以及在学院排名和早全校排名(表值函数)
3、任务发出日期:
2014-4-25课程设计完成日期:
2014-6-27
小组分工说明
小组编号题目:
运动会成绩管理系统
小组分工情况:
XXX:
参与数据库的讨论和设计;搜集整理数据、录入数据;设计了具体的逻辑结构,绘制E-R图;创建数据库以及项目表、运动员表、成绩表和班级名次表;实现了表之间的关联,创建必要的默认值、规则;创建了相应的索引;创建了班级名次表的视图。
XXX:
参与数据库的讨论和设计;创建某项目名次表值函数;创建触发器实现成绩表的按项目自动排名功能;创建存储过程实现班级名次表的班级总成绩的更新功能;创建存储过程实现班级名次表的排名功能;创建触发器实现运动员表改动时自动更新班级名次表的功能;创建多个表值函数用于实现不同的查询功能:
项目查询函数,个人成绩查询函数,班级成绩查询函数,学院成绩查询函数,全校成绩查询函数,全校班级名次查询函数。
整个数据库部分的设计共创建了三个触发器,四个存储过程以及七个表值函数。
另外还设计了本运动会成绩管理系统的界面部分,以及文档编辑工作。
组长签字:
年月日
指导教师对课程设计的评价
成绩:
指导教师签字:
年月日
1需求分析
本系统是用于管理运动会成绩的系统,要实现的功能就是运动会成绩的增加,修改和删除,同时还应该具有运动员和运动项目的增加修改和删除功能。
(1)本系统面向用户有两种:
成绩管理员、学生运动员。
(2)管理员功能介绍
管理员正确登陆后,可以增加、删除、修改、查询运动员信息,比赛项目以及比赛成绩。
(3)学生运动员主要功能介绍
学生登录后,可以查询(比赛成绩、运动动员信息、运动项目)。
1.1数据事实
数据实例
1.2主要用户视图
用户
需求
成绩管理员
登录(正确输入用户名及密码登录)
增加、删除、修改、查询运动员信息,比赛项目以及比赛成绩
学生
登录(默认用户名)
查询(比赛成绩、运动动员信息、运动项目)
2概念结构设计
图2.1系统边界
2.1局部ER图
图1项目表图2学生表
图3成绩表图4班级名次表
2.2全局ER图
3逻辑结构设计
关系模式如下:
运动员(学号、姓名、性别、学院、班级、运动号、项目一、项目二)
运动项目(项目号、项目名称)
成绩(学号、项目号、成绩、名次)
班级排名(学院、班级、总成绩、在学院名次、在校名次)
4物理结构设计
学生表
列名
数据类型
允许空
说明
SNO
Int
否
学生编号
SName
Varchar(50)
否
姓名
SDept
Varchar(50)
是
系别
SClassNO
Varchar(50)
是
班级
SportsNO
Int
否
运动编号
项目表
列名
数据类型
允许空
说明
SportsNO
Int
否
项目编号
SportsName
Varchar(50)
否
项目名称
项目成绩表
列名
数据类型
允许空
说明
SNO
Int
否
学生编号
SportsNO
Int
否
项目编号
Score
Varchar(50)
否
成绩
Srank
int
否
名次
班级名次表
列名
数据类型
允许空
说明
sdeptname
Varchar(20)
是
学院
sclassname
Varchar(20)
否
班级
sclscore
int
是
总分
sclrankindept
int
是
学院名次
sclrankinsch
int
是
学校名次
5主要功能详细设计
5.1创建数据库
CREATEDATABASEsports
ON(
NAME=运动会数据,
FILENAME='D:
\SQL\sports.MDF',
SIZE=10MB,
MAXSIZE=100MB
)
LOGON(
NAME=运动会数据日志,
FILENAME='D:
\SQL\sports_Log.LDF',
SIZE=5MB,
MAXSIZE=25MB
)
5.2创建数据表
1、创建项目表
usesports
createtablesp
(sportnointNOTNULLPRIMARYKEY,
sportnamevarchar(30)notnull
)
2、创建学生表
createtablestu
(snointNOTNULLPRIMARYKEY,
snamevarchar(10)notnull,
sdeptvarchar(20),
sclassnamevarchar(20),
ssexvarchar
(2),
spnointnotnullunique,
sportno1intforeignkeyreferencessp(sportno)notnull,
sportno2intforeignkeyreferencessp(sportno)
)
3、创建成绩表
------------全体运动员的各个项目的成绩表
createtablesc
(snointFOREIGNKEYreferencesstu(sno),
sportnointFOREIGNKEYreferencessp(sportno),
scorevarchar(10),
srankint
primarykey(sno,sportno)
)
4、创建名次表
-------------记录全校所有班级的得分以及在学院的名次和在全校的名次
createtableclscore
(sdeptnamevarchar(20),--学院名
sclassnamevarchar(20)primarykey,--班级名称
sclscoreint,--班级成绩
sclrankindeptint,--班级在学院中的名次
sclrankinschint--班级在学校中的名次
)
5.3添加数据(仅以一条为例)
1、添加运动项目表记录
usesports
insertintospvalues(1,'男子一百'),(2,'男子二百')
2、添加学生表记录
usesports
insertintostuvalues(10103,'赵浩','数学','数学一班','男',10001,1,3),
(10105,'钱浩','数学','数学一班','男',10002,2,4)
3、添加比赛成绩表记录
usesports
insertintosc(sno,sportno,score)values
(10103,1,'12.2')
5.4数据库完整性
1、绑定列上默认值
usesports
go
createdefaultssexas'男'
go
execsp_bindefault'ssex','stu.ssex'
go
2、绑定规则
createrulerule_sportnoas@c1between1and12
go
createrulerule_snoas@c1between10101and40340
go
execsp_bindrule'rule_sportno','sp.sportno'
go
execsp_bindrule'rule_sno','stu.sno'
go
5.5成绩表按成绩自动排名(触发器,函数,存储过程)
功能简介:
当sc表有成绩插入删除或者修改时就触发,实现对sc表中单项目名次nrank属性的及时更新,更新完之后,调用存储过程,实现对clscore表中班级成绩和班级排名的更新。
5.5.1更新项目名次触发器
--触发器----及时更新sc表
--当有成绩插入删除或者修改sc表时就触发
--实现对sc表中单项目名次nrank属性的及时更新
usesports
go----------------------------插入更新与删除操作sc表
ifexists(select*fromsysobjectswherename='trSC'andtype='TR')
droptriggertrSC
go
createtriggertrSC
onscafterinsert,update,delete
as
declare@sportno0int,@sno0int,@sportno1int,@sportno2int
select@sno0=sno,@sportno0=sportnofrominserted
select@sportno1=sportno1,@sportno2=sportno2fromstuwheresno=@sno0
if@sportno0notin(@sportno1,@sportno2)
--if@sportno0!
=@sportno1and@sportno0!
=@sportno2
begin
print'操作有误,此记录与运动员表不一致,请先修改运动员表!
'
rollback
end
else
begin
--更新名次
--声明变量
declare@snoint,@sportnoint,@rankint
declareiu_scSportno_cursorCURSORfor
selectspo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 运动会 成绩管理系统
![提示](https://static.bdocx.com/images/bang_tan.gif)