Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有用户,他们通过成员资格表成为许多团队的成员。每个团队都有一名管理员。
我的问题是:
admin 列应该是成员表中的布尔值,还是团队表中的整数(用户 ID)?
最简单的是,是的:在会员表中,因为这是用户和团队之间的链接。在这种情况下,您可以更灵活地添加例如 2 个管理员。另一种方式也是一种有效的方式,考虑到明确拥有 1 个管理员是安全的。
缺点是,例如,您应该强制执行一个关系,因此 admin_id 始终链接到一个真正是团队成员的用户。所以在删除时你应该检查这个管理员是否真的仍然可用。
进一步思考:考虑您是否有多个角色,如果是这种情况,您可能会使用更复杂但更灵活的解决方案,如 ACL 之类的。