首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >主表可以与另一个主表建立关系吗?

主表可以与另一个主表建立关系吗?
EN

Stack Overflow用户
提问于 2018-10-15 22:42:34
回答 2查看 31关注 0票数 0

我想问一下我正在做的项目。

我有两个表,ms_corporatesms_subsidiaries,术语是一个公司可以有多个子公司,但一个子公司只能有一个公司。

这是我现在的桌子:

代码语言:javascript
运行
复制
ms_corporates
-------------
corporate_id PK
corporate_name
corporate_address
corporate_phone

ms_subsidiaries
---------------
subsidiary_id PK
corporate_name FK
subsidiary_name
subsidiary_address
subsidiary_phone

我可以在它们之间建立关系吗?或者我必须在它们之间建立一个表?

EN

Stack Overflow用户

发布于 2018-10-17 00:46:40

闻起来像是一对多的关系。这是通过在辅助表中使用corporate_id (而不是名称)来实现的。并为该列建立索引。

然后,您可以使用JOIN表来查找拥有子公司的公司的信息,或者查找给定公司的所有子公司。

还有其他需要考虑的事情。“公司”和“子公司”实际上是同一类型的实体,不是吗?甚至您的模式也表明了这一点;看到这些列实际上是相同的了吗?所以..。您可能应该只有一个表,并将两个表都放入其中。它将有一个id (类似于corporate_idsubsidiary_id)和一个parent_id

parent_id是指向同一表中另一行的id的链接。它是从子公司到公司的纽带。如果是0,那么您看到的是一家公司。非0指的是子公司。

在这个论坛上搜索parent_id;你可能会发现很多其他的例子在做同样的事情。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52819257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档