2010-09-17 53 views
1

我有一个没有任何外键的数据库。我已经做了一些检查,并且有一些孤儿记录很少。将外键构建到遗留数据库的技巧

它是一个相当大的数据库,500个+表,我期待在建立外键回的可能性。

除了随着时间的推移,虽然每一个表拖网?

以前有没有人经历过这个过程,也许可以提供一些见解或提示,如何使过程变得更容易。

任何帮助建议表示赞赏。

回答

1

我假设你的意思是“没有任何外键限制”......如果没有外键,你根本不知道哪些记录匹配。

主键和外键字段的名称是否相同?如在PK表中有一个“CustomerId”字段和FK表也有一个“CustomerId”字段?如果是这样,您可以查询列属性(可能使用INFORMATION_SCHEMA,您没有提到RDBMS)来找出某些隐含的关系。只要查询所有具有名为“CustomerId”的字段的表不是PK,并且有一个很好的(但不是确定的)赌注,那些表应该对Customer表具有FK约束。你甚至可以使用查询的输出来生成DDL来创建约束。

+0

这在多数情况下密钥确实匹配并不是一个坏主意。是的,我的意思是“约束” – 2010-09-17 16:19:30

0

您可以从最大到最小的表格工作,也可以从数据库的最低性能区域开始。添加密钥应该会显着提高你的性能,但你必须先解决孤行问题。您可能需要业务方面的意见。期待他们对发生的事情感到困惑。