我正在尝试为休息服务器建模数据库,该服务器可通过移动应用和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,...)问题在于,让一名员工需要拥有一名用户但不是所有员工都是用户,即我当前被告知要包括员工但不是系统用户的司机。那我怎么能建立这样的关系呢?
答案 0 :(得分:1)
你可以有另一个组成级别称为“人”。因此,员工和客户都是人,个人也可以是用户。
答案 1 :(得分:1)
对于非用户的员工,可以使user_id等于NULL。