首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一对多和多对一关系的区别

一对多和多对一关系的区别
EN

Stack Overflow用户
提问于 2011-01-05 15:23:07
回答 5查看 222.4K关注 0票数 135

一对多和多对一关系的真正区别是什么?它只是颠倒了,某种程度上?

除了这个,我找不到任何关于这个主题的“好的和容易理解的”教程:SQL for Beginners: Part 3 - Database Relationships

EN

回答 5

Stack Overflow用户

发布于 2011-01-05 19:37:22

这是没有区别的。这只是一个语言和偏好的问题,关于你用哪种方式来描述这种关系。

票数 5
EN

Stack Overflow用户

发布于 2012-11-23 11:32:50

你第一个问题的答案是:两者都很相似,

你第二个问题的答案是:一对多-->一个男人(男人表)可能有一个以上的妻子(女人表)多对一-->多个女人嫁给了一个男人。

现在,如果您想要将这种关系与两个表many和tables关联起来,那么一个MAN表行可能与tables表中的行有许多关系。希望是清朗的。

票数 3
EN

Stack Overflow用户

发布于 2021-04-16 20:01:54

根据我的经验,这是一个很好的问题,在ERD图表和关系数据库中,方向是隐含的。在RDBMS中,您总是定义多对>一(微不足道的一对一)关系。关系的多个方面,也就是子代,引用了一方,也就是父代,你用一个外键约束来实现这一点。从技术上讲,您必须访问索引,获取一端的主键记录,然后访问此记录以获取更多信息。

除非我们谈论的是对象关系DBMS,如Postgres、Intersystems Cache等,否则您不能反过来做这件事。这些DBMS允许您定义两个实体(表)之间的双向关系。在这种情况下,反过来访问记录,即一对多是通过使用引用数组(子对象)来实现的。在ORM中,类之间的引用方式与我们在这里描述的方式相同。

警告: IT市场上的大多数RDBMS不是严格意义上的关系数据库管理系统,想想空值、重复记录等,这些允许的功能中的许多都打破了关系的定义。

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

https://stackoverflow.com/questions/4601703

复制
相关文章

相似问题

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