gpt4 book ai didi

sql - 外键与中间表

转载 作者:行者123 更新时间:2023-12-02 04:12:10 24 4
gpt4 key购买 nike

这是一个非常基本的问题,对此我深表歉意,但我没有找到任何资源来回答这个问题。

我到处都能看到这些图表,我很难理解为什么他们使用中间表来关联州和国家/地区,而不是仅仅在州表中添加指向国家/地区表的外键

是否因为某些 RDMS 不允许外键?是因为国家的名字可以在很多国家吗?

enter image description here

来源:Database Design and Naming Conventions

最佳答案

这种类型的表称为联结表,用于表示多对多关系。据我所知,所有州都在一个国家内,因此不需要有联结表。一个州可以简单地有一个 country_id 列。你是对的。

您可能对“县”和“市”实体有相同的看法。至少在美国,这并不完全正确(除非您遵循人口普查局的定义)。有些城市确实跨越多个县。

在撰写本文时,我位于纽约县(通常称为“曼哈顿”),它是纽约市的一部分。纽约市实际上由五个县组成。其他城市也跨越县,例如芝加哥(库克县和杜佩奇县)、亚特兰大(富尔顿县和迪卡尔布县)以及许多其他城市(在此 Wikipedia 页面上列出)。纽约市当然“获胜”,跨越五个城市,比其他任何城市都多;)

关于sql - 外键与中间表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36116353/

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