是否有可能(或任何原因是非法的)有这样的事情:
这基本上是一个与自身具有外键关系的ISA类。
这个想法是输出消息只是一个消息。但是每条消息(或者称之为输入消息)都有一条相关的输出消息。这是对外键关系的需要。
这是好的,如果不是为什么不呢?或者有更好的方法对此进行建模吗?
日Thnx。
答案 0 :(得分:1)
“输出消息”实际上是“消息”的特化。如果包含其他类型的消息,例如“输入消息”,则案例将变得更有趣。 “isa”与多种替代方案的关系很适合使用类继承的面向对象描述。
设计关系有三种主要方式可以模仿类继承提供的模式。有单个表,在所有属性中插入NULL,这些属性与手头的情况无关。有类表继承模型,其中每个子类都有一个自己的表,它使用密钥和附加列的副本“扩展”(使用松散的单词)主超类表。第三种方法是妥协。
密钥的副本既是PK又是引用超类表的FK。将超类表中的值传播到子类表是以编程方式完成的。基于简单连接的视图足以为您提供有关给定子类项的所有数据,无论此数据是来自supeclass表还是子类表。