mySQL表结构添加新用户表

时间:2015-05-21 21:53:31

标签: php mysql cakephp-3.0

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

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

我不确定以何种方式添加users表与business和employees表之间的关系。我也将添加一个管理员角色。

我目前的表是: - course_files - course_modules - 课程 - courses_employees - 雇员 - 企业

我的选择:

  1. 将企业和员工表与用户合并并拥有
    • 用户(id,角色employee_name,business_name,business_address等)
    • 角色(管理员,员工,业务)
  2. 我对这种方法的问题是,企业和员工的字段非常不同,因此用户表将包含很多字段。但它会使登录功能更容易。

    1. 将business_id和employee_id添加到users表中。此选项将更加复杂,一个字段将始终为空白,如employee_id。

      • 用户(id,employee_id,business_id,角色)
      • 角色(管理员,员工,业务)
      • 员工(business_id)
      • 企业
    2. 所以,在我沿着一条路走下去,发现我走向了错误的方向,我想知道什么是最佳做法?

1 个答案:

答案 0 :(得分:2)

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

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

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