我有一个名为Report的表和另一个名为ReportRights的表。这些表的目的是限制对基于用户或用户组的报表的访问。
表是
)
这方面的问题是,我想向ReportId+UserId和ReportId+GroupId添加一个唯一的约束,但在这个表结构中,我不能这样做,因为ReportId 1、UserId 1、groupid为NULL,并且试图添加reportid 2的权限-- trips --reportid 1 groupid约束。
这个设计不好吗?我应该有两个表: ReportGroupRights和ReportUserRights?如果我要创建一个前端用户界面,它们都将由相同的“网格”管理,所以1表对me...but来说是有意义的,不能只执行一个用户记录或只有一个组记录是有问题的。
解决这个问题的最佳做法是什么?
发布于 2019-10-15 17:17:53
设计不错。
使GroupId为空,因此您也可以只为用户输入权限。
另外,唯一的约束应该放在三列上:ReportId、UserId、GroupId。
因此,您可以允许每个用户/组有多个报表。
https://stackoverflow.com/questions/58399617
复制相似问题