Php 添加新用户表的mySQL表结构

Php 添加新用户表的mySQL表结构,php,mysql,cakephp-3.0,Php,Mysql,Cakephp 3.0,我有一个php小应用程序,使用连接到mySql数据库的cakePHP框架 我有两种类型的用户(业务和员工),它们与其他表也有关系。我现在添加了一个登录工具,这意味着我将添加一个用户表来保存密码详细信息。因此,员工和企业都可以登录 我不确定如何添加users表和Business and employees表之间的关系。我将添加一个管理员角色也 我目前的表格是: -课程档案 -课程单元 -课程 -员工培训课程 -雇员 -企业 我的选择: 将业务和员工表与用户合并,并创建一个 用户(id、角色、员工

我有一个php小应用程序,使用连接到mySql数据库的cakePHP框架

我有两种类型的用户(业务和员工),它们与其他表也有关系。我现在添加了一个登录工具,这意味着我将添加一个用户表来保存密码详细信息。因此,员工和企业都可以登录

我不确定如何添加users表和Business and employees表之间的关系。我将添加一个管理员角色也

我目前的表格是: -课程档案 -课程单元 -课程 -员工培训课程 -雇员 -企业

我的选择:

  • 将业务和员工表与用户合并,并创建一个
    • 用户(id、角色、员工姓名、企业名称、企业地址等)
    • 角色(管理员、员工、业务)
  • 我对这种方法的问题是,企业和员工的字段非常不同,因此用户表将有很多字段。但这将使登录功能变得更容易

  • 将业务id和员工id添加到用户表中。此选项将涉及更多内容,其中一个字段将始终为空,如employee_id

    • 用户(id、员工id、业务id、角色)
    • 角色(管理员、员工、业务)
    • 员工(业务id)
    • 企业

  • 因此,在我走下一条路线并发现我走错了方向之前,我想知道什么是最佳做法?

    我不同意你的两种方法。我将有一个用于登录的用户表,以及用于员工和业务的表,就像您在第二种方法中建议的那样。不同之处在于,我不会在用户中包含员工id和业务id,因为正如您已经说过的,其中一个将始终为空。为什么不在两个表中都有一个用户id,因为它们总是有一个用户配置文件(用于登录)?我看到您使用了CakePHP,因此以下是关系:

    User hasOne Employee
    User hasOne Business
    Employee belongsTo User
    Business belongsTo User
    

    如果您的应用程序中有任何其他业务规则使我的方法难以实现,请告知我。

    您应该决定什么是“主要”。在我公司的数据库中,所有个人都属于(至少)一个组织。因此,只有当我们首先将某个人的组织与某个项目相关联时,该个人才能与该项目相关联。在某些情况下,这些个人只是私人客户,以个人身份行事,而不是通过某个组织的代理。在这种情况下,他们只是属于一个叫做“项目客户机构”的组织。嗨,草莓,你把密码放在什么表格里?谢谢。这对我来说很有意义我会朝那个方向走