【问题标题】:SQL: Employee and Customer are Users, But not all Employees are UsersSQL:员工和客户都是用户,但并非所有员工都是用户
【发布时间】:2017-01-24 12:44:24
【问题描述】:

我正在尝试为通过移动应用程序和网络客户端访问的休息服务器建模数据库。员工和客户都是系统的用户。我以前使用组合而不是继承来设计数据库。我已经使用了 answer 的设计。

  • User(用户 ID、全名、电子邮件、用户名)
  • Role (role_id, 描述)
  • UserRole (user_role_id, user_id,role_id, date_from, date_thru)
  • Customer (user_id, ...)
  • Employee (user_id, ...)

问题在于,要拥有员工,您需要拥有用户,但并非所有员工都是用户,即我目前被告知要包括作为员工但不是系统用户的司机。那么如何才能建立这样的关系呢?

【问题讨论】:

  • 有一个可以是用户/客户/员工的人

标签: sql database database-design user-roles domain-model


【解决方案1】:

您可以有另一个组合级别,称为“人”。因此,员工和客户是个人,而个人可以是用户。

【讨论】:

  • 让我试试看...但是现在加入会更长
  • 我用过这个方法
【解决方案2】:

对于不是用户的员工,你可以让user_id等于NULL。

【讨论】:

  • 但用户表包含所有常见属性,如全名、电子邮件等
猜你喜欢
  • 1970-01-01
  • 2022-06-14
  • 1970-01-01
  • 1970-01-01
  • 2018-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多