【发布时间】:2010-10-14 18:33:09
【问题描述】:
我继承的当前项目主要围绕一个未规范化的表。有一些标准化的尝试,但没有设置必要的限制。
示例:在 Project 表中,有一个客户名称(以及其他值),还有一个仅包含客户名称的客户表 [任何地方都没有键]。客户表仅用作在添加新项目时为用户提供的值池。客户表上没有主键或外键。
诸如此类的“设计模式”在数据库的当前状态和使用它的应用程序中很常见。我可以使用的工具是 SQL Server 2005、SQL Server Management Studio 和 Visual Studio 2008。我最初的方法是手动确定哪些信息需要规范化并运行 Select INTO 查询。有没有比逐个案例更好的方法,或者无论如何这可以自动化?
编辑: 此外,我发现“工作订单号”不是 IDENTITY(自动编号,唯一)字段,它们是按顺序生成的,并且对于每个工作订单都是唯一的。现有编号中也有一些空白,但都是独一无二的。编写存储过程以在迁移之前生成虚拟行的最佳方法是什么?
【问题讨论】:
-
你是这个项目的唯一开发者,还是你必须担心破坏其他开发者和客户访问的东西?
-
我是唯一的开发者。这家公司没有任何认真的开发人员(仅我的部门每年就有 1000 万)。只有从事此工作的人可能甚至不知道 RDBMS 是什么。
标签: sql sql-server refactoring rdbms normalization