【问题标题】:Data model for SCORM in Rails applicationRails 应用程序中 SCORM 的数据模型
【发布时间】:2014-09-03 20:44:40
【问题描述】:
我想在我的 Rails 应用中部分实现 SCORM 标准。
我当前的数据模型具有以下结构。我有users,我有courses,我有连接表user_courses(每一行都是某个用户开始的课程的数据)。后一个表包含 SCORM 需要实现的所有属性(列)(最高分数、最低分数、原始分数等)
在我达到目标之前,一切都很简单。它说符合 SCORM 的 LMS 应该支持至少 100 个目标。如果只有 4 或 5 个,我会在 user_courses 表中再创建 4 或 5 个列,但创建 100 没有任何意义,因为用户可能会使用 5 到 10。
处理此类问题的最佳方法是什么?
【问题讨论】:
标签:
mysql
ruby-on-rails
database
activerecord
database-design
【解决方案1】:
目标与当前表格有何关联?
编辑:
我假设一门课程会有预先设定的目标,他们不需要为每个用户单独跟踪这些目标。
创建表:objective_id 的目标
创建表:course_objectives with course_id,objective_id
您可以将课程链接到 course_objectives(一个课程有多个目标)并将目标链接到课程(一个目标可以属于多个课程)。这将允许您在课程之间重复使用共同的目标。如果不是这种情况,那么您可以跳过 course_objectives 并只使用目标来课程,因为一个课程可以有多个目标。
这有帮助吗?
如果您确实需要跟踪每个用户的目标进度或状态,则需要在 user_courses 和 course_objectives 之间创建另一个表。
-丹