gpt4 book ai didi

sql - 在两个表之间有多个外键是否有意义

转载 作者:太空狗 更新时间:2023-10-30 01:59:36 25 4
gpt4 key购买 nike

我在学习 Sqlalchemy 时注意到外键关系是通过关联表名来定义的,而没有识别连接两个表的实际外键,所以我在想,如果两个表之间有多个外键(如果它有意义的话),sqlalchemy 将无法确定用于链接两个表的键。无论如何,我的问题是:在两个表之间有多个外键是否有意义

最佳答案

是的,在某些情况下,一个表可以有多个外键指向父表的不同行。

这是一个示例:错误跟踪数据库中的一个表,它引用了三个不同的用户。报告错误的用户、被指派修复错误的工程师和被指派验证错误的测试人员已修复。

CREATE TABLE Bugs (
bug_id INT PRIMARY KEY,
reporter INT NOT NULL REFERENCES Users(user_id),
assigned_to INT REFERENCES Users(user_id),
verified_by INT REFERENCES Users(user_id),
...
);

如果每个用户可能是不同的人,则您需要为每个用户使用不同的外键。

这是另一个示例:运输应用程序跟踪每批 cargo 并记录始发国和目的地国家。

CREATE TABLE Shipments (
...
origin_country INT NOT NULL REFERENCES Countries(country_id),
destination_country INT NOT NULL REFERENCES Countries(country_id),
...
);

关于sql - 在两个表之间有多个外键是否有意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53917035/

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