数据库课程设计 运动会成绩管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库原理与应用课程设计
说明书
题目:运动会成绩管理系统
学院:
班级:
完成人:组号:
姓名:XXX 学号:XXXX 成绩:
姓名:XXX 学号:XXXX 成绩:
指导教师:
山东科技大学
2014年6月27日
课程设计任务书
一、课程设计题目:运动会成绩管理系统
二、课程设计应解决的主要问题:(按实现的系统功能)
(1)运动项目、运动员、运动成绩以及班级名次的记录存储
(2)添加修改和删除项目表、运动员表和成绩表信息
(3)自动生成班级名次表(触发器)
(4)运动员表有改动时,自动更新班级名次表(触发器)
(5)成绩表有改动时自动对成绩表中记录按项目排名次(触发器)
(6)成绩表自动排名自动更新班级名次表中班级总分(存储过程)
(7)更新班级总分之后自动对班级排名(学院名次,学校名次)(存储过程) (8)对成绩表进行初次排名功能
(9)通过项目号获得相应项目的排名表(表值函数)
(10)通过学号或姓名或运动号获得某学生运动成绩表(表值函数)
(11)通过班级名称获得某班所有运动员运动成绩表(表值函数)
(12)通过学院名称获得学院所有运动员运动成绩表(表值函数)
(13)获得全校所有运动员的运动成绩表(表值函数)
(14)获得全校所有班级总分数以及在学院排名和早全校排名(表值函数)三、任务发出日期:2014-4-25 课程设计完成日期:2014-6-27
小组分工说明
小组编号题目:运动会成绩管理系统
小组分工情况:
XXX:参与数据库的讨论和设计;搜集整理数据、录入数据;设计了具体的逻辑结构,绘制E-R图;创建数据库以及项目表、运动员表、成绩表和班级名次表;实现了表之间的关联,创建必要的默认值、规则;创建了相应的索引;创建了班级名次表的视图。
XXX:参与数据库的讨论和设计;创建某项目名次表值函数;创建触发器实现成绩表的按项目自动排名功能;创建存储过程实现班级名次表的班级总成绩的更新功能;创建存储过程实现班级名次表的排名功能;创建触发器实现运动员表改动时自动更新班级名次表的功能;创建多个表值函数用于实现不同的查询功能:项目查询函数,个人成绩查询函数,班级成绩查询函数,学院成绩查询函数,全校成绩查询函数,全校班级名次查询函数。整个数据库部分的设计共创建了三个触发器,四个存储过程以及七个表值函数。另外还设计了本运动会成绩管理系统的界面部分,以及文档编辑工作。
组长签字:
年月日
指导教师对课程设计的评价
成绩:
指导教师签字:
年月日
目录
1 需求分析
本系统是用于管理运动会成绩的系统,要实现的功能就是运动会成绩的增加,修改和删除,同时还应该具有运动员和运动项目的增加修改和删除功能。
(1)本系统面向用户有两种:成绩管理员、学生运动员。
(2)管理员功能介绍
管理员正确登陆后,可以增加、删除、修改、查询运动员信息,比赛项目以及比赛成绩。
(3)学生运动员主要功能介绍
学生登录后,可以查询(比赛成绩、运动动员信息、运动项目)。
1.1 数据事实
数据实例
1.2 主要用户视图
用户 需求
成绩管理员 登录(正确输入用户名及密码登录)
增加、删除、修改、查询运动员信息,比赛项目以及比赛成绩 学生
登录(默认用户名)
查询(比赛成绩、运动动员信息、运动项目)
2 概念结构设计
管理员登入
成绩查询
基本信息查询 信息录入
查询与修改
查询与修改
查询与修改
项目表 成绩表
运动员表
个人成绩查询 项目成绩查询
班级成绩查询 全校成绩查询 全校名次查询
学院成绩查询 添加学生信息
比赛成绩录入
添加比赛项目
学生登录成绩查询基本信息查询查询查询
图系统边界
2.1 局部ER图
图1 项目表图2 学生表
图3 成绩表图4 班级名次表2.2 全局ER图
3 逻辑结构设计
关系模式如下:
班级排名(学院、班级、总成绩、在学院名次、在校名次)4 物理结构设计
学生表
项目表
项目成绩表
班级名次表
5 主要功能详细设计
5.1 创建数据库
CREATE DATABASE sports
ON (
NAME=运动会数据,
FILENAME='D:\SQL\',
SIZE= 10MB,
MAXSIZE= 100MB
)
LOG ON (
NAME=运动会数据日志,
FILENAME='D:\SQL\',
SIZE= 5MB,
MAXSIZE= 25MB
)
5.2 创建数据表
1、创建项目表
use sports
create table sp
(sportno int NOT NULL PRIMARY KEY,
sportname varchar(30)not null
)
2、创建学生表
create table stu
(sno int NOT NULL PRIMARY KEY,
sname varchar(10)not null,
sdept varchar(20),
sclassname varchar(20),
ssex varchar(2),
spno int not null unique,
sportno1int foreign key references sp(sportno)not null,
sportno2int foreign key references sp(sportno)
)
3、创建成绩表
------------全体运动员的各个项目的成绩表
create table sc
(sno int FOREIGN KEY references stu(sno),
sportno int FOREIGN KEY references sp(sportno),
score varchar(10),
srank int
primary key (sno,sportno)
)
4、创建名次表
-------------记录全校所有班级的得分以及在学院的名次和在全校的名次create table clscore
(sdeptname varchar(20),--学院名
sclassname varchar(20)primary key,--班级名称
sclscore int,--班级成绩
sclrankindept int,--班级在学院中的名次
sclrankinsch int--班级在学校中的名次
)
5.3 添加数据(仅以一条为例)
1、添加运动项目表记录
use sports
insert into sp values (1,'男子一百'),(2,'男子二百')
2、添加学生表记录
use sports
insert into stu values(10103,'赵浩','数学','数学一班','男',10001,1,3), (10105,'钱浩','数学','数学一班','男',10002,2,4)
3、添加比赛成绩表记录
use sports