mySQL table 添加新用户的结构 table

mySQL table structure with adding new users table

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

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

我不确定如何添加用户 table 与企业和员工 table 之间的关系。我也将添加管理员角色。

我目前的 table 是: - course_files - course_modules - 培训班 - courses_employees - 雇员 - 企业

我的选择:

  1. 将企业和员工 table 与用户合并,并拥有
    • 用户(id、角色 employee_name、business_name、business_address 等)
    • 角色(管理员、员工、业务)

我对这种方法的问题是企业和员工的字段非常不同,因此用户 table 会有很多字段。但它会让登录功能更容易。

  1. 将 business_id 和 employee_id 添加到用户 table。此选项会涉及更多一些,并且一个字段将始终为空白,如 employee_id.

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

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

我不同意你的两种方法。我会有一个用户 table 用于登录,tables 用于员工和企业,就像您在第二种方法中建议的那样。不同之处在于,我不会在 users 中有 employee_id 和 business_id,因为正如您已经指出的那样,其中一个将始终为空白。为什么不在两个 table 中使用 user_id,因为它们将始终具有用户配置文件(用于登录)?我看到你使用 CakePHP,所以这些关系如下:

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

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