ERD单个帐户下的多用户级访问权限

时间:2011-06-29 10:25:28

标签: c# sql-server sql-server-2008 database-design erd

目前我有以下数据库设计

用户是个人或企业实体。如何扩展此数据库设计,以便在单个企业帐户下,企业可以允许多用户访问?

示例企业可能希望访问其控制面板访问会计师,开发人员等...开发人员应该只能查看和管理应用程序,而会计师可以查看/下载交易等... < / p>

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

1 个答案:

答案 0 :(得分:0)

我认为,最好将实体BUSINESS_INFO和属性BusinessInfoId(BUSINESS_INFO表的外键)添加到USER表中。 BUSINESS_GROUP表将具有主键BusinessInfoId(int类型,例如)

USER
UserId
BusinessInfoId (FK)
Name
Username
Password
FirstName
MiddleName
LastName
...

BUSINESS_INFO
BusinessInfoId (PK)
BusinessName
....

注意,PERSONAL_INFO表是多余的。其字段必须在USER表中进行标准化