《数据库设计》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)Ryan K.Stephens,(美)Ronald R.Plew著;何玉洁等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2001
  • ISBN:711109056X
  • 页数:333 页
图书介绍:

第一篇 数据库设计概述 1

第1章 数据库基本原理 1

1.1 数据库是什么 2

1.1.1 数据库的用途 3

1.1.2 数据库的使用者 4

1.2 数据库环境 5

1.2.1 主机环境 5

1.2.3 互联网计算环境 6

1.2.2 客户/服务器环境 6

1.3 数据库的起源 7

1.3.1 业务规则 8

1.3.2 业务处理 8

1.3.3 信息与数据 8

1.3.4 需求分析 9

1.3.5 实体 9

1.3.6 属性 9

1.4 数据库组成 10

1.4.1 数据库模式 10

1.3.7 业务处理的再工程化 10

1.4.2 表 11

1.4.3 列 11

1.4.4 行 12

1.4.5 数据类型 12

1.5 数据库的完整性 13

1.5.1 主键码 13

1.5.2 外键码 13

1.6.1 设计方法 14

1.6 数据库设计的重要概念 14

1.5.3 关系 14

1.6.2 将业务模型转换成数据库设计 15

1.6.3 应用软件的设计 15

1.7 优秀的数据库的特点 16

1.7.1 满足数据存储需求 16

1.7.2 数据的可用性 17

1.7.3 数据保护 17

1.7.4 数据的准确性 18

1.7.5 合适的数据库性能 18

1.8 小结 19

1.7.6 尽可能减少冗余数据 19

第2章 数据库模型概述 21

2.1 数据库类型 21

2.1.1 平面文件数据库模型 22

2.1.2 层次数据库模型 23

2.1.3 网状数据库模型 24

2.1.4 关系数据库模型 25

2.1.5 面向对象数据库模型 26

2.1.6 对象关系数据库模型 28

2.2.1 关系数据库的特点 29

2.2 可供选择的流行数据库 29

2.2.2 关系数据库的对象 30

2.2.3 SQL:关系数据库语言 30

2.2.4 关于数据库模型的网上信息资源 31

2.3 选择合适的数据库 32

2.4 小结 32

第3章 数据库设计方案 34

3.1 什么是数据库设计 34

3.2 数据库设计的重要性 35

3.3.1 任务描述 36

3.3 数据库设计方案的制定 36

3.3.2 制定工作计划 38

3.3.3 设置“里程碑”和时间期限 38

3.3.4 组建设计小组和分配任务 39

3.4 设计成功的数据库系统所具备的特点 40

3.5 设计方法概述 41

3.6 逻辑建模与物理建模 42

3.6.1 逻辑建模 42

3.6.2 物理建模 43

3.7 自动化设计工具 44

3.7.1 为什么要使用自动化设计工具 45

3.7.2 自动化设计工具的功能 46

3.8 小结 47

第4章 数据库设计生命周期 49

4.1 系统开发过程 49

4.1.1 传统的设计方法 50

4.1.2 Barker方法 54

4.1.3 改进的设计方法 58

4.2 设计过程概述 60

4.2.1 定义数据 60

4.2.3 定义数据关系 61

4.2.2 创建数据结构 61

4.2.4 定义视图 62

4.3 现有数据库的二次设计 63

4.4 数据库生命周期概述 65

4.4.1 开发环境 65

4.4.2 测试环境 67

4.4.3 产品环境 67

4.5 小结 69

第5章 业务需求和系统需求的获得 71

第二篇 业务需求分析和建模 71

5.1 需求类型 72

5.1.1 业务需求 72

5.1.2 系统需求 73

5.2 需求分析概述 74

5.3 业务需求的确定 74

5.3.1 谁有“发言权” 75

5.3.2 调研客户 78

5.3.3 调研最终用户 80

5.4 业务需求分析 82

5.3.4 研究现有的业务处理 82

5.5 确定系统需求 84

5.5.1 标识数据 84

5.5.2 数据的分类 85

5.5.3 建立字段列表 85

5.5.4 建立数据关系 87

5.6 确定数据库设计方向 88

5.6.1 确定数据库模型的类型 88

5.6.2 选择实现方法 88

5.6.3 定义命名规则和标准 89

5.6.5 设计小组成员工作的分配 90

5.6.4 制定工作进度和时间期限 90

5.7 先期文档 91

5.7.1 高层工作计划 92

5.7.2 策略文档 92

5.7.3 详细的需求文档 92

5.8 评估分析 93

5.9 小结 94

第6章 建立业务模型 96

6.1 理解业务建模概念 96

6.2 使用所收集的信息 96

6.3 业务模型图 97

6.4 通用业务模型 99

6.5 业务模型的组成示例 100

6.6 小结 101

第7章 理解实体和关系 103

7.1 实体和实体关系概述 103

7.1.1 一对一关系 104

7.1.2 一对多关系 105

7.1.3 多对多关系 106

7.1.4 递归关系 107

7.1.5 强制关系 108

7.1.6 可选关系 109

7.2 设计过程中对实体的转换 109

7.3 用户如何访问数据 110

7.3.1 避免拙劣的关系结构 112

7.3.2 理解关系和表的连接 112

7.4 小结 118

第8章 规范化:消除冗余数据 120

8.1 规范化概览 120

8.1.1 规范化的优点 122

8.2 范式概览 123

8.1.2 规范化的缺点 123

8.2.1 第一范式:码 124

8.2.2 第二范式:全部码 125

8.2.3 第三范式:仅仅是码 126

8.2.4 Boyce-Codd范式 127

8.2.5 第四范式 127

8.2.6 第五范式 128

8.3 反规范化 128

8.4 规范化示例1 130

8.5 规范化示例2 132

8.6 自检测规范化 135

8.7 小结 136

第9章 实体联系模型 138

9.1 商务实体的逻辑模型 139

9.2 在ERD中构造实体 139

9.3 定义实体联系 140

9.3.1 查看是否存在联系 141

9.3.2 确定联系的动词 142

9.3.3 确定联系的可选性 142

9.3.4 确定联系的种类 143

9.3.5 验证联系 145

9.4 定义实体的属性 147

9.5 如何使用ERD 150

9.6 典型的ERD符号 151

9.7 TrainTech示例公司的ERD 152

9.8 小结 153

第10章 业务处理建模 154

10.1 业务处理是如何影响数据库设计的 154

10.2 定义业务处理 155

10.3 处理模型概览 156

10.3.1 处理模型 157

10.3.2 功能层次模型 158

10.3.3 数据流图 159

10.4 我们能从处理模型中得到什么 161

10.5 典型的处理模型符号 161

10.6 在数据库设计中使用处理模型 162

10.7 TrainTech公司的处理模型 163

10.8 小结 167

第11章 设计关系表 169

第三篇 数据库设计 169

11.1 表的类型 170

11.1.1 数据表 170

11.1.2 连接表 171

11.1.3 子表 173

11.1.4 校验表 173

11.2 表的基本结构 174

11.3 定义表 175

11.3.1 命名规则的回顾 177

11.4 确定列规范 178

11.3.2 创建表列表 178

11.4.1 常规层 179

11.4.2 物理层 179

11.4.3 逻辑层 180

11.4.4 建立列的列表 180

11.5 设计表需要考虑的因素 183

11.5.1 表设计中的引用完整性 184

11.5.2 表设计中逻辑模型的重要性 185

11.5.3 物理设计过程的反规范化处理 185

11.6 存储考虑 186

11.6.2 表大小的增加和监控 187

11.6.1 表空间的增加和调整 187

11.6.3 视图和复制 188

11.6.4 RAID 188

11.7 表的所有者 189

11.8 表设计的例子——TrainTech 190

11.9 小结 194

第12章 业务规则和数据完整性的结合 196

12.1 业务规则如何影响数据库 196

12.1.1 主码约束在SQL中的使用 198

12.1.2 外码约束在SQL中的使用 199

12.1.3 唯一性约束在SQL中的使用 200

12.1.4 检查约束在SQL中的使用 201

12.2 从逻辑模型中抽取业务规则 201

12.3 数据的本性 202

12.3.1 数据的数据类型 202

12.3.2 数据的唯一性 203

12.3.3 数据的大小写 203

12.3.4 数据的引用 204

12.4 维护历史数据 204

12.5 增强业务规则 205

12.5.1 使用触发器增强业务规则 206

12.5.2 使用确认表来增强业务规则 206

12.6 在N-层级上集成业务规则 207

12.7 使用AD工具产生约束 208

12.8 TrainTech示例公司的集成约束 209

12.9 小结 212

第13章 设计视图 214

13.1 视图概览 214

13.2.1 数据总结 216

13.2 为什么要使用视图 216

13.2.2 过滤数据 218

13.2.3 数据库安全性 219

13.2.4 数据转换 220

13.2.5 数据分割 221

13.3 视图性能以及其他的考虑 224

13.3.1 视图定义中的连接操作 225

13.3.2 视图限制 227

13.4 视图联系 227

13.5 管理视图 228

13.6 避免设计拙劣的视图 229

13.7 定义TrainTech公司的视图 230

13.8 小结 231

第14章 数据库设计概念的应用 232

14.1 数据库设计实例研究 233

14.2 分析反馈信息 235

14.2.1 杂货店员工的分类 235

14.2.2 数据需求的分析 236

14.3 任务描述和设计目标的确定 236

14.3.2 定义数据 237

14.3.1 定义部门单位 237

14.3.3 定义处理过程 238

14.4 开始数据库设计 241

14.4.1 构造ERD图 242

14.4.2 构造处理模型 249

14.4.3 定义表 251

14.4.4 定义约束 258

14.4.5 定义视图 259

14.5 小结 260

15.1 安全性对数据库设计的重要性 261

第15章 实现数据库安全 261

第四篇 设计之后的工作 261

15.2 谁需要访问数据库 262

15.2.1 访问级别 263

15.2.2 权限 264

15.2.3 角色 266

15.3 谁管理安全性 267

15.3.1 系统级管理 268

15.3.2 数据库级管理 268

15.3.3 应用程序级管理 270

15.4 使用视图和存储过程来增强安全性 271

15.5 设计安全管理系统 272

15.6 采取其他的预防措施 272

15.6.1 网络安全性 272

15.6.2 网络防火墙 273

15.6.3 加密套接字协议层 273

15.7 安全性中的漏洞 273

15.8 小结 274

第16章 更改控制 276

16.1 在数据库设计中更改控制的必要性 276

16.1.2 因系统需要而更改 277

16.1.1 因业务需要而更改 277

16.1.3 提高数据完整性 278

16.1.4 实现敏感数据的安全性 278

16.1.5 基于需求的测试 278

16.1.6 改进文档的一致性 278

16.1.7 改进系统性能 278

16.2 更改控制的形式化方法 279

16.2.1 版本控制 280

16.3 更改控制的参与者 281

16.4 更改过程的实现 281

16.2.3 跟踪更改需求 281

16.2.2 改变优先级 281

16.5 传播更改的基本指南 284

16.6 考虑使用自动化的配置管理工具 286

16.7 小结 287

第17章 过时数据库的分析和重设计 288

17.1 过时数据库概览 288

17.2 值得重新设计吗 289

17.2.1 用技术跟上当前的发展 290

17.2.2 硬件和软件需求 290

17.2.3 成本 291

17.2.4 业务中断 292

17.2.5 培训的考虑 292

17.2.6 性能问题 292

17.3 对现存数据库的评价 293

17.4 业务处理二次工程的结果 294

17.5 设计新系统 295

17.5.1 要使用的数据库设计方法 295

17.5.2 要使用的数据库软件 295

17.5.4 移植遗留数据 296

17.5.3 重新设计数据结构 296

17.6 遗留数据转换的例子 297

17.7 文档 298

17.8 新数据库的未来 298

17.9 小结 299

附录 301

附录A 物理数据库实现示例 301

附录B 流行的数据库设计工具 314

附录C 有关数据库设计问题 315

附录D 数据库设计示例 323

附录E 表大小的考虑 332