我参与了一个小型社交网络的开发,用户必须能够建立它们之间的关系,并且还拥有对内容的权限。举个例子:我添加一个用户作为我的朋友,但是这个用户不允许我查看他/她的所有内容,因此我只能访问用户允许的那些内容(权限)。所以我有一个问题,需要帮助设计这部分的DER。我想有这个表:
- users (id, name)
- relations_type (id, name, active)
- users_relations (id, id_user_1, id_user_2)
- users_permissions (id, id_relation, id_module, id_user, view, edit, delete)
这导致以下结果:
这是对的吗? CRUD就此如何处理这个问题?我正在使用MySQL和MyISAM表。
答案 0 :(得分:0)
不要将user1和user2用作表名,您将忘记范围扩展时的哪个。 你可以对users表的权限进行非规范化,你不需要为几个布尔位分割表。 从不指望工会,它会在最不期望的情况下背叛你。