我继承的当前项目主要围绕一个未规范化的表。有一些标准化的尝试,但没有设置必要的限制。
示例:在 Project 表中,有一个客户名称(以及其他值),还有一个客户表,其中仅包含客户名称 [任何地方都没有键]。客户表仅用作在添加新项目时为用户提供的值池。客户表上没有主键或外键。
诸如此类的“设计模式”在数据库的当前状态和使用它的应用程序中很常见。我可以使用的工具是 SQL Server 2005、SQL Server Management Studio 和 Visual Studio 2008。我最初的方法是手动确定哪些信息需要规范化并运行 Select INTO 查询。有没有比个案更好的方法,或者无论如何这可以自动化?
编辑: 另外,我发现“工作订单号”不是 IDENTITY(自动编号,唯一)字段,它们是按顺序生成的,并且对于每个工作订单都是唯一的。现有编号中也有一些空白,但都是独一无二的。这是编写存储过程以在迁移之前生成虚拟行的最佳方法吗?