在 Laravel 中正确设计数据库结构

Properly designing database structure in Laravel

我想问一下您对此有何看法。

简而言之,应用程序有几个角色,Admins Teachers 和 Students。

学年从特定日期开始,到某一天结束。示例 1.9.2021 至 20.6.2022。 每个学生都有测试,结果应该由老师管理。默认测试,每年记录2次结果。

每个测试结果都以秒为单位,然后你有一个 table,其中包含每个性别和年龄的最小值-最大值,你可以用它来与当前结果进行比较。

然后每个学生都有一个记录,叫做存档,他可以在那里看到他以前的记录。我怎样才能做到这一点?

目前正在使用 Laravel 8.7 和 PHP 8.0

添加不同的模型作为 User、School、SchoolSession、SchoolSessionTest、SchoolSessionTestQuestion、SchoolSessionTestResult 从模型的名称来看,关系应该是不言自明的 table 具有最小-最大值的值可以通过某些组通过查询您的用户模型来实现。

你可能知道,在MVC(模型-视图-控制器)框架中,模型实际上是一个数据库实体,控制器是你的应用程序逻辑所在的地方,视图将数据展示给用户。

因此,对于您的应用程序,我推荐以下结构:

型号:

  • 管理员
  • 老师
  • 学生
  • 学期
  • 测试
  • 测试结果

控制器:

  • 管理员控制器
  • 教师控制器
  • 学生控制器
  • 学期控制器
  • 测试控制器
  • 测试结果控制器

您可以决定需要哪些视图。

例如:

  • students_list
  • student_info
  • test_results

如果您需要更多解释,请告诉我