使用我的 SQL 表结构应用继承


Applying Inheritance with My SQL table structure

我正在为教师和学生开发一个移动应用程序...该数据库包含教师、学生和校长等表。所有这些表都有不同的列,具体取决于角色。

现在我想要一个名为 posts 的表,用于存储所有这些用户的帖子。

问题 1 :我无法定义一个名为 users 的表,其中包含列 ROLE 来标识特定用户,因为这些角色具有不同的列/属性。

也。。。对于这些用户,我定义了 2 列,其中一列是对所有教师和学生唯一的 id......以及 T23(适用于 ID 为 23 的教师)和 S44(适用于 ID 为 44 的学生)等user_id。

现在,我已经创建了包含以下列的帖子表:id,user_is,描述,date_created,状态。

现在我不确定...如何获取所有帖子以及用户名(如何加入应在此处工作)

我认为更好的解决方案是用户组角色表。

用户是显而易见的;这些是你的学生和老师。

GROUP 是将用户与角色相关联的多对多联接表。 (一个组可以有许多用户和许多角色)。

ROLE是通常的嫌疑人:读/写/删除/执行。

将角色分配给组,然后将用户添加到组。 这样,您可以允许学生对其记录进行只读访问,但教师可以对其学生的所有记录具有读/写访问权限。

您可以将教师与管理员分开:教师只能对他们教授的学生进行读/写,但管理员应该能够读/写学校中的所有学生。这种安排的另一个优点是,您不必在每次更改角色时编辑 USER 行。 您要做的就是修改分配给它们的组。