我尝试了以下方法
但是在这两种方法中,我都陷入了一种极端情况,即其中一个表在连接其依赖表之前就被连接了。
在下面的模式依赖图中,
每个箭头都指向一个表,该表具有对给定表的外键引用,例如,表羊有2个外键,一个用于Pet,一个用于牲畜。
我想将所有表合并到非规范化的单个视图中。
我的上述两种方法在这种情况下会失败,因为使用拓扑排序,我的脚本将在尝试加入Table Chicken之前尝试将Table Bird与table Animal联接,因此会导致错误。 / p>
使用BFS方法,我可以轻松地以正确的顺序遍历图形的前半部分,但是当我需要遍历后半部分(表Bird和Eagle)时会出现问题,之前没有简单的方法来选择Bird表鹰表。
我计划尝试的一种方法是使上述架构为无向的,在这种情况下,我将能够按要求的顺序遍历。但我认为在某些极端情况下,这种方法也可能会失败。
有没有已知的方法可以做到这一点?否则,应该是一个好的方法。
我正在使用MSSQL,并且当前的脚本在python中。