Database 两个弱实体之间有可能相互关联吗?

Database 两个弱实体之间有可能相互关联吗?,database,entity-relationship,Database,Entity Relationship,在ER图中,两个弱实体是否可能相互关联?如果可能,如何唯一地识别其中的记录?这当然是可能的。考虑下面的ER图,其中发票由线组成,并且收据被分解成对应的线,这些线被分配给发票线。可以将多个收单行分配给同一发票行。这也许有点做作,但可以作为一个例子 InvoiceLine实体集由(InvoiceNumber,LineNumber)标识。类似地,ReceiptLine实体集由(ReceiptNumber,LineNumber)标识 任何实体集之间关系的行列式是多个角色中实体集行列式的组合。实体集是弱

在ER图中,两个弱实体是否可能相互关联?如果可能,如何唯一地识别其中的记录?

这当然是可能的。考虑下面的ER图,其中发票由线组成,并且收据被分解成对应的线,这些线被分配给发票线。可以将多个收单行分配给同一发票行。这也许有点做作,但可以作为一个例子

InvoiceLine
实体集由
(InvoiceNumber,LineNumber)
标识。类似地,
ReceiptLine
实体集由
(ReceiptNumber,LineNumber)
标识

任何实体集之间关系的行列式是多个角色中实体集行列式的组合。实体集是弱的还是规则的,或者关系中是否涉及两个或多个实体集,都无关紧要。在1:1(或1:1:1等)关系的情况下,所涉及的任何实体集都可以用作行列式

在我们的示例中,
ReceiptLine
是多角色中设置的唯一实体(由
Paid
关系菱形旁边的N表示)。这意味着关系由
ReceiptLine
的行列式决定,即
(ReceiptNumber,LineNumber)

如果我们将ER图转换为表格模型,我们将得到以下结果:

我直接翻译它是为了帮助您查看图表之间的对应关系,但实际上,我们可以将
付费
关系反规范化为
收单行
实体关系,以获得更简单的物理模型。这只能用于具有单个确定实体集的关系,因此首先了解一般方法很重要


请举例说明您在这里试图实现的目标。例如,公司数据库中的“员工子女”表是一个薄弱实体。这取决于“雇员”表。是否可以将另一个弱实体与“员工子女”表关联?