如何在学习管理系统中跟踪学生的进度

时间:2017-12-06 16:07:37

标签: mysql cakephp database-design cakephp-3.0

我正在为客户工作LMS。顶级表是证书。下一级是课程,下面是活动。活动可以是视频,幻灯片或测验。

存储这些关系很容易,而不是问题。

如果学生/用户注册证书,我需要通过证书跟踪该学生的进度。所以我需要有一个独特版本的证书及其所有孩子,这样我才能知道他们对每个活动,课程和证书的进展。另一个考虑因素是学生可以多次完成证书。

我尝试了一个包含user_id, certificate_id, course_id, activity_id的进度表并已完成,但它并没有多次处理证书注册。在同一个表中,我尝试引用certificates_users_id来尝试为该用户建立一个独特的顶级参考。证书,但我在加入它时遇到了麻烦。

我希望能够抓住该用户的进行中证书,并确切知道哪些活动&其中的课程已由该用户完成。

1 个答案:

答案 0 :(得分:0)

如果您只是在进度表中添加一个新字段attempt_number,则密钥:user_id, certificate_id, attempt_number可以组成主键,这样您就可以处理用户完成证书的情况多次。您可以将attempt_number作为1开始,并在下次用户进行相同认证时将其递增。

它还跟踪每次认证完成的历史记录,比如在用户完成认证后在课程中添加了一个新的活动,可以轻松跟踪。