数据库重构_数据库教程
资源名称:数据库重构
内容简介:
本书首次专门讨论数据库重构,向数据专业人员展示了如何运用重构、测试驱动及其他敏捷技术进行演进式数据库开发。书中通过许多实际例子,详细说明了数据库重构的过程、策略以及部署。
本书前5章介绍了演进式数据库开发的基本思想和技术,后6章详细描述了每一类重构,包括结构、数据质量、参照完整性、架构、方法的重构;另外还描述了不属于重构范畴的转换技术。
书中的示例代码是用java、hibernate和oracle代码编写的,代码都很简单,读者可以毫无困难地将它们转换成c#、c++或visualbasic代码。
资源目录:
对本书的赞誉
序
前言
致谢
第1章演进式数据库开发
1.1数据库重构
1.2演进式数据库建模
1.3数据库回归测试
1.4数据库工件的配置管理
1.5开发者沙盒
1.6演进式数据库开发技术的障碍
1.7本章小结
第2章数据库重构
2.1代码重构
2.2数据库重构
2.2.1单应用数据库环境
2.2.2多应用数据库环境
2.2.3保持语义
2.3数据库重构的分类
2.4数据库味道
2.5数据库重构在开发中的位置
2.6使数据库schema的重构更容易
2.7本章小结
第3章数据库重构过程
3.1验证数据库重构是否合适
3.2选择最合适的数据库重构
3.3让原来的数据库schema过时
3.4前测试、中测试和后测试
3.4.1测试数据库schema
3.4.2检验数据迁移的有效性
3.4.3测试外部访问程序
3.5修改数据库schema
3.6迁移源数据
3.7重构外部访问程序
3.8运行回归测试
3.9对工作进行版本控制
3.10宣布此次重构
3.11本章小结
第4章部署到生产环境
4.1在沙盒之间有效地部署
4.2采用数据库重构包
4.3制定部署时间窗口进度计划
4.4部署系统
4.5移除已过时的schema
4.6本章小结
第5章数据库重构策略
5.1小的变更更容易进行
5.2唯一地标识每一次重构
5.3通过许多小变更实现一次大变更
5.4建立数据库配置表
5.5触发器优于视图或批量同步
5.6选择一个足够长的转换期
5.7简化数据库变更控制委员会策略
5.8简化与其他团队的协商
5.9封装对数据库的访问
5.10能够容易地建立数据库环境
5.11不要复制sql
5.12将数据库资产置于变更控制之下
5.13注意机构中的政治斗争
5.14本章小结
5.15在线资源
第6章结构重构
6.1实现结构重构时的常见问题
6.2删除列
6.3删除表
6.4删除视图
6.5引入计算列
6.6引入替代键
6.7合并列
6.8合并表
6.9移动列
6.10列改名
6.11表改名
6.12视图改名
6.13用表取代lob
6.14取代列
6.15用关联表取代一对多关系
6.16用自然键取代替代键
6.17拆分列
6.18拆分表
第7章数据质量重构
7.1实现数据质量重构时的常见问题
7.2增加查找表
7.3采用标准代码
7.4采用标准类型
7.5统一主键策略
7.6删除列约束
7.7删除缺省值
7.8删除不可空约束
7.9引入列约束
7.10引入通用格式
7.11引入缺省值
7.12使列不可空
7.13移动数据
7.14用属性标识取代类型代码
第8章参照完整性重构
8.1增加外键约束
8.2为计算列增加触发器
8.3删除外键约束
8.4引入层叠删除
8.5引入硬删除
8.6引入软删除
8.7为历史数据引入触发器
第9章架构重构
9.1增加crud方法
9.2增加镜像表
9.3增加读取方法
9.4用视图封装表
9.5引入计算方法
9.6引入索引
9.7引入只读表
9.8从数据库中移出方法
9.9将方法移至数据库
9.10用视图取代方法
9.11用方法取代视图
9.12使用正式数据源
第10章方法重构
10.1接口变更重构
10.1.1增加参数
10.1.2方法参数化
10.1.3删除参数
10.1.4方法改名
10.1.5参数重排序
10.1.6用明确的方法取代参数
10.2内部重构
10.2.1合并条件表达式
10.2.2分解条件
10.2.3提取方法
10.2.4引入变量
10.2.5删除控制标记
10.2.6消除中间人
10.2.7参数改名
10.2.8用表查找取代文字常量
10.2.9用条件短语取代嵌套条件
10.2.10拆分临时变量
10.2.11替换算法
第11章转换
11.1插入数据
11.2引入新列
11.3引入新表
11.4引入视图
11.5更新数据
附录uml数据建模表示法
词汇表
参考文献和推荐读物
重构和转换列表
资源截图: