3、数据库重构

  数据库重构是一种数据库实现技术,与代码重构相似,对数据库Schema进行重构,使得在上面增加东西变得容易。

  上图提供了一些关键开发活动的高层视图,这些活动发生在涉及对象和关系数据库技术的现代项目中。需要在这些活动之间来回迭代。

  数据库重构是演进式数据库开发的一个重要组成部分。还需要采用演进/敏捷的方式进行数据建模。

  耦合越厉害,越难重构。代码重构、数据库重构均是如此。

  简单的场景:单应用数据库。因为数据库Schema只与它本身和一个应用相耦合。

  而在多应用的数据库架构中,你的数据库Schema可能与应用源码、持久框架、ORM工具、其它数据库(提供复制、数据抽取/加载等)、数据文件Schema、测试代码,甚至数据库自身等耦合在一起。

  减少涉及数据库的耦合的一种有效方式是封装对数据库的访问。让外部程序通过持久层来访问数据库,可以实现对数据库访问的封装。

  持久层有多种实现方式:

  (1)通过数据访问对象DAO,它实现了所需的SQL代码;

  (2)通过框架;

  (3)通过存储过程;

  (4)通过Web服务。

  永远也不可能把耦合降到0,但肯定可以把它降到能管理的程度。