标签: foreign-key

从脚本中的 JOINS 发现预期的外键

我正在继承一个有 400 个表和仅注册 150 个外键约束的数据库。知道我对应用程序做了什么并查看了表格列,很容易说应该还有更多。

如果我开始添加丢失的 FK,我担心当前的应用程序软件会崩溃,因为开发人员可能已经开始依赖这种“自由”,但是解决问题的第一步是提出丢失的 FK 的列表,因此我们可以作为一个团队来评估他们。

更糟糕的是,引用列不共享命名约定。

这些关系被非正式地编码到数百个即席查询和存储过程中,所以我希望以编程方式解析这些文件,以寻找实际表(但不是表变量等)之间的联接。

我在这种方法中预见的挑战是:换行符、可选别名和表提示、别名解析。

  • 有什么更好的想法吗?(除了放弃)
  • 是否有任何预先构建的工具可以解决这个问题?
  • 我不认为正则表达式可以处理这个。你不同意吗?
  • SQL 解析器?我尝试使用 Microsoft.SqlServer.Management.SqlParser.Parser 但暴露的只是词法分析器 - 无法从中获得 AST - 所有这些都是内部的。

parsing sql-server-2005 foreign-key

5
推荐指数
1
解决办法
132
查看次数

标签 统计

foreign-key ×1

parsing ×1

sql-server-2005 ×1