Table employee
{
employeename //employeename is unique
}
Table job
{
jobid,job,assignedPerson,status
}
assignedPerson是引用employeename(employee)的外键 我想要的是知道如何删除员工记录而不必从工作表中删除他的记录,即我的意思是我想保留工作记录,看看哪个人被分配了工作,即使那个人不再是雇员。
Table employee
{
employeename
}
Table jobemployee
{
jobid,assignedPerson
}
Table job
{
jobid,job,status
}
即使我这样做,如果我想从“员工”表中删除员工的记录,我将不得不从jobemployee删除记录,并且无法知道哪个人被分配了工作。
请帮忙..
答案 0 :(得分:1)
最好的选择是为deleted
的员工表添加一个标志。
解决方法是将列assignedNonEmployee
添加到job
表。在删除employee
之前,您需要将assignedPerson
列设置为null
,并将其值复制到assignedNonEmployee
列。由于后一列没有外键约束,因此现在允许您删除employee
记录。