Mysql 具有多种用户类型的数据库用户场景
我正在为一个Yii项目设计一个数据库,该场景是一个用户将仅为以下类型之一:员工、公司和企业所有者人员(即管理公司和员工的所有者-超级管理员-我打破了多对多关系,这就是为什么我称该表为“业务\所有者\人员”)。下面是我如何在MySQL中设计数据库的: 使用者Mysql 具有多种用户类型的数据库用户场景,mysql,database-design,yii,normalization,Mysql,Database Design,Yii,Normalization,我正在为一个Yii项目设计一个数据库,该场景是一个用户将仅为以下类型之一:员工、公司和企业所有者人员(即管理公司和员工的所有者-超级管理员-我打破了多对多关系,这就是为什么我称该表为“业务\所有者\人员”)。下面是我如何在MySQL中设计数据库的: 使用者 身份证 用户名 密码 活跃的 公司 身份证 名字 联络电话: 联系人姓名: 地址 用户id(FK) 受雇者 身份证 名字 姓 地址: 电子邮件 公司id(FK) 用户id(FK) 企业所有人 身份证 名字 电子邮件 位置 用户i
- 身份证
- 用户名
- 密码
- 活跃的
- 身份证
- 名字
- 联络电话:
- 联系人姓名:
- 地址
- 用户id(FK)
- 身份证
- 名字
- 姓
- 地址:
- 电子邮件
- 公司id(FK)
- 用户id(FK)
- 身份证
- 名字
- 电子邮件
- 位置
- 用户id(FK)
我只是想知道是否有更好/更有效的方法来设计这个场景,这样Yii就不会有问题为用户获取正确的附加信息。在不了解更多业务的情况下很难提出建议,但您似乎有太多多余的信息 分离用户是很好的,因为这些类型的人都可以是用户。我可能会把常用信息、姓名、电子邮件输入用户字段,甚至可能是地址和位置 然后,您希望用户可以拥有一个或多个角色,该角色控制其访问级别。这可能很简单,可以从DB表中的role\u id列开始,也可以是一个单独的表,user\u id,role\u id
尽管如此,如果没有更多的信息,很难提出建议。您需要按公司隔离用户吗?会有很多公司吗?您希望有多少企业主?企业主作为其承包商处理许多公司,每个承包商都有许多员工,客户想将承包商称为公司,员工和公司都有一个用户,我肯定会在用户表中添加角色,关系将是一对多。至于企业主,他们将拥有不同的账户,每个企业主都有不同的职位,如项目经理、主管,但他们都是管理员,功能略有不同。我喜欢你关于在用户表中添加更多细节的建议。