0

我正在学习从数据库系统在学校的测试,我在互联网上发现了类似的例子,我不确定。跟随关系的基数是什么?实体之间的基数

enter image description here

我要说的1:1。我的一些朋友说1:M。我对吗?

我一直在思考如下:ET1采用ATR3(FK)紧密结合ET2,但也有自己的ATR1(PK)。所以ET2:ET1是1:M。但是在ET2中存在atr1(FK),这种关系听起来对我来说就像具有ET1的ET2只能与其ET1中的一个完全链接,所以得出的关系应该是1:1。

您认为如何?

非常感谢你们。

回答

1

在没有进一步的信息,这种关系似乎是多方面的:许多。

上的一个表链接到另一个表的主键的外键表示一个多到一的关系。这意味着:

  • 一个ET2记录可以通过atr3有许多相应的ET1记录。
  • 一个ET1记录可以通过atr1具有许多相应的ET2记录。

因此,它们之间的多对多的关系。

通常情况下,这是在关系模型中处理的,通过引入一个链接实体和一个由两个现有实体的主键组成的复合关键字以及任何仅在链接级别发生的属性 - 所以这里链接实体ET1_ET2将具有由atr1和atr3组成的复合键,而外键atr3和atr1则分别从ET1和ET2中移除。

(其它关系是可能的,但需要进一步的信息得到证实 - 例如,它可能是ET1和ET2实际上是相同的实体,参与了比尔用料类型的关系)

+0

那么我只提供这方面的信息。但是你说这是合乎逻辑的,因为只有在ET2中存在atr3(FK)(重命名)时才会出现问题,但它不是这样,这个选项听起来不错:)谢谢:) – Reshi 2013-03-25 19:37:20

+0

另外一个问题。也不应该存在一个et2 atr3(FK)吗?因为et1具有复合主键(atr1和atr3)。那么这个事实可能会改变我的情况,对吗? – Reshi 2013-03-25 20:55:41

+0

据我所知,atr3是et2的主键 - 因此,不应该是et2上的外键(因为外键链接到属性是主键的实体,在这种情况下是et2) 。 atr1和atr3一起构成et1的主键的事实确实改变了我对这种关系的理解 - 正如user1464084所说,它们可能是候选关键词;或者,et1可以是et2与另一个实体之间的链接实体,主键为atr1。 – 2013-03-26 10:48:14

2

有两种关系。描述相同两个实体之间的两个唯一关系没有单一的基数。

我的回答:ET2:ET1是1..N; ET1:ET2是0..N

根据您的描述(大部分是ET1.atr1是PK),该图是非常混乱。这是我在图上看到的 - ET1.atr3“在行上”,因此是ET1.atr1的组合主键的一部分。由于ET1.atr1被ET2引用,它必须是候选键(即ET1.atr1值必须能够唯一标识单个记录)。一个实体必须先插入另一个实体(显然),因此两个FK域中的一个必须是可空的。由于ET1的FK到ET2(ET1.atr3)是组合主键的一部分,因此它不能为空。因此,ET2.atr1必须为空。该图显示了代表ET1虚线:ET2关系,进一步执行,这是0..N

如果你能澄清的情况下进一步我会更新我的答案之间的关系。

+0

问题是这个问题是去年的一个测试问题。它没有更多的背景。事实是,他们要求这两个实体之间的一般基数。在真实条件下,我将使用M:N关联实体对Mark Ba​​nnister所说的模型进行建模,因为它使模型更全面。 – Reshi 2013-03-25 20:27:02