【问题标题】:Best Approach to Brownfield Database Development in SQL Server 2000/2005SQL Server 2000/2005 中棕地数据库开发的最佳方法
【发布时间】:2010-09-18 04:22:21
【问题描述】:

我最近接手了一个需要帮助的 SQL Server 2000 数据库的开发。我们计划很快将其升级到 SQL Server 2005。这个数据库在表上没有审计字段(CreatedBy、CreatedDate 等),没有外键,整体设计很糟糕。有六个程序使用内联 SQL 和其他旧的/坏的做法直接访问数据库。

我想清理架构和数据访问。你对一个好的起点有什么建议吗?这是一个生产数据库,它必须在改进的同时继续工作。

【问题讨论】:

    标签: sql-server database sql-server-2005 sql-server-2000 brownfield


    【解决方案1】:

    您可以更正、分析、规范化等模式,同时维护视图后面的当前模式/界面。

    在视图上使用 before trigger 可以确保应用按预期写入和读取。

    通过这种方式,您可以开始将客户端应用迁移到新架构,同时允许当前应用运行。您的数据在新架构中更安全(DRI、FK、DF、CK 等)。

    对于每月运行一次且没人知道的意外电子表格,这也使界面合同保持一致,这对于月末报告至关重要...

    【讨论】:

      【解决方案2】:

      您可能必须从访问数据库的应用程序开始。您很可能会发现对数据库模式的任何更改都会破坏其他应用程序。我发现的最常见的罪魁祸首是 select * sql 然后根据列位置访问数据。如果您在最后一列之前插入一列,则该代码将中断。此外,除非您为新列使用默认值,否则任何插入命令都会失败。

      最好的办法是了解这些外部程序是如何使用数据库的,然后设计一个新的数据库,然后一次将每个程序迁移到新的数据库中。

      在生产过程中更改此数据库几乎肯定会破坏其他应用程序。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-11
        • 2012-08-06
        • 2011-05-10
        • 1970-01-01
        • 2010-09-18
        • 1970-01-01
        • 2010-09-17
        相关资源
        最近更新 更多