gpt4 book ai didi

asp.net - 两个外键引用相同的主键

转载 作者:行者123 更新时间:2023-12-03 10:27:47 25 4
gpt4 key购买 nike

可以在一个表中有两个外键引用另一表的一个主键吗?

EmployeeID是雇员表中的主键,在时间表表中两次作为外键出现。

很少有管理员用户可以代表其他员工填写timsheet。

在timsheet表中,“TimsheetFor”字段将具有该项目工作人员的员工ID,而“EnteredBy”或“FilledBy”字段将具有填写此时间表的人员的员工ID。

以下哪个选项是正确的?

注意:表仅显示与该问题相关的那些字段。

最佳答案

我会选择选项1 。最好有两个外键列引用不同表中的同一主键列,因为每个外键值将引用相关表中的不同记录。

我敢肯定选项2 会起作用,但是从本质上讲,TIMESHEET_TABLETIMESHEET_FILLED_BY之间具有一对一的关系,这使两个表变得不必要且更难维护。

实际上,如果同时需要ENTERED_BYTIMESHEET_FOR,则使用选项1 更为有意义,因为这是由数据库和外键自动执行的。

关于asp.net - 两个外键引用相同的主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11284428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com