我有一个employees表,ERD看起来像这样
我想添加更多要求。我想补充一下员工是季节性的还是全职的。我想在工期表上增加一列,以跟踪员工是季节性的还是全职的。如果是季节性的,那么一些季节性的员工可能是大学的实习生。对于他们来说,我想添加另一个表来跟踪他们所就读的大学。这种方法行吗?还是应该为员工的状态创建其他表?
如果只有两个选项可用,即雇员是否是
然后最简单的选择是添加一个“复选框”列,例如
alter table employees add cb_seasonal number(1) default 0 not null;
,该值将设置为0
(即每个人都不是季节性的,这意味着每个人都是全职工作)。当有人切换到季节性状态时,您只需通过更新行并将列值设置为1
来“检查”它。
但是,如果有更多状态,则最好使用附加表。您仍然必须更改employees
表并将外键约束添加到您创建的“附加”表中。