0

预订由单个客户进行,并且可以进行多个预订。.a 预订中的每个房间可以由一两个客户占用。一个客户可以占用几个。房间。预订中的餐点通过 tableNumber 属性分配给表。属性组合名称和电话号码是唯一的,属性房间号码是唯一的。

唯一键是否意味着它的主键?这是否意味着名称和电话号码都是主键?

在此处输入图像描述

附加问题:

同一个键可以是表中的外键和主键吗?

4

2 回答 2

4

唯一键是否意味着它的主键?

不。首先,每个键都是唯一的,因此说“唯一键”而不是“键”是多余的。同一张表中的所有键在逻辑上是等价的,但出于方便和历史原因,我们挑出其中一个并将其称为“主键”,而将其余键称为“备用键”。

这是否意味着名称和电话号码都是主键?

不,这里没有两个键(更不用说两个键了)。只有一个复合(又名“复合”,“复合”)键,由两个字段组成,也恰好是主键。

这是否是一把钥匙是另一回事......

于 2013-05-19T16:23:56.090 回答
0

不,唯一属性仅指该属性具有唯一值,不会在表的任何其他行中重复。它可以是主键,但您必须在关系设计中指明它。

从这里开始的一些重要点

  • 一张表最多可以有一个主键,但可以有多个唯一键。
  • 主键是唯一指定行的列的组合。
  • 一个区别是主键具有隐式 NOT NULL 约束,而唯一键则没有。因此,唯一键列中的值可能是也可能不是 NULL(实际上这样的列可能最多包含一个 NULL 字段。因为 NULL 不是实际值(它表示缺少值)
于 2013-05-19T12:26:45.497 回答