数据库四元关系
Database quaternary relationship
假设我有一个数据库 table,其中定义了四个外键 (FK)。那么可以说这个 table 是四元关系的实现吗?或者还有其他原因可以创建具有四个 FK 的 table 吗?如果 FK 之一只是与查找 table 的关系,即枚举,这仍然是正确的吗?
在进行数据库建模时是否经常发现四元关系,或者这种情况是否非常罕见以至于应该首先以其他方式对关系进行建模?
数据模型中四元关系的存在定义了四种独立实体类型之间语义上重要的交互。
很容易想象,给定 table 中的任意两个外键实现语义独立的关系。例如,PERSON
可能与 EMPLOYER
有关系,而另一个人与另一个人有关系,而另一个人是他们的配偶。这不会使 PERSON
成为公司和非就业人员之间的交集。
由于任何两个外键在语义上都可能不相关,因此并非每个具有四个外键的 table 都必然是四元关系的实现。
我没有关于四元关系频率的统计数据来源,但我会说,如果它恰好是表示系统数据的最简单和最合适的方式,那么稀有性没有理由避免使用这种结构需要。
假设我有一个数据库 table,其中定义了四个外键 (FK)。那么可以说这个 table 是四元关系的实现吗?或者还有其他原因可以创建具有四个 FK 的 table 吗?如果 FK 之一只是与查找 table 的关系,即枚举,这仍然是正确的吗?
在进行数据库建模时是否经常发现四元关系,或者这种情况是否非常罕见以至于应该首先以其他方式对关系进行建模?
数据模型中四元关系的存在定义了四种独立实体类型之间语义上重要的交互。
很容易想象,给定 table 中的任意两个外键实现语义独立的关系。例如,PERSON
可能与 EMPLOYER
有关系,而另一个人与另一个人有关系,而另一个人是他们的配偶。这不会使 PERSON
成为公司和非就业人员之间的交集。
由于任何两个外键在语义上都可能不相关,因此并非每个具有四个外键的 table 都必然是四元关系的实现。
我没有关于四元关系频率的统计数据来源,但我会说,如果它恰好是表示系统数据的最简单和最合适的方式,那么稀有性没有理由避免使用这种结构需要。