使用Parse.com进行课堂应用程序的数据库设计

时间:2014-08-03 13:26:06

标签: database-design parse-platform nosql

我正在开发一个电子学习移动应用程序,其中有2个用户,学生和教师。该应用程序的工作方式如下,教师可以创建包含不同主题的课程,然后学生可以通过指定课程代码加入课程。学生可以参加多门课程,同时允许教师创建多门课程。我的应用程序的数据库设计有问题,不确定某些列是关系还是指针。我认为我正在使用Parse.com的框架,其数据库基于mongoDB。

我目前的数据库设计是这样的:

类:

  1. 安装
  2. 角色(不确定是否需要)
  3. 用户
  4. 主题
  5. Course类包含以下列:

    • 代码(每行唯一)
    • 标题
    • description
    • 老师 - 这应该是用户类的关系还是指针?
    • subject - 这应该是Subject类的关系,指针还是数组?

    Subject类包含以下列:

    • 标题
    • 说明
    • (我是否需要在课程中添加指针/关系 类?)

1 个答案:

答案 0 :(得分:1)

如果只有一个相关对象(例如,课程只有一位教师),则使用指针。

如果您知道关系中的项目数量有限(通常小于100,例如课程中的科目),那么使用数组,它会有一些额外的便利。

如果您认为关系中可能有超过100个项目(例如,主题中的学生可能?),那么请使用关系或可能是您自己的联接表。

如果您不仅需要关系,还需要有关它的信息,例如

,则可以使用连接表
StudentSubject
- student : Pointer<User>
- subject : Pointer<Subject>
- started : Date
- finished : Date
- grade : Number

注:

但是,如果您需要为一门课程处理多名教师,该怎么办?我的教育经验表明,总是允许多位教师。