将外键构建到旧数据库的提示

时间:2010-09-17 16:00:54

标签: database foreign-keys legacy

我有一个没有任何外键的数据库。我做了一些检查,并且有一些公平的孤立记录。

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

除了随着时间的推移每一张桌子都在拖网?

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

任何帮助建议表示赞赏。

2 个答案:

答案 0 :(得分:2)

我认为你的意思是“没有任何外键约束”......如果没有外键,你根本不知道哪些记录匹配。

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

答案 1 :(得分:0)

您可以从最大到最小的表工作,也可以从数据库中性能最差的区域开始。添加密钥应该会显着提高性能,但您必须先解决孤立行。您可能需要来自业务的输入。期待他们对正在发生的事情感到非常困惑。