数据库重构探讨系列(2)

发表于:2012-11-02 10:07

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:chszs    来源:51Testing软件测试网采编

分享:

  接上一篇文章,《数据库重构探讨系列(1)》(见http://www.51testing.com/html/75/n-828475.html)。

  4、数据库重构实例

  “余额Balance”列实际上描述的是“账户Account”实体,而不是“顾客Customer”实体。

  因此如图所示,需要把“余额Balance”列从“顾客Customer”表移出,加入到“账户Account”表中。

  重构的迭代活动如下:

  (1)验证数据库重构是否合适;

  这个重构有意义吗?变更真的需要现在进行吗?值得这样去做吗?

  (2)选择最合适的数据库重构技术;

  真正需要重构的是“使用正式数据源”

  (3)让原来的数据库Schema过时;

  需要一个转换期,即“过时期”

  (4)前测试、中测试和后测试;

  要能够轻易验证数据库在变更之后仍能与应用一起工作,就有信心对数据库Schema进行变更,做到这一点的唯一途径就是采用测试驱动开发TDD的方式。

  TDD方式中,编写一个测试,编写足够代码,通常是使用数据定义语言DDL,来完成该测试。继续以这种方式工作,直到数据库重构完全实现。

  (4.1)测试数据库Schema;

  数据库重构会影响数据库Schema,故需编写面向数据库的测试。可以从许多方面来检查数据库Schema:

  ● 存储过程和触发器

  ● 参照完整性RI

  ● 视图定义

  ● 缺省值

  ● 数据不变式

  数据库测试工具:管理测试数据的工具DBUnit;测试存储过程的工具SQLUnit;还有针对数据测试的商业工具。

31/3123>
100家互联网大公司java笔试题汇总,填问卷领取~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号