今天给大家分享一下使用javafx编写的前端的 Mysql数据库课程设计 题库与试卷生成系统!废话不多说了,直接上截图,希望对大家有所帮助!(建议拿来参考不建议直接CV哦!)
代码已经开源在https://gitee.com/duan_nan/databstruct_design,有需要的同学自取!
通过深入细致的调查,多方面搜集资料,以及实地考察等方法,经过总结研究, 总结出了试卷生成系统的的基本的业务功能,详细如下:
数据项:
数据项名 | 数据类型 | 长度 | 别名 | 取值范围 |
---|---|---|---|---|
Id | int | 10 | 编号 | |
number | CHAR | 20 | 管理员账号 | |
password | CHAR | 30 | 管理员密码 | |
Name | CHAR | 20 | 姓名 | |
Name | CHAR | 30 | 学科名 | |
Content | mediumText | 0 | 题库内容 | |
Name | CHAR | 30 | 学生名 | |
Gender | Char | 30 | 性别 | 男,女 |
ClassRoom | CHAR | 30 | 班级 | |
Number | CHAR | 30 | 学号 | |
Password | CHAR | 30 | 密码 | |
Math_date_place | CHAR | 100 | 数学考试时间地点 | |
English_date_place | CHAR | 100 | 英语考试时间地点 | |
Chinese_date_place | CHAR | 100 | 语文考试时间地点 | |
g_Chinese | Double | 30 | 语文成绩 | |
G_Math | Double | 30 | 数学成绩 | |
G_English | Double | 30 | 英语成绩 | |
G_music | Double | 30 | 音乐成绩 | |
G_history | Double | 30 | 历史成绩 | |
G_polity | Double | 30 | 思政成绩 | |
G_computer | Double | 30 | 计算机成绩 | |
G_sum | Double | 30 | 总成绩 | |
G_avg | Double | 30 | 平均分 |
根据前面的设计,以及相应的数据项,数据结构之间的关系,通过分类总结,可以将图书管理系统数据库实体划分为图书信息实体集、学生信息实体集、馆藏地实体集、借书卡信息实体集、缺书信息实体集,各实体集里还包含不同的实体。 每个实体定义的属性如下:
学生:{学号,密码,姓名,性别,班级,考试地点,时间,教室} 教师:{职工号,密码,姓名,监考时间,地点,教室,学科} 题库:{学科名,题库内容} 成绩:{语文成绩,数学成绩,英语成绩,历史成绩,音乐成绩,计算机成绩,思政成绩,总成绩,平均成绩} 管理员:{职工号,密码}
学生教师 E-R图:
管理员 成绩 E-R图
学生题库 E-R图:
学生-成绩 E-R图
管理员 E-R图
ER图进行关系模型的转化时,应根据相应的规则进行转化,只有这样,才能尽可能的减小冗余,达到比较好的范式,使模型更加优化,通常的转换规则如下: 一对一联系 :若双方部分的参与,则将联系定义为一个新的关系,属性为参与双方的码,若一方全部参与,则将联系另一方的码作为全部参与一方的属性。一对多联系:将单方参与实体的码作为多方参与实体的属性。多对多联系:将联系定为新的关系,属性为参与双方的码。以上也就是基本的设计规则了,只要按照相应的规则转换,就能够得到所要的规范程度,得到一个良好的范式,根据得到的ER图,进行关系模式的转换。具体的关系模型如下:
学生表设计:
数据项名 | 数据类型 | 长度 | 别名 | 取值范围 | 主外键 |
---|---|---|---|---|---|
Id | int | 10 | 编号 | 主键 | |
Name | CHAR | 30 | 学生名 | ||
Gender | Char | 30 | 性别 | 男,女 | |
ClassRoom | CHAR | 30 | 班级 | ||
Number | CHAR | 30 | 学号 | ||
Password | CHAR | 30 | 密码 | ||
Math_date_place | CHAR | 100 | 数学考试时间地点 | ||
English_date_place | CHAR | 100 | 英语考试时间地点 | ||
Chinese_date_place | CHAR | 100 | 语文考试时间地点 |
教师表设计:
数据项名 | 数据类型 | 长度 | 别名 | 取值范围 | 主外键 |
---|---|---|---|---|---|
Id | int | 10 | 编号 | 主键 | |
Name | CHAR | 30 | 教师名 | ||
Gender | Char | 30 | 性别 | 男,女 | |
Number | CHAR | 30 | 学号 | ||
Password | CHAR | 30 | 密码 | ||
Phone | CHAR | 30 | 电话 | ||
Password | CHAR | 100 | 教室时间学科 |
管理员表设计:
数据项名 | 数据类型 | 长度 | 别名 | 取值范围 | 主外键 |
---|---|---|---|---|---|
Id | int | 10 | 编号 | 主键 | |
Name | CHAR | 30 | 管理员名 | ||
Number | CHAR | 30 | 管理员账号 | ||
Password | CHAR | 30 | 密码 |
成绩表设计:
数据项名 | 数据类型 | 长度 | 别名 | 取值范围 | 主外键 |
---|---|---|---|---|---|
Number | CHAR | 30 | 学号 | 外键 | |
g_Chinese | Double | 30 | 语文成绩 | ||
G_Math | Double | 30 | 数学成绩 | ||
G_English | Double | 30 | 英语成绩 | ||
G_music | Double | 30 | 音乐成绩 | ||
G_history | Double | 30 | 历史成绩 | ||
G_polity | Double | 30 | 思政成绩 | ||
G_computer | Double | 30 | 计算机成绩 | ||
G_sum | Double | 30 | 总成绩 | ||
G_avg | Double | 30 | 平均分 |
题库表设计:
数据项名 | 数据类型 | 长度 | 别名 | 取值范围 | 主外键 |
---|---|---|---|---|---|
Id | int | 10 | 编号 | 主键 | |
Name | CHAR | 30 | 学科名 | ||
Content | CHAR | 30 | 内容 |
这就是 题库与试卷生成系统 的大致思路,由于当时编程的时候水平比较低,所以很多命名都不规范,希望大家多多包涵,sql文件放在题库文件夹里面,可以直接导入。
希望我的分享可以为学习编程的同学提供一点帮助,代码已经开源在https://gitee.com/duan_nan/databstruct_design,有需要的同学自取! 我是楠橘星,期待大家的关注!
树苗如果因为怕痛而拒绝修剪,那就永远不会成材。