我有DB很少权限表形式:可选外键 - 这是一个很好的解决方案吗?
UserId, Object Id, lot of bit fields
我添加的用户群体我的数据库,我需要更新的权限与用户和用户组的工作。我想到了两种方法。
创建每个权限表的副本,并为每个对象权限2个表(用户和组权限) - 在每个表中我有一个外键的许可所有者的表(一个表中 - 到用户和在第二表中的用户组):
UserId NOT NULL, Object Id NOT NULL, lot of bit fields GroupId NOT NULL, Object Id NOT NULL, lot of bit fields
一个场(的GroupId)添加到每个权限表,并使用字段中的一个(用户ID或GroupId的)来识别,如果它是用于组或用户权限。因此,我将有两个外键的表格 - 用户和用户组,但对于每条记录,只有其中一个FK将被使用 - 其他将为空。 表可以是这样的:
UserId NULL, GroupId NULL, ObjectId NOT NULL, lot of bit fields
什么是你认为最好的解决办法?两者的优缺点是什么?还有其他更好的解决方案吗?
编辑:我需要知道如何处理用户和组的外键,而不是位字段。