Sql 链接关系数据库中未知表的外键
我目前正在尝试建立一个关系数据库(H2),将JAVA模型的面向对象结构投影到数据库的关系表中。我正在使用JDBC和H2 RDBMS 这就是我的问题: 我有一个类型为“attribute”的对象,应该存储在表“attribute”中。此属性的所有者可以是“Function”类型的对象,也可以是“Block”类型的对象,它们都有自己的表。一个属性对象只能由一个对象(函数或块)拥有,使其成为1:n基数 但是,我正在努力解决如何将所有者包括在属性表中的问题。如果我创建一个名为“ownerID”的表并在其中存储所有者的ID(顺便说一句,全局唯一的ID),那么数据库将丢失关于哪个表包含此ID的信息(即使它是GUID) -例如,可以包含另一列,其中包含所有者ID所属的表的名称吗 -另一个想法是包含一个“functionOwnerID”列和一个“blockOwnerID”,并将其中一个留空,但这对我来说似乎是一个相当肮脏的解决方案 我希望我对问题的描述是清楚的,并提前感谢 致以最良好的祝愿, Moritz“例如,可以包含另一列,其中包含所有者ID所属的表的名称吗?” 这就是多态关系的工作原理!:) 编辑:(是的,你可以这样做,事实上这很常见)Sql 链接关系数据库中未知表的外键,sql,database,orm,foreign-keys,h2,Sql,Database,Orm,Foreign Keys,H2,我目前正在尝试建立一个关系数据库(H2),将JAVA模型的面向对象结构投影到数据库的关系表中。我正在使用JDBC和H2 RDBMS 这就是我的问题: 我有一个类型为“attribute”的对象,应该存储在表“attribute”中。此属性的所有者可以是“Function”类型的对象,也可以是“Block”类型的对象,它们都有自己的表。一个属性对象只能由一个对象(函数或块)拥有,使其成为1:n基数 但是,我正在努力解决如何将所有者包括在属性表中的问题。如果我创建一个名为“ownerID”的表并在其
参考资料:
- (Rails/ActiveRecord文档):
- (Laravel/雄辩的文档):