《现代软件工程专业系列教材 数据库系统设计与开发》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:朱扬勇编著
  • 出 版 社:北京:清华大学出版社;北京交通大学出版社
  • 出版年份:2007
  • ISBN:9787811231311
  • 页数:244 页
图书介绍:本书全面地介绍当前数据库系统开发的各个方面,内容包括数据库的基本知识、数据库设计的基本原理、数据库概念设计的ER方法和语义对象方法、关系数据库规范化原理和方法、数据持久化技术、数据库保护技术、数据库性能调优、遗留数据库重建技术等等。本书还介绍了数据资源开发利用技术和数据库系统的开发方法和项目管理等内容。

第1章 数据库系统基础知识 1

1.1 数据库概念 1

1.1.1 从文件系统到数据库系统 1

1.1.2 数据库系统 2

1.1.3 数据模型 3

1.1.4 数据库系统的体系结构 4

1.1.5 与数据库相关的人员 4

1.2 数据库发展 5

1.2.1 层次数据库和网状数据库 5

1.2.2 关系数据库 6

1.2.3 阻抗不匹配与后关系数据库 7

1.2.4 数据库现状 7

1.3 数据库分类 10

1.3.1 根据数据模型分类 10

1.3.2 根据体系结构分类 10

1.3.3 根据数据类型分类 11

1.4 数据库系统类型 12

1.5 数据建模与数据库系统开发 13

1.5.1 人与计算机的交流 13

1.5.2 建模的困难与方法的局限 14

1.5.3 数据库系统开发内容 15

1.5.4 数据建模与软件工程 15

1.6 运行数据库的计算机系统 16

1.6.1 集中式系统 16

1.6.2 文件服务器系统 17

1.6.3 分布式系统 18

1.6.4 客户-服务器数据库系统 18

1.6.5 浏览器系统 20

1.6.6 说明 21

1.7 小结 21

思考题 21

第2章 设计原理 23

2.1 为什么要进行数据库设计 23

2.1.1 现实数据表格的转换 23

2.1.2 数据操作的异常现象 24

2.1.3 关系表的意义 25

2.1.4 错误的数据库 26

2.1.5 对象持久化 26

2.2 数据库概念设计 27

2.2.1 为什么要进行概念设计 27

2.2.2 ER方法 28

2.2.3 语义对象方法 29

2.2.4 UML方法 30

2.2.5 XML方法 31

2.2.6 概念设计讨论 32

2.3 数据库设计的框架 33

2.3.1 数据库设计的目标 33

2.3.2 数据库生命周期 33

2.3.3 数据库设计的内容 34

2.3.4 数据库设计运用的方法 35

2.4 数据库的等价性 35

2.4.1 等价性的意义 35

2.4.2 等价性的定义 36

2.4.3 等价性的实现 36

2.4.4 对象持久化的等价性 36

2.5 其他问题 37

2.5.1 数据库保护 37

2.5.2 数据库性能 38

2.5.3 遗留数据库 38

2.5.4 数据字典 38

2.6 小结 40

思考题 41

第3章 ER方法 42

3.1 基本ER构造 42

3.1.1 实体 42

3.1.2 联系 43

3.1.3 属性 44

3.2 高级ER构造 45

3.2.1 泛化 46

3.2.2 汇集 47

3.2.3 弱实体、存在依赖和标识依赖 48

3.3 建立ER模型 48

3.3.1 建立ER模型的基本问题 49

3.3.2 区分实体和属性 50

3.3.3 找出汇集层次 51

3.3.4 找出泛化层次 51

3.3.5 找出弱实体 52

3.3.6 定义联系 52

3.3.7 建立ER模型的几点原则 54

3.4 ER模型的集成 54

3.4.1 集成的基本问题 54

3.4.2 简单的ER模型集成 55

3.4.3 ER模型集成的基本步骤 56

3.4.4 举例 58

3.5 实际应用中的注意事项 59

3.5.1 ER方法和ER工具软件的差异 59

3.5.2 ER图的复杂性 60

3.6 小结 61

思考题 61

第4章 语义对象模型及其建模 62

4.1 语义对象的概念 62

4.1.1 语义对象 62

4.1.2 属性 63

4.1.3 语义对象标识 64

4.1.4 语义对象实例 65

4.1.5 语义对象视图 65

4.2 语义对象的种类 66

4.2.1 简单语义对象 66

4.2.2 组合语义对象 67

4.2.3 复合语义对象 68

4.2.4 混合语义对象 70

4.2.5 关联语义对象 70

4.2.6 父/子类型语义对象 71

4.2.7 原型/版本语义对象 73

4.3 语义对象的建模 73

4.3.1 某大学数据库 73

4.3.2 语义对象模型 77

4.3.3 语义对象建模的步骤 77

4.4 与相关概念的比较 78

4.4.1 面向对象程序设计与语义对象 78

4.4.2 语义对象模型和ER模型的比较 78

4.5 小结 79

思考题 79

第5章 关系数据库模式规范化 81

5.1 规范化的意义和基本假设 81

5.1.1 关系数据库 81

5.1.2 规范化的意义 82

5.1.3 泛关系假设 82

5.2 基本概念 83

5.2.1 投影与联结 83

5.2.2 函数依赖 84

5.2.3 Armstrong公理系统 85

5.2.4 闭包和投影 86

5.2.5 覆盖 87

5.2.6 范式 88

5.3 模式规范化 89

5.3.1 规范化的框架 89

5.3.2 无损联结分解 90

5.3.3 保持函数依赖的分解 91

5.4 规范化算法 92

5.4.1 计算属性闭包 92

5.4.2 计算投影 92

5.4.3 计算最小覆盖 94

5.4.4 通用分解方法 95

5.4.5 3NF分解 97

5.4.6 BCNF分解 98

5.5 小结 100

思考题 100

第6章 概念模型转换到关系模式 101

6.1 基本问题 101

6.1.1 正确的概念模型转换 101

6.1.2 数据库实现的难易程度 102

6.1.3 转换方法问题 103

6.2 将ER模型转换成关系模式 103

6.2.1 转换实体 103

6.2.2 转换弱实体 103

6.2.3 转换汇集实体 104

6.2.4 转换泛化层次 105

6.2.5 转换联系 105

6.2.6 从ER模型中产生函数依赖 109

6.3 将语义对象模型转换成关系模式 109

6.3.1 转换简单语义对象 110

6.3.2 转换组合语义对象 110

6.3.3 转换复合语义对象 110

6.3.4 转换混合语义对象 112

6.3.5 转换关联语义对象 113

6.3.6 转换父/子类语义对象 113

6.3.7 转换原型/版本语义对象 114

6.4 将UML对象类映射为关系模式 114

6.4.1 映射单个类 114

6.4.2 映射泛化(继承)结构或类层次 115

6.4.3 映射类的联系 116

6.5 XML文档的持久存储 118

6.5.1 持久存储方式 118

6.5.2 持久存储的框架 118

6.5.3 XML文档与关系模式的映射 119

6.6 小结 120

思考题 120

第7章 数据库保护 121

7.1 为什么要保护数据库 121

7.1.1 操作错误 121

7.1.2 恶意访问 122

7.1.3 自然灾害 122

7.1.4 数据库故障的严重程度 123

7.2 数据库备份和恢复 123

7.2.1 备份 123

7.2.2 恢复 124

7.2.3 事务 124

7.2.4 日志 126

7.2.5 事务的故障与恢复 127

7.3 完整性 129

7.3.1 数据约束 129

7.3.2 确保完整性的方法 130

7.3.3 SQL中有关完整性的语句 131

7.3.4 触发器 134

7.3.5 维护数据依赖 134

7.4 并发控制 135

7.4.1 并发的问题 135

7.4.2 锁机制 136

7.4.3 事务串行化与两段封锁 138

7.5 长事务 139

7.5.1 什么是长事务 139

7.5.2 嵌套事务、多级事务、补偿事务 140

7.5.3 并发与串行化 141

7.5.4 多数据库中的事务管理 142

7.6 安全性 144

7.6.1 定义合法用户 144

7.6.2 权力与特权 144

7.6.3 用户视图 145

7.6.4 环境安全 145

7.6.5 建立私有数据库 146

7.7 小结 146

思考题 146

第8章 数据库系统性能调优 147

8.1 系统性能调优问题 147

8.1.1 性能瓶颈 147

8.1.2 数据库保护与性能 148

8.1.3 可调优性能的几个方面 148

8.1.4 系统硬件选择 149

8.1.5 体系结构设计 150

8.2 数据库逻辑设计调优 151

8.2.1 根据操作需求调优 151

8.2.2 非规范化数据库设计 152

8.2.3 不改变规范化的表调优 153

8.2.4 数据库约束调优 153

8.3 数据库物理设计调优 154

8.3.1 键与外键 154

8.3.2 索引 154

8.3.3 存储空间与数据存储 155

8.3.4 数据库配置调优 156

8.4 数据库访问调优 157

8.4.1 选择正确的访问策略 157

8.4.2 存储过程 158

8.4.3 物化视图 159

8.4.4 事务调优 160

8.4.5 SQL代码调优 161

8.4.6 应用程序调优 161

8.5 性能基准测试 162

8.5.1 系统事务吞吐量 162

8.5.2 数据库应用类型 163

8.5.3基准程序 163

8.5.4 性能模拟 164

8.6 小结 165

思考题 165

第9章 遗留系统重建 166

9.1 遗留系统重建概述 166

9.1.1 为什么需要遗留系统重建 166

9.1.2 遗留系统重建的工作 167

9.1.3 遗留系统重建的发展 168

9.2 遗留系统重建技术 169

9.2.1 遗留系统重建的基本技术 169

9.2.2 遗留系统重建的分类 170

9.2.3 遗留系统的重建模型 171

9.3 数据库重建 172

9.3.1 数据库重建的必然性 173

9.3.2 数据库重建需求 173

9.3.3 数据库重建模型 173

9.3.4 数据库重建过程 175

9.4 数据库逆向工程 176

9.4.1 软件逆向工程 176

9.4.2 数据库逆向的概念 177

9.4.3 数据库逆向的步骤 178

9.4.4 数据库逆向过程中的重要因素 179

9.5 数据迁移与集成 180

9.5.1 元数据管理 180

9.5.2 数据迁移 181

9.5.3 数据集成 181

9.6 小结 182

思考题 182

第10章 数据利用技术 183

10.1 从信息化到数据资源利用 183

10.1.1 数据处理技术 183

10.1.2 DBMS系统不能支持数据分析需求 184

10.1.3 数据利用 184

10.2 数据仓库技术 184

10.2.1 数据仓库的概念 185

10.2.2 数据仓库应用系统的体系结构 187

10.2.3 数据加载 188

10.2.4 数据仓库主题的设计 190

10.3 联机分析处理技术 191

10.3.1 多维数据模型 191

10.3.2 基本概念 193

10.3.3 多维数据操作 194

10.3.4 OLAP三层体系结构 196

10.3.5 OLTP与OLAP的关系 197

10.4 数据挖掘技术 199

10.4.1 数据挖掘的定义 199

10.4.2 数据挖掘的发展 200

10.4.3 数据挖掘过程 202

10.4.4 数据挖掘任务和内容 204

10.4.5 相关技术的差异 206

10.5 数据准备 208

10.5.1 数据清洗 208

10.5.2 数据抽取、转换和加载 209

10.5.3 数据综合与汇总 210

10.5.4 数据规约 210

10.6 小结 210

思考题 211

第11章 数据库系统开发 212

11.1 软件工程 212

11.1.1 不成功的案例 212

11.1.2 软件系统生命周期 213

11.1.3 软件开发方法 215

11.1.4 敏捷软件开发 218

11.1.5 数据驱动与对象驱动 219

11.2 以用户为中心的系统开发方法 219

11.2.1 以用户为中心的开发思想 220

11.2.2 用户需求与系统开发需求 221

11.2.3 以用户为中心的需求分析 223

11.2.4 需求收集技术 223

11.2.5 灵活性需求与灵活性设计 228

11.3 客户-服务器式开发方法 229

11.3.1 基本分析模型及需求分析 229

11.3.2 数据分析的多级CS集成技术 231

11.3.3 泛模式下的功能设计 232

11.3.4 数据库设计 233

11.3.5 客户-服务器式开发的优点 233

11.4 项目开发问题 233

11.4.1 项目团队 233

11.4.2 项目管理 237

11.4.3 索赔 241

11.4.4 合作 243

11.5 小结 243

思考题 243

参考文献 244