检测弱实体

时间:2018-04-03 13:43:13

标签: entity-relationship er-diagrams

我正在研究ER图表,我遇到了一个关于 BANK 迷你世界的问题。

问题是:

  1. 对于每笔贷款,银行都会保留付款日期和金额。
  2. 每笔贷款都与特定贷款相关联,并由付款编号标识,在该贷款的付款中是唯一的。
  3. 我认为支付实体应该是强(常规)实体。它有独特的关键。但是,答案说它是弱实体

    在这种情况下如何判断实体是弱还是常规(强)?

1 个答案:

答案 0 :(得分:0)

如果单独的付款编号唯一标识每笔付款,那么它就是常规实体集。如果支付编号是一个序数或值,只能区分同一笔贷款的不同支付,那么它就是一个弱实体集。

例如,常规实体关系会有如下行:

payment_number | loan_number |    date    |  amount
      1        |     123     | 2018-01-01 |  1000.00
      2        |     123     | 2018-02-01 |  1010.00
      3        |     200     | 2018-01-02 |   500.00
      4        |     200     | 2018-02-02 |   550.00

如您所见,payment_number本身就是唯一标识。

弱实体关系可能有这样的行:

loan_number | payment_number |    date    |  amount
    123     |       1        | 2018-01-01 |  1000.00
    123     |       2        | 2018-02-01 |  1010.00
    200     |       1        | 2018-01-02 |   500.00
    200     |       2        | 2018-02-02 |   550.00

在这种情况下,payment_number本身不足以识别每一行,我们必须使用(loan_number, payment_number)的组合。