SQL:员工和客户是用户,但并非所有员工都是用户

时间:2016-09-16 10:11:41

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

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

  • User(user_id,fullname,email,username)
  • Role(role_id,description)
  • UserRole(user_role_id,user_id,role_id,date_from,date_thru)
  • Customer(user_id,...)
  • Employee(user_id,...)

问题在于,让一名员工需要拥有一名用户但不是所有员工都是用户,即我当前被告知要包括员工但不是系统用户的司机。那我怎么能建立这样的关系呢?

2 个答案:

答案 0 :(得分:1)

你可以有另一个组成级别称为“人”。因此,员工和客户都是人,个人也可以是用户。

答案 1 :(得分:1)

对于非用户的员工,可以使user_id等于NULL。