我正在开发一个电子学习移动应用程序,其中有2个用户,学生和教师。该应用程序的工作方式如下,教师可以创建包含不同主题的课程,然后学生可以通过指定课程代码加入课程。学生可以参加多门课程,同时允许教师创建多门课程。我的应用程序的数据库设计有问题,不确定某些列是关系还是指针。我认为我正在使用Parse.com的框架,其数据库基于mongoDB。
我目前的数据库设计是这样的:
类:
Course类包含以下列:
Subject类包含以下列:
答案 0 :(得分:1)
如果只有一个相关对象(例如,课程只有一位教师),则使用指针。
如果您知道关系中的项目数量有限(通常小于100,例如课程中的科目),那么使用数组,它会有一些额外的便利。
如果您认为关系中可能有超过100个项目(例如,主题中的学生可能?),那么请使用关系或可能是您自己的联接表。
如果您不仅需要关系,还需要有关它的信息,例如
,则可以使用连接表StudentSubject
- student : Pointer<User>
- subject : Pointer<Subject>
- started : Date
- finished : Date
- grade : Number
注:
但是,如果您需要为一门课程处理多名教师,该怎么办?我的教育经验表明,总是允许多位教师。