gpt4 book ai didi

mysql - 当一个索引可能来自两个不同的表时,我们如何建立表关系?

转载 作者:行者123 更新时间:2023-11-29 08:29:12 25 4
gpt4 key购买 nike

我有一个名为 addresses 的表,它存储来自 peoplecompanies 这两个表的 N:N 子信息。

因此,我创建了另一个名为 address_links 的表,其中包含字段 address_idcontact_id,以便联系人 ID 可以来自 people 或来自公司 记录。

所以我需要另一个字段,通过创建记录来指向正确的表。但是,当我进行在查询列表中显示该地址所有者姓名的查询时,我可以做什么来自动执行该解释呢?我尝试 IF 通过选择表格来区分第三个字段,但它不起作用。

解释注意事项:某些地址可能是多个人的住宅或工作场所。

最佳答案

如果您需要链接到不同的表,那么通常您会希望每个表都有一个单独的链接表。这允许数据库强制执行引用完整性并消除对特殊 if 语句的需要,如果其他开发人员查看数据库而无需了解特殊的实现细节,它也使数据库更容易理解。

示例表(列):

 Addresses (AddressId, Address, City, State, Zip, ...)
Persons (PersonId, FirstName, ...)
Companies (CompanyId, Name, ...)

AddressPersonLinks (AddressId, PersonId)
AddressCompanyLinks (AddressId, CompanyId)

关于mysql - 当一个索引可能来自两个不同的表时,我们如何建立表关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17126424/

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