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,有需要的同学自取!
我是楠橘星,期待大家的关注!

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

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • Yourphp系统发生错误

    Yourphp系统发生错误

    2021年10月9日
  • PL/SQL 学习-NVL函数[通俗易懂]

    PL/SQL 学习-NVL函数[通俗易懂]Oracle :NvlNVL函数:NVL函数是将NULL值的字段转换成默认字段输出。NVL(expr1,expr2)expr1,需要转换的字段名或者表达式。expr2,null的替代值下面是NUMBER,DATE,CHARORVARCHAR2的例子:NVL(commission_pct,0)NVL(hire_date,’01-JAN-97′)N

    2022年7月15日
  • js对象(BOM部分/DOM部分)

    JS总体包括ECMAScript,DOM,BOM三个部分,但是能够和浏览器进行交互的只有DOM和BOM,那么到底什么是DOM和BOM呢概念BOMWindow对象是客户端JavaScript最高层

    2022年3月29日
  • oracle中更改表名语句,转:取Oracle 表名 字段名 注释等实用语句

    oracle中更改表名语句,转:取Oracle 表名 字段名 注释等实用语句1、查找表的所有索引(包括索引名,类型,构成列):selectt.*,i.index_typefromuser_ind_columnst,user_indexesiwheret.index_name=i.index_nameandt.table_name=i.table_nameandt.table_name=要查询的表2、查找表的主键(包括名称,构成列):select…

    2022年5月17日
  • contextpath有什么用_context的用法

    contextpath有什么用_context的用法使用基于Java的后端(即servlet和JSP),如果我需要JavaScript的contextPath,那么推荐的模式是什么?为什么?我可以想到几种可能性。我缺少任何吗?1.将SCRIPT标记刻录到在某些JavaScript变量中设置的页面中varctx=””这是准确的,但在加载页面时需要脚本执行。2.在一些隐藏的DOM元素中设置contextPath这是准确的,并且在加载页面时不需要任…

    2022年9月15日
  • C语言多线程运行时间计算

    C语言多线程运行时间计算C语言多线程运行时间计算单线程下的运行时间可以使用clock()进行计算clock()计算的是theCPUtimeusedsofar,即占用的CPU时间而多线程和单线程不同的是,多线程会占用更多的CPU时间(多个线程同时运行),因此,多线程下使用clock()会造成结果过大使用clock_gettime来获取多线程下每个线程的运行时间intclock_gettime(clockid_tclk_id,structtimespec*tp);第一个参数要输入一个宏,一般使用的有:

    2022年10月19日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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