【问题标题】:linking foreign Key of unknown table in a relational database在关系数据库中链接未知表的外键
【发布时间】:2017-03-10 12:40:06
【问题描述】:

我目前正在尝试建立一个关系数据库 (H2),它将 JAVA 模型的面向对象结构投影到我的数据库的关系表中。我正在使用 JDBC 和 H2 RDBMS。

所以这是我的问题: 我有一个“属性”类型的对象,它应该存储在“属性”表中。此属性的所有者可以是“功能”类型的对象,也可以是“块”类型的对象,它们都有自己的表。一个属性对象只能由一个对象(函数或块)拥有,使其成为 1:n 基数。

然而,我正在努力解决如何将所有者包含在属性表中。如果我创建一个名为“ownerID”的表并在其中存储所有者的 ID(顺便说一句,全局唯一 ID),则数据库缺少有关哪个表包含此 ID 的信息(即使它是 GUID)。

-例如,是否可以包含另一个包含 owner_ID 所属表的名称的列?

-另一个想法是包含一个“functionOwnerID”列和一个“blockOwnerID”,并将其中一个留空,但这对我来说似乎是一个相当肮脏的解决方案。

我希望我对问题的描述很清楚,在此先感谢!

最好的问候, 莫里茨

【问题讨论】:

    标签: sql database orm foreign-keys h2


    【解决方案1】:

    “例如,可以包含另一个包含 owner_ID 所属表的名称的列吗?”

    这就是多态关系的工作原理! :)

    编辑:(是的,你可以这样做,这实际上很常见)


    参考文献:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-01
      • 1970-01-01
      • 2019-07-13
      • 2016-09-24
      • 1970-01-01
      相关资源
      最近更新 更多