当前位置: 首页 > article >正文

技术与教育的融合:构建现代成绩管理系统

4.3 数据库设计
用户通过系统的功能操作来进行数据交互,包括数据的添加,数据的更新,数据的删除,数据的查询等基本功能操作,表面上虽然是操作系统界面提供的功能,但是实际上系统的这些数据是在数据库当中进行访问与操作的。目前市场上可供选择的存储数据的数据库有很多,除了简单版的Access之外,还有SQL Server,DB2,Informix,MySQL等关系型数据库可供选择,由于关系型数据库具有固定的表结构,以及对数据一致性要求比较强,所以相比没有固定表结构以及具有灵活的数据格式的非关系型数据库而言,在程序配套数据库的选择中,关系型数据库的使用率更高。本系统选择MySQL来存放数据,其相关理论以及技术在经过了很长时间的发展之后,变得非常成熟,各大网络平台都公开分享其开发源码,而且其对计算机的配置要求很低,不需要过多内存进行安装,很符合本系统对于数据库的选择要求。
4.3.1 数据库E-R图
本节需要对系统中存放在数据库中的数据进行充分分析,对数据的实体,实体特征,联系等进行确定,然后通过概念模型的表示方法即E-R图进行表达,在E-R图绘制工具中,选择椭圆,菱形框,矩形等形状表达实体属性,实体间联系,实体这些信息,使用实线段将这些形状进行连接即可。初步完成E-R图之后,需要进行检查,及时进行有误数据的更改,删除实体间存在的冗余联系,删除E-R图中冗余的数据,最终要展示一个内容准确的E-R图。
(1)管理员包括的属性有用户名,新增时间等。其属性图如下。

图4.4 管理员实体属性图在这里插入图片描述

(2)课程包括的属性有课程名称,课程简介,创建时间,课程编号等信息。其属性图如下。

图4.5 课程实体属性图在这里插入图片描述

(3)成绩包括的属性有学生,创建时间,成绩,详情等。其属性图如下。

图4.6 成绩实体属性图在这里插入图片描述

(4)学生包括的属性有姓名,头像,生日,性别等。其属性图如下。

图4.7 学生实体属性图在这里插入图片描述

(5)设计的各实体间关系E-R图如下。

图4.8 实体间关系E-R图在这里插入图片描述

4.3.2 数据库表结构
在指定的数据库里面对数据表进行创建命名,然后设计各个数据表的存储结构,需要对该数据库的操作非常熟悉,并且还需要学习并掌握一定的数据表设计方面的知识,比如数据命名,作为系统的开发人员,为了避免程序运行产生乱码现象以及为了确保系统的正常运行,在对数据表进行命名时,一般都是采用英文名称,同时在对数据表的字段进行编辑时,也是采用英文的方式进行,为了方便今后对数据表的设计内容进行更改或查看,对一些比较重要的字段都会进行中文备注,或者是使用中文进行字段描述。设计期间,也需要对各个字段选择合适的数据类型以及设置匹配的取值范围,当一张数据表设计完成之后,还要对该表的主键进行标注,就是为了确保该数据表的唯一性与独立性。

表4.1 成绩信息表
字段 注释 类型 空
id (主键) 主键 int(11) 否
kecheng_id 课程 int(11) 是
yonghu_id 学生 int(11) 是
chengji_number 成绩 int(11) 是
chengji_content 详情 text 是
create_time 创建时间 timestamp 是
表4.2 课程信息表
字段 注释 类型 空
id (主键) 主键 int(11) 否
kecheng_uuid_number 课程编号 varchar(200) 是
kecheng_name 课程名称 varchar(200) 是
kecheng_types 课程类型 int(11) 是
kecheng_file 课程文件 varchar(200) 是
kecheng_content 课程简介 text 是
create_time 创建时间 timestamp 是
表4.3 公告信息表
字段 注释 类型 空
id (主键) 主键 int(11) 否
news_name 公告标题 varchar(200) 是
news_types 公告类型 int(11) 是
news_photo 公告图片 varchar(200) 是
insert_time 公告时间 timestamp 是
news_content 公告详情 text 是
create_time 创建时间 timestamp 是
表4.4 管理员表
字段 注释 类型 空
id (主键) 主键 bigint(20) 否
username 用户名 varchar(100) 否
password 密码 varchar(100) 否
role 角色 varchar(100) 是
addtime 新增时间 timestamp 否

表4.5 学生表
字段 注释 类型 空
id (主键) 主键 int(11) 否
username 账户 varchar(200) 是
password 密码 varchar(200) 是
yonghu_name 学生姓名 varchar(200) 是
yonghu_photo 头像 varchar(255) 是
sex_types 性别 int(11) 是
yonghu_types 班级 int(11) 是
yonghu_phone 联系方式 varchar(200) 是
shengri_time 生日 timestamp 是
yonghu_email 邮箱 varchar(200) 是
yonghu_delete 假删 int(11) 是
create_time 创建时间 timestamp 是


http://www.kler.cn/a/451149.html

相关文章:

  • Kafka可视化工具 Offset Explorer (以前叫Kafka Tool)
  • vue-axios+springboot实现文件流下载
  • C++之红黑树模拟实现
  • flask-admin的modelview 实现list列表视图中扩展修改状态按钮
  • 各种网站(学习资源及其他)
  • 系统压力测试助手——stress-ng
  • 4、数据结构与算法解析(C语言版)--栈
  • PH热榜 | 2024-12-24
  • 提高保养效率:4S店预约系统的设计与开发
  • SpringBoot简单使用Stomp
  • 深入理解批量归一化(BN):原理、缺陷与跨小批量归一化(CmBN)
  • Redis数据库操作备份
  • 手机外观边框缺陷视觉检测智慧方案
  • Hive 部署
  • 43.在 Vue 3 中使用 OpenLayers 利用 Canvas Clip 实现上卷帘功能
  • 业务栈、异常栈、中断栈独立设置的优劣势分析(RISC-V架构)
  • 【数据分析】贝叶斯定理
  • dubbo2.7.23注册中心、配置中心、元数据中心
  • centos日志管理,xiao整理
  • MBox20 网关拓新CNC 机床工业数据采集
  • 2024财年美国EB1A和NIW移民项目获批数据发布,获批率连续下跌,原因在哪?
  • 创新人工智能平台-MindsDB
  • 基于Jenkins+Docker的自动化部署实践——整合Git与Python脚本实现远程部署
  • ArKTS基础组件3
  • 六、模型显示位置与放缩
  • thinkphp6使用MongoDB多个数据,聚合查询的坑