弱实体和一对一或多对多关系

Icy*_*now 3 database-design sql-server

在实体关系模型中,弱实体的支持(或标识)关系可以是多对多或一对一而不是多对一吗?

假设我有一个客户实体 (C)、一个视频实体 (V) 和一个弱实体预订 (R)。C - R 具有一对多关系,并且它是 R 的支持关系。但是,在 V - R 之间,相同的一对多关系没有意义,因为视频不应出现在两个不同的保留中。

那么我想知道一对一的关系是否可以成为弱实体的支持关系?还是应该是普通的一对一而不是辅助?

Joe*_*own 5

如果您经营一家视频租赁店,那么您的孩子是否吃饭很大程度上取决于视频出现在尽可能多的预订中。

在您的示例中,是一个弱实体,除了进一步的属性(可能是 )之外,它还RESERVATION依赖于 FK toCUSTOMER和 FK to来组成其主键。VIDEOdate

M:N 关系不可能支持弱实体(尽管解析 M:N 关系的交集表可以是弱实体)。这是因为支持关系需要针对特定​​的实体对象。一组实体对象无法识别关系代数中的某些内容。

1:1 关系有可能支持弱实体,尽管这种情况在“野外”很少见。我可以想象它会出现在通常是 1:M 的情况下,但有一条业务规则限制一次只能有一个子项。