在这两种不同的方法中,哪一种在SQL Server数据库中查询时应该表现得更好?第一种方法似乎更具关系性和“正确性”,可以通过接口进行管理,以便可以通过编程方式添加新权限。我们将SQL Server与实体框架6一起使用,但这可能并不重要。
USER TABLE
----------
UserID
FirstName
LastName
etc...
PERM TABLE
---------
PermID
PermName
etc...
USERPERM TABLE
----------
UserPermID
UserID
PermID
或者这会是一种更有效的方法吗?如果引入了新的权限,则必须手动管理,但如果查询的效率更高,那么让管理层头疼的话可能是值得的,因为这些表必须不断被打击。
USER TABLE
----------
UserID
FirstName
LastName
etc...
USERPERM TABLE
----------
UserPermID
UserID
HasManageUserPerm
HasManageGroupPerm
HasManageDocumentPerm
HasManageEmailTemplatePerm
HasManageBrandingPerm
HasManageProcessPerm
HasManageWebFormPerm
etc.
答案 0 :(得分:0)
两个架构之间存在一些差异。但是,这些差异可以忽略不计,并且不会以任何方式“制造或破坏”您的数据库或应用程序。因此,使用哪个并不重要。
<强>优点:强>
<强>缺点:强>
JOIN
语句。<强>优点:强>
JOIN
语句来查看权限数据。<强>缺点:强>
如果对您来说意味着什么,就关系数据库模式而言,您的第一个模式更“传统”。希望这会有所帮助。