Er图一对多关系 - 参与约束

时间:2017-07-06 09:45:33

标签: database-design entity-relationship erd entity-relationship-model

用Chen表示法绘制ER图时。 是否使用总参与约束双线来绘制所有1:N关系? 例如:一张发票可以有多笔付款。付款必须有发票号,因为付款已完成发票。这有一个1:n的关系,那我怎么把它放在一个图表中呢? erd example

1 个答案:

答案 0 :(得分:0)

不,所有1:N关系都不需要多方实体参与。一个人可以在一个建筑物内,而一个建筑物可以容纳多个人,但建筑物可以是空的,人们可以在外面。

在您的示例中,每个clear clc global Fk Fc kt Fa q ds0 ms mu qdot v2 mu = 100 ; ms = 1242 ; k1s = 80000 ; k2s = 32000 ; kt = 405000 ; c1s = 4000 ; c2s = 1600 ; v = 20 ; Gq = 256e-6 ; ds0 = 0.1538 ; a = 1 ; b = 0.001 ; n0 = 0.1 ; f0 = 0.011*v ; w = 0.5 ; Fa = 2000 ; q = 0.05 ; xs = 0.1 ; xu = 0.1 ; dxs = 0.1 ; dxu = 0.2 ; Fk = k1s+k2s*(ds0+xs-xu).^2 ; if dxs >= dxu Fc = c1s ; elseif dxs < dxu Fc = c2s ; end t_span=[0 1]; IC=[2 3 2 2]; [t X]=ode45(@non_L_ss,t_span,IC); 必须与<?php require 'db.php'; session_start(); $result = $mysqli->query("SELECT nickname FROM members WHERE fraction='3'"); print($result->num_rows); ?> <div class="form"> <ul class="tab-group"> <li class="tab"><a href="#lspd">LS-PD</a></li> <li class="tab active"><a href="#ballas">BALLAS</a></li> </ul> <div class="tab-content"> <div id="ballas"> <h1>Ballas</h1> <form action="index.php" method="post" autocomplete="off"> <div class="top-row"> <div class="field-wrap"> <label> Name<span class="req">*</span> </label> </div> </div> <?php if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "<p class='monitoring-name'>" . $row['nickname'] . "</p><br>"; } } ?> </form> </div> </div><!-- tab-content --> </div> <!-- /form --> 相关吗?如果是,请通过使用双关联线表示PaymentInvoice关系中的完全参与度。

双边镶钻表示识别关系。使用它表示Payment不是由其自己的属性标识,而是由其Received和弱键标识。弱密钥通常是序数或角色,它本身不是唯一的,但用于细分父实体。例如,考虑Payment有数字的模型,InvoiceInvoices数字和序号来标识,以表示{{1}上的第1次,第2次或第3次付款}}

弱实体集必然完全参与其识别关系,但请记住,完全参与并不意味着识别关系。

另请参阅我对Is optionality (mandatory, optional) and participation (total, partial) are same?

的回答