ER /数据建模(继承类型之间的链接

时间:2011-07-04 12:36:57

标签: database-design data-structures entity-relationship data-modeling

是否有可能(或任何原因是非法的)有这样的事情:

isa with foreign key relationship

这基本上是一个与自身具有外键关系的ISA类。

这个想法是输出消息只是一个消息。但是每条消息(或者称之为输入消息)都有一条相关的输出消息。这是对外键关系的需要。

这是好的,如果不是为什么不呢?或者有更好的方法对此进行建模吗?

日Thnx。

1 个答案:

答案 0 :(得分:1)

“输出消息”实际上是“消息”的特化。如果包含其他类型的消息,例如“输入消息”,则案例将变得更有趣。 “isa”与多种替代方案的关系很适合使用类继承的面向对象描述。

设计关系有三种主要方式可以模仿类继承提供的模式。有单个表,在所有属性中插入NULL,这些属性与手头的情况无关。有类表继承模型,其中每个子类都有一个自己的表,它使用密钥和附加列的副本“扩展”(使用松散的单词)主超类表。第三种方法是妥协。

密钥的副本既是PK又是引用超类表的FK。将超类表中的值传播到子类表是以编程方式完成的。基于简单连接的视图足以为您提供有关给定子类项的所有数据,无论此数据是来自supeclass表还是子类表。