如何在RDBMS中发现关系?

HIR*_*KUR 1 mysql sql-server postgresql relational-database relationship

我正在研究RDBMS中的关系.我已经理解了映射关系背后的基本概念,但我无法发现它们.

三种可能性:

  1. 一对多(最常见)需要PK-FK关系.涉及两个表
  2. 多对多(不太常见)需要一个联结表.涉及三个表
  3. 一对一(非常罕见).涉及一张桌子.

当我开始一个项目时,我无法将前两个条件分开,我不清楚.我在短时间内学习帮助的例子,但不是在我需要将这些原则付诸实践的时候.

这是大多数初学者蹒跚学步的地方. 我怎么能发现这些关系.那有更简单的方法吗?

Alt*_*tex 5

不要从技术角度看待关系.在尝试设想你头脑中的关系时,使用类比和现实生活中的例子.

例如,假设我们有一个库数据库.图书馆必须有.

M:M关系

每个都Book可能是由多个写的Authors,每个都Author可能写了多个Books.因此,它是一个多对多关系,将反映在数据库中的3个表中.

1:M

每个人Book也必须有一个Publisher,但一个Book可能只有一个Publisher,一个Publisher可以发布许多Books.因此,它是一对多关系,它反映PublisherIdBooks表中引用.

像这样的简单类比解释了与其核心的关系.当你试图通过技术镜头观察它们时,你只会让自己变得更难.在构建数据库时应用真实世界的数据场景实际上很困难.