0
Table employee
{
employeename  //employeename is unique
}

Table job
{
jobid,job,assignedPerson,status
}

assignPerson 是一个引用employeename(employee) 的外键
我想知道如何删除员工记录而不必从工作表中删除他的记录,即我的意思是我想保留工作记录并查看分配了哪个人即使那个人不再是雇员,也能得到这份工作。

Table employee
{
employeename
}

Table jobemployee
{
jobid,assignedPerson
}

Table job
{
jobid,job,status
}

即使我这样做,如果我想从“员工”表中删除员工的记录,我也必须从 jobemployee 中删除记录,并且无法知道为哪个人分配了工作..
请帮助..

4

1 回答 1

1

最好的选择是为 Employee 表添加一个标志deleted

assignedNonEmployee一种解决方法是向表中添加一列job。在删除 之前employee,将assignedPerson列设置为null,并将其值复制到assignedNonEmployee列中。由于后面的列没有外键约束,您现在可以删除employee记录。

于 2013-08-21T11:14:20.990 回答