Mysql数据库课程设计

Java 小项目 专栏收录该内容
4 篇文章 0 订阅

Hello小伙伴们,大家好,我是楠橘星!!

今天给大家分享一下使用javafx编写的前端的 Mysql数据库课程设计 题库与试卷生成系统!废话不多说了,直接上截图,希望对大家有所帮助!(建议拿来参考不建议直接CV哦!)

代码已经开源在https://github.com/duan-nan/database_design,有需要的同学自取!

1.系统需求分析

1-1、功能分析

通过深入细致的调查,多方面搜集资料,以及实地考察等方法,经过总结研究,
总结出了试卷生成系统的的基本的业务功能,详细如下:

  • 学生信息维护:主要完成学生的学号、班级、考试信息等操作。
  • 教师信息维护:主要是教师信息的添加、修改和删除等操作。
  • 题库信息维护:主要完成题库中各个学科的题库的增加,删除,修改等情况。
  • 学生检索:通过学生的学号来查看学生的信息。
  • 教师检索:通过教师的职工号来查找教师信息。
  • 试卷自动生成:学生在考试时的会随机从题库中抽取四道题,学生在作答完毕后点击提交试卷会自动记录学生的成绩并且自动更新数据库内容。
  • 管理员:管理员可以管理学生,教师以及题库的信息。此三者的信息的增删改查的权利由管理员来掌握。

1-2、数据字典

数据项:

数据项名数据类型长度别名取值范围
Idint10编号
numberCHAR20管理员账号
passwordCHAR30管理员密码
NameCHAR20姓名
NameCHAR30学科名
ContentmediumText0题库内容
NameCHAR30学生名
GenderChar30性别男,女
ClassRoomCHAR30班级
NumberCHAR30学号
PasswordCHAR30密码
Math_date_placeCHAR100数学考试时间地点
English_date_placeCHAR100英语考试时间地点
Chinese_date_placeCHAR100语文考试时间地点
g_ChineseDouble30语文成绩
G_MathDouble30数学成绩
G_EnglishDouble30英语成绩
G_musicDouble30音乐成绩
G_historyDouble30历史成绩
G_polityDouble30思政成绩
G_computerDouble30计算机成绩
G_sumDouble30总成绩
G_avgDouble30平均分

2、概念模型设计

根据前面的设计,以及相应的数据项,数据结构之间的关系,通过分类总结,可以将图书管理系统数据库实体划分为图书信息实体集、学生信息实体集、馆藏地实体集、借书卡信息实体集、缺书信息实体集,各实体集里还包含不同的实体。
每个实体定义的属性如下:

学生:{学号,密码,姓名,性别,班级,考试地点,时间,教室}
教师:{职工号,密码,姓名,监考时间,地点,教室,学科}
题库:{学科名,题库内容}
成绩:{语文成绩,数学成绩,英语成绩,历史成绩,音乐成绩,计算机成绩,思政成绩,总成绩,平均成绩}
管理员:{职工号,密码}

3.、逻辑设计

3-1、E-R图

学生教师 E-R图:
在这里插入图片描述

管理员 成绩 E-R图在这里插入图片描述

学生题库 E-R图:
在这里插入图片描述

学生-成绩 E-R图
在这里插入图片描述

管理员 E-R图
在这里插入图片描述

3-2、 ER转化关系模型

ER图进行关系模型的转化时,应根据相应的规则进行转化,只有这样,才能尽可能的减小冗余,达到比较好的范式,使模型更加优化,通常的转换规则如下:
一对一联系 :若双方部分的参与,则将联系定义为一个新的关系,属性为参与双方的码,若一方全部参与,则将联系另一方的码作为全部参与一方的属性。一对多联系:将单方参与实体的码作为多方参与实体的属性。多对多联系:将联系定为新的关系,属性为参与双方的码。以上也就是基本的设计规则了,只要按照相应的规则转换,就能够得到所要的规范程度,得到一个良好的范式,根据得到的ER图,进行关系模式的转换。具体的关系模型如下:

学生表设计

数据项名数据类型长度别名取值范围主外键
Idint10编号主键
NameCHAR30学生名
GenderChar30性别男,女
ClassRoomCHAR30班级
NumberCHAR30学号
PasswordCHAR30密码
Math_date_placeCHAR100数学考试时间地点
English_date_placeCHAR100英语考试时间地点
Chinese_date_placeCHAR100语文考试时间地点

教师表设计

数据项名数据类型长度别名取值范围主外键
Idint10编号主键
NameCHAR30教师名
GenderChar30性别男,女
NumberCHAR30学号
PasswordCHAR30密码
PhoneCHAR30电话
PasswordCHAR100教室时间学科

管理员表设计:

数据项名数据类型长度别名取值范围主外键
Idint10编号主键
NameCHAR30管理员名
NumberCHAR30管理员账号
PasswordCHAR30密码

成绩表设计:

数据项名数据类型长度别名取值范围主外键
NumberCHAR30学号外键
g_ChineseDouble30语文成绩
G_MathDouble30数学成绩
G_EnglishDouble30英语成绩
G_musicDouble30音乐成绩
G_historyDouble30历史成绩
G_polityDouble30思政成绩
G_computerDouble30计算机成绩
G_sumDouble30总成绩
G_avgDouble30平均分

题库表设计:

数据项名数据类型长度别名取值范围主外键
Idint10编号主键
NameCHAR30学科名
ContentCHAR30内容

4、界面展示

4-1、登陆模块

在这里插入图片描述

4-2、管理员模块

4-2-1、学生信息控制模块

在这里插入图片描述

4-2-2、二.教师信息控制模块

在这里插入图片描述

4-2-3、题库信息控制界面

在这里插入图片描述

4-3、题库题目修改界面

在这里插入图片描述
在这里插入图片描述

4-5、教师监考信息查看界面

在这里插入图片描述

4-6、学生选考界面

在这里插入图片描述

4-7、学生答题界面

在这里插入图片描述

这就是 题库与试卷生成系统 的大致思路,由于当时编程的时候水平比较低,所以很多命名都不规范,希望大家多多包涵,sql文件放在题库文件夹里面,可以直接导入。
在这里插入图片描述

希望我的分享可以为学习编程的同学提供一点帮助,代码已经开源在https://github.com/duan-nan/database_design,有需要的同学自取!
我是楠橘星,期待大家的关注!

树苗如果因为怕痛而拒绝修剪,那就永远不会成材。

评论 17 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:技术工厂 设计师:CSDN官方博客 返回首页

打赏作者

楠橘星

赠人玫瑰,手有余香!

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值