【Mysql实战 】学院大赛管理系统设计与实现

本文详细介绍了学院大赛管理系统的实战设计与实现,涵盖学生教师账号注册、组队、参赛及获奖信息查询等功能。系统通过数据库管理大赛、学生、教师、队伍等信息,包括数据流图、数据字典、数据库概念和逻辑结构设计,以及存储过程和触发器的创建。
摘要由CSDN通过智能技术生成

前言

学院大赛管理系统设计与实现
每年学院都举行若干大赛,像挑战杯、软件大赛等。现希望设计并开发一个系统来管理大赛相关的报名以及获奖情况信息。系统主要功能如下:
1、基本信息维护
(1)学生信息管理,包括学号、姓名、性别、身份证号、班级等。在这里可以录入新的学生信息,如果某学生的班级换了,也可从这里修改,学生毕业后,也可以从这里删除。修改信息时,需要先输入要修改的学生学号,然后把学生新的班级名称更新到数据库中。删除学生时,也要根据学生的学号来删除。
(2)教师信息管理,包括教师编号、教师姓名、职称、性别等。在这里可以录入新的教师信息,如果某教师的职称换了,也可从这里修改,教师调走或退休后,也可以从这里删除。修改信息时,需要先输入要修改的教师编号,然后把该教师新的职称更新到数据库中。删除教师时,也要根据教师的编号来删除。
(3)各类大赛信息,包括大赛名称、举办单位、大赛级别、报名时间、初赛时间、复赛时间等。例如:(‘齐鲁软件设计大赛’,‘省教育厅、省计算机协会’,‘省级’,‘每年5月中旬’,‘6月下旬’,‘10月中旬’)。在这里管理每个大赛的信息,有了新的比赛后,可以从这里添加到数据库里,某个大赛不再举办了,也可以删除,大赛的信息变了,也可以从这里修改,比如修改大赛的举办单位、比赛时间等。
2、业务管理
(1)团队管理,能够利用该功能进行组队,维护指导教师、组成员及成员分工信息,包括团队名称、年份、大赛名称、队长、组员、指导教师、状态等。报名时,要先输入团队名称、年份、大赛名称、队长、指导教师,保存后再选择输入各个成员,组员人数一般3-5人,也可以多于5个。注意,大赛名称要跟大赛信息表的数据一致,队长和组员要跟学生表的信息一致,指导教师要跟教师信息表的数据一致。状态包括:组队、放弃、完成作品、一等奖、二等奖、三等奖等。刚组队时录入的是‘组队’,根据实际紧张情况,可以修改为放弃、一等奖等其他状态。
(2)常用查询:可以根据团队名称、队长名称、参赛年份、大赛名称、大赛状态等条件来查询历年的参赛和获奖情况。查询结果包括:年份、团队名称、大赛名称、队长名称、大赛状态。
(3)按学生姓名查询,输入学生的姓名,可以查询该学生参与或主持的团队情况,无论该学生是队长还是组员,都能查出来。查询结果包括:学号、姓名、团队名称、年份、大赛名称、队长、指导教师、状态等。
(4)统计各类大赛的获奖情况,可以统计某一年的各类大赛获奖情况,也可以统计某个时间段内的所有获奖情况(包括一等奖、二等奖、三等奖)。统计结果按照状态(即奖项)来分组统计。统计条件为起始年份、终止年份、奖项等级(国家级、省级、厅级)、奖项名称,其中奖项名称如果不输入,则表示统计所有奖项,如果输入一等奖,则只统计一等奖的。统计结果参考格式如下(条件选择2015年-2016年、省级):
省级 一等奖 3
省级 二等奖 8
省级 三等奖 10
省级 合计 21
(5)用户管理,这里管理使用该系统的所有人员信息,包括用户登录名、真实姓名、性别、身份证号、用户角色(管理员、教师、学生等)、初始密码。新进来用户需要从这里添加进数据库,如果某个用户调走了,可以删除这个用户,如果某个用户的角色变了,可以从这里修改他的角色信息。
(6)修改密码,根据用户名和输入的新密码,替换原来的密码。

实战项目

学院大赛管理系统设计与实现

1.系统概述

每年学院都举行若干大赛,像挑战杯、软件大赛等。现希望设计并开发一个系统来管理大赛相关的报名以及获奖情况信息。学生通过自行组队参加各类比赛,比赛后可以查看自己队伍的获奖信息。

1.1学生教师账号注册

学生教师通过该系统注册账号,并输入基本信息,得到该系统账号(一人一号)。

1.2学生组队

学生队长通过创建队伍,首先输入队伍基本信息,其次输入队员信息,邀请指导教师,并输入指导信息,学生组队成功(一个人可以创建多个队伍,也可以参加多个队伍)。

1.3队伍参赛

一个队伍只能通过查看大赛信息参加一个大赛。

1.4队伍获奖信息查询

学生老师可以根据队伍查询队伍获奖信息。

2.需求分析

2.1 数据流图

顶层数据流图:
在这里插入图片描述

0层数据流图:
在这里插入图片描述

2.2数据字典
1.数据项定义

数据项名称:学号
含义说明:标识一个学号,一个学生只有一个学号,一个学号对应一个学生
类型:字符型
长度:20
具体的学号编码规律如下:
学生的学号前四位是入学年份
紧接着两位代表专业,最后三位代表专业内学生代号
学号=入学年份十专业号十专业内学生代号
如学号20105026表示该学生2019年入学,软件测试专业,专业内代号26

数据项名称:身份证号
含义说明:一个用户只能有一个身份证号,每个用户的身份证号都不一样
类型:字符型
长度:20

数据项名称:教师编号
含义:一个教师只能有一个教师号,一个教师号对应一个教师
类型:字符型
长度:20

数据项名称:队伍编号
含义说明:一个队伍只能有一个队伍编号,一个队伍编号对应一个队伍,唯一标识
类型:字符型
长度:20

2.数据结构

用户(账号,密码,{用户类型,用户姓名,用户身份证号,用户性别})
队伍信息(队伍名称,队伍状态,队长学号,队伍创建时间,队员,参与大赛,指导教师,{获奖类型,获奖时间,获奖名称,获奖级别})
学生信息(学号,身份证号,姓名,性别,班级)
教师信息(教师编号,教师姓名,职称,性别,电话,就业指导率,毕业率)

3.数据流

数据流名称:参赛信息
含义说明:学生参加比赛的信息表
去向:审核参赛
数据流量:一份一次
组成:队伍编号+队伍名称+队伍状态+队长学号+参与大赛+指导教师+队员

数据流名称:获奖信息
含义说明:学生参加大赛获得的奖项
去向:学生查看
数据流量:
组成:团队编号+参加大赛+获奖类型+获奖时间+获奖名称+获奖级别+指导教师+队员

数据流名称:学生信息
含义说明:学生的基本信息
去向:学生组队
数据流量:
组成:学号+身份证号+姓名+性别+班级

数据流名称:教师信息
含义说明:教师的基本信息
去向:学生组队
数据流量:
组成:教师编号+教师姓名+职称+性别+电话+就业指导率+毕业率

4.数据存储

数据存储名称:学生信息表
含义说明:存放学生的基本信息
组成:学生
说明:

数据存储名称:教师信息表
含义说明:存放教师的基本信息
组成:教师
说明:

数据存储名称:大赛信息表
含义说明:存放大赛的基本信息
组成:大赛+大赛状态
说明:大赛状态是大赛当前的状态

数据存储名称:获奖信息表
含义说明:存放学生的获奖信息
组成:获奖
说明:

5.数据处理:

处理过程名称:队伍编号审核
输入:队伍编号
输出:认定合格的队伍编号
加工逻辑:根据队伍信息表和队伍编号,如果队伍编号在队伍信息表中存在并且没有被锁定,那么队伍编号是有效的队伍编号,否则是无效的队伍编号。

3.数据库概念结构设计

3.1 实体分析

用户:账号,密码
用户信息:用户账号,用户类型,用户姓名,用户身份证号,用户性别
队伍信息:队伍id,队伍名称,队伍状态,队长学号,队伍创建时间,参与大赛Id,指导教师id
队员信息:队伍编号,队员学号
学生信息:学号,身份证号,姓名,性别,班级
教师信息:教师编号,教师姓名,职称,性别,电话,就业指导率,毕业率

  • 28
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 42
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 42
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值