SQL:员工和客户都是用户,但不是所有员工都是用户
SQL: Employee and Customer are Users, But not all Employees are Users
我正在尝试为可通过移动应用程序和 Web 客户端访问的休息服务器建模数据库。员工和客户都是系统的用户。我以前使用组合而不是继承来设计数据库。我已经使用了这个 answer 中的设计。
User
(user_id,全名,电子邮件,用户名)Role
(role_id,描述)UserRole
(user_role_id, user_id,role_id, date_from, date_thru)Customer
(user_id, ...)Employee
(user_id, ...)
问题是,要拥有一名员工,您需要拥有一名用户,但并非所有员工都是用户,即我目前被告知要包括作为员工但不是系统用户的司机。那么我怎样才能建立这样的关系呢?
你可以有另一个作文级别的说法叫做"Person"。所以员工和客户是人,人可以是用户。
对于不是用户的员工,你可以让user_id等于NULL。