我有一个RDBMS数据库,需要将新表中的列与其他多个不能更改其架构的现有表相关联。
新表看起来像这样
UUID(pk) PartId(pk) Somecolumn1 SomeColumn2
asdf56das 0001 val1 val2
u44ighhuh 0002 val3 val4
u44ighhuh 0003 val5 val6
我想将UUID列与其他表中的数据相关联。
一种方法是将XML列添加到此新表中,该列会将关联存储为
<tablename><pkcolumn1>value</pkcolumn1>
<pkcolumn2>value2</pkcolumn2>...........<pkcolumnN>valueN</pkcolumnN>
</tablename>
使用这种方法,在创建和解析XML时会涉及一些性能成本。
另一种方法是拥有一个新的“映射表”,它将新表与我要与之建立关联的另一个现有表进行映射。
还有其他方法可以解决这个问题吗?
答案 0 :(得分:0)
外键可以具有多个列。因此,没有理由您也不能只用于对方表。
1)new_table上的外键到other_table。
或者
2)一个带有外键的新链接表,该外键同时指向new_table和other_table
使用链接表,您可以通过声明适当的唯一约束来建立一对多,多对一或多对多的关系。