C# ERD单个帐户下的多用户级别访问
目前我有以下数据库设计 用户可以是个人,也可以是业务实体。如何扩展此数据库设计,以便在单个业务帐户下,业务可以允许多用户访问 例如,一家企业可能希望将其控制面板的访问权授予会计师、开发人员等。。。开发人员只能查看和管理应用程序,而会计师可以查看/下载交易等C# ERD单个帐户下的多用户级别访问,c#,sql-server,sql-server-2008,database-design,erd,C#,Sql Server,Sql Server 2008,Database Design,Erd,目前我有以下数据库设计 用户可以是个人,也可以是业务实体。如何扩展此数据库设计,以便在单个业务帐户下,业务可以允许多用户访问 例如,一家企业可能希望将其控制面板的访问权授予会计师、开发人员等。。。开发人员只能查看和管理应用程序,而会计师可以查看/下载交易等 USER Id Name Username Password ... PERSONAL_INFO UserId (PK-FK) FirstName MiddleName LastName .... BUSINESS_INFO Us
USER
Id
Name
Username
Password
...
PERSONAL_INFO
UserId (PK-FK)
FirstName
MiddleName
LastName
....
BUSINESS_INFO
UserId (PK-FK)
BusinessName
....
这样行吗
USER_ACCESS?
Id
BusinessUserId
GrantedUserId
USER_PERMISSION
Id
UserAccessId
PermissionId
PERMISSION
Id
Name
我认为,最好将实体BUSINESS_INFO和属性BusinessInfoId(BUSINESS_INFO表的外键)添加到USER表中。BUSINESS_GROUP表将具有主键BusinessInfoId(例如int类型)
请注意,个人信息表是多余的。它的字段必须在用户表中规范化,这意味着一个用户只能属于一个业务,其中可能有用户组,您有用户ID和业务信息。如果您需要“多业务-多用户”关系,那么当然,您需要像用户组一样的连接表。在这种情况下,用户表中不需要BusinessInfoId字段
USER
UserId
BusinessInfoId (FK)
Name
Username
Password
FirstName
MiddleName
LastName
...
BUSINESS_INFO
BusinessInfoId (PK)
BusinessName
....