java - 我可以通过java将数据以json对象的形式存储在mysql数据库中吗?

标签 java mysql

我正在用java制作一个考勤管理应用程序,我在制作其数据库模式时面临一个问题,我想存储考勤并按月和学期显示。 我决定以下架构:

STUDENTS(name,class,roll... ) table , 
ATTENDANCE(rollNo , attendanceStatus , date) table , 
SUBJECTS(class , subject, subId...) table.

但是这里出现的问题是,如果我每天必须参加一个有 50 名学生和 5 场主题讲座的类(class),那么每天在出勤表中添加的总行数是 50x5,那么我的表将会增长很多!

这是一个错误的方法还是可以? 我想知道我是否可以将一场讲座的出勤率存储为某个对象,例如 json 对象?是否可以将json对象存储在mysql数据库中?

最佳答案

你可以,但这会违背良好数据库设计的目的。

我会推荐以下模式,假设学生只能参加或缺席类(class)(2 个状态):

学生(student_id,姓名)
类(class_id,class_name)
注册(enrollment_id、student_id、class_id)
缺勤(enrollment_id日期)

这样,您就可以假设如果该学生当天不在缺勤 表中,则他们就出席了该类(class)。记录缺勤而不是出勤的原因是学生类的可能性比缺课的可能性更大,这意味着缺勤表的增长速度不会像“出勤”表那样快。

关于java - 我可以通过java将数据以json对象的形式存储在mysql数据库中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55663107/

相关文章:

java - 如何使用流打印HashMap中值的键

java - 一个 Action 的多个 Java 消费者

mysql - 如何连接这两个mysql查询?

java - JDBC - 从文本文件加载数据

mysql - inode 使用显示全零的 : how to understand this

java - 帮助java HashMap

java - 使用 HttpUrlConnection 的抢先式基本身份验证?

java - Java 可以理解同名的线程是不同的线程吗?

mysql - 使用主机网络以不同端口运行多个 mysql 容器

mysql - 如何在层次结构中显示,,