所以我在思考涉及将对象序列化为关系数据库的某些问题。
假设你有 N 个不同的对象,它们都实现了某个接口(一个有向图接口。它们提供诸如 getIncomingNodes() 、 getOutgoingNodes() 之类的方法)。
如果每个这样的对象在关系数据库中都有一个对应的表,那么将这种有向图序列化到关系数据库的最佳实践是什么?
假设 N 很小,(在我的例子中,N=3)我将所有可能的链接分解为一个单独的表。例如,从对象 x 指向 y 的链接表将类似于:
tbl_links_X_Y {
int X_id
int Y_id
}
问题是,你得到 N^2 个这样的表 - 效率不是很高,并且将来可能难以扩展到 N+1 个对象。
有什么模式可以解决这个问题吗?(即使它不涉及关系数据库,我也很乐意听到......)
谢谢!