我有一个数据库,通常用户是中心对象。
在数据库中,我有一个表roles
,users in roles
因此我可以在站点上为用户提供不同的权限。
但现在我有一个疑问。
我之前看到过一个具有这样结构的数据库(用户与其他表的关系为 1:1):
User{UserId, Username, Email etc.}
Admin{UserId, some specific columns}
Child{UserId, some specific columns}
Admin{Parent, some specific columns}
和其他表连接到用户不是通过用户表而是通过Admin, Child and admin.
因为现在我设计我的数据库我有用户和用户可以Admin, CompanyManager and Professor
。
我想知道我应该像上面展示的那样设计表格还是仅仅依靠角色?
第一种方法的优点是什么?
而且在我的商业模式中,用户不必是公司经理或教授,所以这实际上是 1 对 0 或 1 设计。
用这样的场景设计数据库的好方法是什么?