这是什么意思了一个一对多链接关系是独一无二的?(What does it mean for a On

2019-10-16 21:01发布

我药物在LINQ的两个表之间的线对象关系(O / R)映射器:

 Order                  Customer
--------------           ---------------
| OrderID    |           | CustomerID  |
| CustomerID |♦---------˃| ...         |
|            |           |             |
--------------           ---------------

注:也许这是

 Order                    Customer
--------------           ---------------
| OrderID    |           | CustomerID  |
| CustomerID |˂---------♦| ...         |
| ...        |           |             |
--------------           ---------------

我不确定; 它让我拖两种方式。

  • 第一个问题,什么是箭头,什么是钻石?

假设第二图中,的基数 Association被创建为OneToMany 。 这是有道理的,因为:

  • 一个客户
  • 许多订单

但是,让我困惑的是Association.Unique (布尔)属性。 它默认为false 。 这是有道理的,因为它是一个一对多的关联。 Order.CustomerID不能是唯一的,否则它不会是一个一对多的关联,这将是OneToOne。

但后来我被允许到一对多的独特属性更改为true。 这是没有意义的,所以我的结论是Unique内斯并不适用于Order.CustomerID ,而是要Customer.CustomerID 。 但图已经表明Customer.CustomerID主键 。 当然,这是独一无二的,它是一个主键。

Unique属性未设置。 这是没有意义的,所以我的结论是Unique内斯并不意味着任何一个表。

  • 第二个问题,有什么Unique是什么意思?

    指定的外国目标列是否具有唯一性约束

  • 第三个问题:什么是家长孩子

假设,再次,第二图:

Customers.CustomerID ♦------------> Orders.CustomerID

我把Customers表是父。 这是谁拥有这意味着什么是客户的一个。 你想改变客户的东西,你走父。

同时,子Orders表走来,想引用一个Customer

     Parent(diamond)                     Child(arrowhead)
====================                     =================
Customers.CustomerID (PK) ♦------------> Orders.CustomerID (FK)

除了当我看到联想的父母子女的属性:

Child属性

  • NameOrders

parent属性

  • NameCustomer

他们想在“孩子”叫创建属性Orders 。 不不不。 孩子订单。 而且,他们希望将属性添加到称为父Customer 。 不不不。 父客户。

这意味着我必须有它向后,且术语父母孩子是我想象的完全相反:

      Child(diamond)                     Parent(arrowhead)
====================                     =================
Customers.CustomerID (PK) ♦------------> Orders.CustomerID (FK)

而到这个时候,我希望把我的头出来; 而是花35分钟创作#2问题; 而不是继续在我的电脑尖叫。

救命。

Answer 1:

对于问题2 - 独特性质可能意味着关系是OneToOne关系。

甚至直接在SQL数据库中没有具体的OneToOne关系。 而是根本就其中一个表中的密钥可以导出到另一个表的外键。 作为这样一个外键关系始终是一对多。 上包含导出键的表使用额外的约束,该关系可以由事实上的一比一。 但这样做并没有改变外键关系,而是简单地适用于外键表中的数据的附加条件。

关于问题3:属性名称意味着子对象(订单)将有一个属性叫做客户,可用于获取父对象的实例。 和父对象有一个属性调用命令,这些命令可以用来获取为客户的孩子。



文章来源: What does it mean for a One-to-many Link relation to be Unique?