一对多和多对一的关系之间的区别

一对多和多对一关系的真正区别是什么? 这只是颠倒过来的那种?

除此之外,我找不到任何有关此主题的“易于理解”的教程: 适用于初学者的SQL:第3部分 – 数据库关系

是的,反之亦然。 这取决于实体存在的关系的哪一方面。

例如,如果一个部门可以聘用多名员工,那么部门对员工是一对多(1个部门雇用多名员工),而员工与部门的关系是多对一的(许多员工在一个部门工作)。

有关关系types的更多信息 : 数据库关系 – IBM DB2文档

http://www.sum-it.nl/cursus/dbdesign/english/intro030.php3

大多数表之间的关系是一对多的。

例:

* One area can be the habitat of many readers. * One reader can have many subscriptions. * One newspaper can have many subscriptions. 

多对一的关系和一对多的关系是一样的,但是从不同的angular度来看。

 * Many readers live in one area. * Many subscriptions can be of one and the same reader. * Many subscriptions are for one and the same newspaper. 

一对多和多对一关系的真正区别是什么?

这些术语之间存在概念上的差异,这些术语应该可以帮助您可视化数据以及生成的模式中应该充分理解的差异。 但大多数情况下,差异是一个angular度。

一对多关系中,本地表有一行可能与另一个表中的许多行关联。 在SQL初学者的例子中,一个Customer可能与许多Order有关。

在相反的多对一关系中,本地表可能有许多行与另一个表中的一行相关联。 在我们的例子中,许多Order可能与一个Customer相关联。 这种概念上的差异对心理表征很重要。

另外,支持关系的模式在CustomerOrder表中有不同的表示。 如果客户有列idname

 id,name 1,Bill Smith 2,Jim Kenshaw 

然后,为了使CustomerOrder相关联,许多SQL实现向Order表中添加了一个存储相关Customerid的列(在此模式中, customer_id

 id,date,amount,customer_id 10,20160620,12.34,1 11,20160620,7.58,1 12,20160621,158.01,2 

在上面的数据行中,如果我们看一下customer_id id列,我们可以看到Bill Smith (customer-id#1)有两个与他相关的订单:一个是$ 12.34,一个是$ 7.58。 Jim Kenshaw (客户编号2)只有1个订单158.01美元。

重要的是要认识到,一般来说,一对多关系实际上并没有在表格中添加任何列,即“one”。 Customer没有额外的栏目来描述与Order的关系。 事实上, Customer也可能与ShippingAddressSalesCall表具有一对多的关系,但没有将额外的列添加到Customer表中。

但是,对于要描述的多对一关系,通常将id列添加到作为该表的外键的许多表中,在这种情况下,将customer_id列添加到Order 。 为了将$ 12.34的订单#10关联到Bill Smith ,我们将customer_id列分配给Bill Smith的ID 1。

希望这可以帮助。

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

回答你的第二个问题是:一对多 – >一个MAN(MAN桌子)可能有多个妻子(WOMEN桌子)多对一 – >不止一个女性嫁给一个MAN。

现在,如果要将这种关系与两个表MAN和WOMEN相关联,则一个MAN表行可能与WOMEN表中的行具有许多关系。 希望清楚。

没有区别。 这只是一个语言和偏好问题,你说什么方式你说的关系。

一对多和多对一在多重性方面是相似的,但不是方面性(即方向性)。

实体类与表之间关系的映射。 有两类关系:

  1. 多重性 (ER术语:基数)
    • 一对一的关系 :例如丈夫和妻子
    • 一对多的关系 :母亲和孩子的例子
    • 多对多的关系 :示例学生和学科
  2. 方向性 :不影响映射,但在如何访问数据方面有所不同。
    • 单向关系 :引用其他实体的关系字段或属性。
    • 双向关系 :每个实体都有一个关系字段或属性,指向另一个实体。

没有实际的区别。 就像Devendra所说的那样,只要使用最有意义的关系就可以看出你的问题。

一对多的父类包含n个孩子,所以它是一个集合映射。 mant-to-one有n个孩子包含一个父母,所以这是一个对象映射