Mysql数据库课程设计

Mysql数据库课程设计Hello小伙伴们,大家好,我是楠橘星!!今天给大家分享一下使用javafx编写的前端的Mysql数据库课程设计题库与试卷生成系统!废话不多说了,直接上截图,希望对大家有所帮助!(建议拿来参考不建议直接CV哦!)1.系统需求分析1-1、功能分析通过深入细致的调查,多方面搜集资料,以及实地考察等方法,经过总结研究,总结出了试卷生成系统的的基本的业务功能,详细如下:学生信息维护:主要完成学生的学号、班级、考试信息等操作。教师信息维护:主要是教师信息的添加、修改和删除等操作。题库信息维护

大家好,又见面了,我是你们的朋友全栈君。

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

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

代码已经开源在https://gitee.com/duan_nan/databstruct_design,有需要的同学自取!

1.系统需求分析

1-1、功能分析

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

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

1-2、数据字典

数据项:

数据项名 数据类型 长度 别名 取值范围
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 平均分

2、概念模型设计

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

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

3.、逻辑设计

3-1、E-R图

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

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

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

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

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

3-2、 ER转化关系模型

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 内容

4、界面展示

4-1、登陆模块

在这里插入图片描述

4-2、管理员模块

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

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

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

在这里插入图片描述

4-6、学生选考界面

在这里插入图片描述

4-7、学生答题界面

在这里插入图片描述

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144567.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)
blank

相关推荐

  • TCP的粘包解析「建议收藏」

    TCP的粘包解析「建议收藏」这两天看csdn有一些关于socket粘包,socket缓冲区设置的问题,发现自己不是很清楚,所以查资料了解记录一下: 一.两个简单概念长连接与短连接:1.长连接   Client方与Server方先建立通讯连接,连接建立后不断开,然后再进行报文发送和接收。2.短连接   Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此

  • StringUtils常用方法「建议收藏」

    StringUtils常用方法「建议收藏」StringUtils 方法的操作对象是 java.lang.String 类型的对象,是对 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出  NullPointerException ,而是做了相应处理,例如,如果输入为 null 则返回也是 null 等,具体可以查看源代码)。除了构造器,StringU

  • 超多淘宝京东抢购秒杀软,脚本,易语言软,有作者

    超多淘宝京东抢购秒杀软,脚本,易语言软,有作者抢购软件主页进行下载,欢迎交流

  • JAVA遍历数组的三种方法_如何遍历一个数组

    JAVA遍历数组的三种方法_如何遍历一个数组我们也了解Java也已经很久了,那今天小编想问大家是否知道java遍历数组的方式有哪些?是不是内心已经已经有答案了?让就跟着小编的步伐一起看看吧。1.for循环遍历这是最基本的遍历方式通常遍历数组都是使用for循环来实现。遍历一维数组很简单,遍历二维数组需要使用双层for循环,通过数组的length属性可获得数组的长度。2.Arrays的toString方法debug快速查看方法利用Array…

  • pycharm升级pip版本_怎么升级pip版本

    pycharm升级pip版本_怎么升级pip版本python-mpipinstall–upgradepip

    2022年10月23日
  • 详解GloVe词向量模型[通俗易懂]

    详解GloVe词向量模型[通俗易懂]  词向量的表示可以分成两个大类1:基于统计方法例如共现矩阵、奇异值分解SVD;2:基于语言模型例如神经网络语言模型(NNLM)、word2vector(CBOW、skip-gram)、GloVe、ELMo。  word2vector中的skip-gram模型是利用类似于自动编码的器网络以中心词的one-hot表示作为输入来预测这个中心词环境中某一个词的one-hot表示,即先将中心词one-h…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号