我正在为教师和学生开发一个移动应用程序...数据库包含教师,学生和校长等表格。所有这些表格根据角色有不同的列。
现在我想要一个名为posts的表来存储来自所有这些用户的帖子。
问题1:我无法使用列ROLE定义名为users的表来标识特定用户,因为这些角色具有不同的列/属性。
另外......对于这些用户,我定义了两列,一个是所有教师和学生都是唯一的ID ...而像T23(对于ID为23的教师)和S44(对于id为44的学生)的user_id
现在我创建了包含以下列的帖子表:id,user_is,description,date_created,Status。
现在我不确定......怎么样 获取所有帖子以及用户名(如何加入应该在这里工作)
答案 0 :(得分:2)
我认为更好的解决方案是USER-GROUP-ROLE表。
用户很明显;这些是你的学生和老师。
GROUP是将USER与ROLE关联的多对多JOIN表。 (一个GROUP可以拥有许多用户和许多ROLE。)
ROLE将是通常的嫌疑人:读/写/删除/执行。
您可以为组分配角色,然后将用户添加到组。这样您就可以允许学生以只读方式访问他们的记录,但教师可以对所有学生的记录进行读/写访问。
您可以从管理员中划分教师:教师只能读/写他们教授的学生,但管理员应该能够读/写学校的所有学生。 这种安排的另一个好处是,您不必在每次更改角色时编辑USER行。您所做的只是修改分配给它们的GROUP。