newasp home
用户管理  |  用户注册
首 页 ┆ 文章中心 ┆ 下载中心 ┆ 图片中心 ┆ 社区论坛 ┆ 客户留言
  • 站点首页
  • 电脑网络技术
  • 图形图像技术
  • 网络应用
  • 多媒体技术
  • 电脑入门初步
  • 网络推广技术
  • 数据库设计
  • Linux技术
  • 网络动态
用户名: 密码:
当前位置:PC我爱社区 → 文章中心 → 数据库设计 → 文章内容

重构数据库:演进的数据库设计

减小字体 增大字体 作者:网络  来源:转载  发布时间:2008-5-11 2:49:36

COOCO视频会议实现沟通创造价值!    影视制作、广告摄影、3D制作、企业形象策划
文红论文网提供各类论文发表和翻译 像素科技--全力推出主机租用特惠行动!

    RD:对于这种方法我突然想到两个问题:首先,存在数据重复的问题。从某种意义上说,来自老系统的数据将需要移植–合并入–新系统中的数据,而新系统同时也在积累新的数据。某些老系统中的数据可能已经失效。

   Scott:在我们的书中我们显示了如何解决这个问题,因此这不是个问题。每一个重构示例包括实施重构的代码,包含数据移植代码,还有如何移除老的模式和保持数据同步的支持代码。

   RD:第二个问题:如果你针对每一个新版本进行一个升级模式,而每隔几个星期就会有新版本发布的话,随着时间的发展,会不会堆积很多不同的模式?跟踪每一个应用程序或每个应用程序的每一个版本所使用的模式,这对维护来说可能是一件非常麻烦的事情。

   Scott:实际上这不是什么问题。如果你非常频繁的发布新版本的话,每一个版本的中修改肯定非常小。如果一个重构覆盖了前一个重构,例如你将字段X先修改为Y,后又修改为Z,你可以轻松的修改你的过度期方案来反映这一点。尽管这种方法不完美,但是如果你能保持敏捷的话,也可以降低它的复杂性。在书中我们还讨论了采取敏捷模型驱动(AMDD)方法,它可以降低重大重构所带来的风险。

   现有的数据库开发工具也会具有重大的完善。在未来几年中,随着演进的数据库设计(EDD)的普及,我们会更好的工具在商业和开源领域中出现。

   正如我前面所说的,数据库重构是技术上的一个尝试,真正的挑战在文化的障碍上。数年前,数据库界认为演进的数据库设计实现起来非常困难,现在已经开始努力去了解如何可以换实现它。我们还需要做更多的工作来让现有的数据库从业人士认同它,并克服长期以来一直存在的在数据库界“思想领袖”指导下的许多错误看法。

   RD:当应用到一个实际系统中的时候,在你的书中描述的一些重构方法可能并不适用。举个例子来说,“Introduce Common Format”表示对一个现有表字段中的所有数值应用一个统一的格式,它的目的是简化外部编程代码。对于重构一个实际系统中的这些问题,难道不是面向对象数据访问层更适合来做的事情吗?

   Scott:为了实施这种重构,你需要选择一个已经被这个字段所支持的格式。例如,如果有7种不同的格式,选择这些格式中的一种,因为所有的访问系统必须已经能够处理它们。下一步是清空所有已有的数值,将它们使用共同的格式。你还需要准备好相应的编程准备,例如数据库触发器,它可以确保对这个字段的任何更新能够以同一种格式完成。在过渡期,你应该让这个触发器保持工作;直到访问系统被更新到以共同的格式来写到字段中。

   对一个数据库的压缩访问无疑是有好处的,因为它减少了对你的数据库模式的耦合,这也是我们在书中讨论的一部分内容。但是,假若某些系统不经过你的公共访问层,会发生什么?如果你有一些COBOL系统,一些C++系统,一些Java系统和一些APL系统,它们访问相同的数据库,会发生什么呢?直觉告诉我它们不会使用相同的面向对象数据访问层。

   RD:你的书中提到的许多重构方法都涉及到应用触发器来确保数据一致性。那么,数据库重构有别于代码重构,在某种意义上说,代码修改是“绝对的”,替代以前运行的代码,然而数据库重构积累下很多触发器。你认为这是一个问题吗?

   Scott:这就是为什么需要过渡期的原因。在过渡期结束的时候,你需要移除老的模式和任何支持性的触发器。这样的话,这些相关补丁只存在一段时间。如果你不移除它们的话,将会发生问题。通过脚本来清理这些运行的触发器是非常简单的,为了方便我们的读者,我们在书中为每一个重构都提供了这种脚本的示例。

   RD:当然,还有一种风险,所有这些触发器将可能对系统带来影响,例如使数据库变慢。

上一页  [1] [2] [3]  下一页

[] [返回上一页] [打 印]
  • ·上一篇文章:初学者入门:FreeBSD服务器的安装与优化
  • ·下一篇文章:SQL SERVER 2005同步复制技术的应用

文章评论评论内容只代表网友观点,与本站立场无关!

用户名: ! 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容: !

         (注“!”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码

频道栏目导航

  • 电脑网络技术
  • 图形图像技术
  • 网络应用
  • 多媒体技术
  • 电脑入门初步
  • 网络推广技术
  • 数据库设计
  • Linux技术
  • 网络动态
  • 更多分类

本类热门阅览

  • · Windows下如何用vc直接编译连接DDK...
  • · 如何建立SQL Server 2005数据库邮件...
  • · C# 怎样实现远程连接SQL Server200...
  • · SQL 2005 XML最佳实施策略用法
  • · SQL Server2005高可用性方面的不足...
  • · SQL Server2005数据库连接中常见问...
  • · 在SQL Server 2005中解决死锁问题
  • · Sql server 2005密码安全追踪与存储...
  • · VS 2008和老的VS 2005附件包的兼容...
  • · sql 2000与sql 2005相互转移的问题...
  • · Windows操作系统下JSP程序开发环境...
  • · 专家预言:PHP将比Java更受开发人员...

相关文章

  • ·重构数据库:演进的数据库设计
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 管理登陆
网站备案号:沪ICP备06047794号
本站的各类网络聊天工具,系统工具,媒体工具,绿色软件如有侵犯你的版权,请指出,本站将立即改正。
建议您使用1024*768分辨率浏览下载本站的免费软件(绿色软件)资源
软件站版权所有:PC我爱社区 站长:子昀 点击这里和我联系