Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Rails应用中SCORM的数据模型_Mysql_Ruby On Rails_Database_Activerecord_Database Design - Fatal编程技术网

Mysql Rails应用中SCORM的数据模型

Mysql Rails应用中SCORM的数据模型,mysql,ruby-on-rails,database,activerecord,database-design,Mysql,Ruby On Rails,Database,Activerecord,Database Design,我想在Rails应用程序中部分实现SCORM标准 我当前的数据模型具有以下结构。我有用户,我有课程,我有join table用户_课程(每行都是某个用户启动的课程的数据)。后一个表具有SCORM需要实现的所有属性(列)(最大分数、最小分数、原始分数等) 在我达到目标之前,一切都简单明了。它说符合SCORM的LMS应该支持至少100个目标。如果只有4或5列,我会在我的user\u courses表中再创建4或5列,但创建100列没有任何意义,因为用户可能会使用5到10列 处理此类问题的最佳方法是什

我想在Rails应用程序中部分实现SCORM标准

我当前的数据模型具有以下结构。我有
用户
,我有
课程
,我有join table
用户_课程
(每行都是某个用户启动的课程的数据)。后一个表具有SCORM需要实现的所有属性(列)(最大分数、最小分数、原始分数等)

在我达到目标之前,一切都简单明了。它说符合SCORM的LMS应该支持至少100个目标。如果只有4或5列,我会在我的
user\u courses
表中再创建4或5列,但创建100列没有任何意义,因为用户可能会使用5到10列


处理此类问题的最佳方法是什么?

目标与当前表格的关系如何

编辑

我假设一门课程有一个预先设定的目标,他们不需要每个用户单独跟踪这些目标

创建表:目标id为的目标 创建表:具有课程id、目标id的课程目标

您可以将课程链接到课程目标(一门课程有许多目标),并将目标链接到课程(一个目标可以属于许多课程)。这将允许您重复使用课程之间的共同目标。如果不是这样,那么你可以跳过课程目标,只使用目标来完成课程,因为一门课程可以有很多目标

这有用吗

如果您确实需要跟踪每个用户的进度或目标状态,则需要在用户课程和课程目标之间建立另一个表


-Dan

每门课程中的每个用户都有多个目标。