《数据库重构》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:(加)安布勒等著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2011
  • ISBN:9787111346807
  • 页数:219 页
图书介绍:本书首次专门讨论数据库重构,向数据专业人员展示了如何运用重构、测试驱动及其他敏捷技术进行演进式数据库开发。书中通过许多实际例子,详细说明了数据库重构的过程、策略以及部署。本书前第5章介绍了演进式数据库开发的基本思想和技术,后6章详细描述了每一类重构,包括结构、数据质量、参照完整性、架构、方法的重构;另外还描述了不属于重构范畴的转换技术。书中的示例代码是用Java、Hibernate和Oracle代码编写的,代码都很简单,读者可毫无困难地将它们转换成C#、C++或Visual Basic代码。

第1章 演进式数据库开发 1

1.1 数据库重构 2

1.2 演进式数据库建模 3

1.3 数据库回归测试 5

1.4 数据库工件的配置管理 6

1.5 开发者沙盒 6

1.6 演进式数据库开发技术的障碍 7

1.7 本章小结 8

第2章 数据库重构 9

2.1 代码重构 9

2.2 数据库重构 10

2.2.1 单应用数据库环境 11

2.2.2 多应用数据库环境 12

2.2.3 保持语义 13

2.3 数据库重构的分类 14

2.4 数据库味道 15

2.5 数据库重构在开发中的位置 16

2.6 使数据库schema的重构更容易 17

2.7 本章小结 18

第3章 数据库重构过程 19

3.1 验证数据库重构是否合适 21

3.2 选择最合适的数据库重构 22

3.3 让原来的数据库schema过时 22

3.4 前测试、中测试和后测试 24

3.4.1 测试数据库schema 24

3.4.2 检验数据迁移的有效性 25

3.d.3 测试外部访问程序 25

3.5 修改数据库schema 26

3.6 迁移源数据 28

3.7 重构外部访问程序 28

3.8 运行回归测试 29

3.9 对工作进行版本控制 29

3.10 宣布此次重构 30

3.11 本章小结 30

第4章 部署到生产环境 31

4.1 在沙盒之间有效地部署 32

4.2 采用数据库重构包 33

4.3 制定部署时间窗口进度计划 34

4.4 部署系统 35

4.5 移除已过时的schema 36

d.6 本章小结 36

第5章 数据库重构策略 37

5.1 小的变更更容易进行 38

5.2 唯一地标识每一次重构 38

5.3 通过许多小变更实现一次大变更 39

5.4 建立数据库配置表 39

5.5 触发器优于视图或批量同步 40

5.6 选择一个足够长的转换期 40

5.7 简化数据库变更控制委员会策略 41

5.8 简化与其他团队的协商 41

5.9 封装对数据库的访问 41

5.10 能够容易地建立数据库环境 42

5.11 不要复制SQL 42

5.12 将数据库资产置于变更控制之下 42

5.13 注意机构中的政治斗争 43

5.14 本章小结 43

5.15 在线资源 43

第6章 结构重构 44

6.1 实现结构重构时的常见问题 44

6.2 删除列 46

6.3 删除表 49

6.4 删除视图 50

6.5 引入计算列 52

6.6 引入替代键 55

6.7 合并列 59

6.8 合并表 62

6.9 移动列 66

6.10 列改名 73

6.11 表改名 73

6.12 视图改名 76

6.13 用表取代LOB 78

6.14 取代列 82

6.15 用关联表取代一对多关系 85

6.16 用自然键取代替代键 88

6.17 拆分列 91

6.18 拆分表 95

第7章 数据质量重构 99

7.1 实现数据质量重构时的常见问题 99

7.2 增加查找表 100

7.3 采用标准代码 102

7.4 采用标准类型 104

7.5 统一主键策略 109

7.6 删除列约束 111

7.7 删除缺省值 112

7.8 删除不可空约束 114

7.9 引入列约束 116

7.10 引入通用格式 118

7.11 引入缺省值 119

7.12 使列不可空 121

7.13 移动数据 123

7.14 用属性标识取代类型代码 125

第8章 参照完整性重构 131

8.1 增加外键约束 131

8.2 为计算列增加触发器 134

8.3 删除外键约束 137

8.4 引入层叠删除 138

8.5 引入硬删除 141

8.6 引入软删除 143

8.7 为历史数据引入触发器 146

第9章 架构重构 149

9.1 增加CRUD方法 149

9.2 增加镜像表 152

9.3 增加读取方法 155

9.4 用视图封装表 157

9.5 引入计算方法 159

9.6 引入索引 161

9.7 引入只读表 163

9.8 从数据库中移出方法 167

9.9 将方法移至数据库 170

9.10 用视图取代方法 172

9.11 用方法取代视图 174

9.12 使用正式数据源 177

第10章 方法重构 180

10.1 接口变更重构 180

10.1.1 增加参数 180

10.1.2 方法参数化 181

10.1.3 删除参数 181

10.1.4 方法改名 181

10.1.5 参数重排序 182

10.1.6 用明确的方法取代参数 184

10.2 内部重构 185

10.2.1 合并条件表达式 185

10.2.2 分解条件 185

10.2.3 提取方法 186

10.2.4 引入变量 189

10.2.5 删除控制标记 190

10.2.6 消除中间人 190

10.2.7 参数改名 191

10.2.8 用表查找取代文字常量 191

10.2.9 用条件短语取代嵌套条件 192

10.2.10 拆分临时变量 193

10.2.11 替换算法 193

第11章 转换 194

11.1 插入数据 194

11.2 引入新列 197

11.3 引入新表 198

11.4 引入视图 200

11.5 更新数据 203

附录 UML数据建模表示法 206

词汇表 210

参考文献和推荐读物 214

重构和转换列表 217