我正在研究 RDBMS 中的关系。我了解映射关系背后的基本概念,但我无法发现它们。
三种可能性:
- 一对多(最常见)需要PK - FK关系。涉及两个表
- 多对多(不太常见)需要联结表。涉及三个表
- 一对一(非常罕见)。涉及一张 table 。
当我开始一个项目时,我无法区分前两个条件,而且我的头脑也不清楚。 示例在我短暂学习时有帮助,但在我需要将这些原则付诸实践时却无济于事。
这是大多数初学者犹豫不决的地方。 我怎样才能发现这些关系。有没有更简单的方法?
最佳答案
不要从技术角度看关系。尝试在脑海中设想关系时,使用类比和现实生活中的例子。
例如,假设我们有一个图书馆数据库。 图书馆必须有书籍。
中:中
每本 Book
可能由多个 Authors
编写,每个 Author
可能已编写多本 Book
。因此,这是一个多对多关系,将反射(reflect)到数据库中的 3 个表中。
1:M
每本 Book
还必须有一个 Publisher
,但是一本 Book
可能只有一个 Publisher
和一个 Publisher
可以发布很多书籍
。因此它是一个一对多关系,它反射(reflect)了 Books
表中引用的 PublisherId
。
像这样一个简单的类比可以解释与其核心的关系。当你试图通过技术镜头来看待它们时,你只会让自己变得更难。真正困难的是在构建数据库时应用真实世界的数据场景。
关于mysql - 如何发现 RDBMS 中的关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25681781/