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