书籍详情

数据库设计

数据库设计

作者:(美)Ryan K. Stephens,(美)Ronald R.Plew著;何玉洁等译

出版社:机械工业出版社

出版时间:2001-09-01

ISBN:9787111090564

定价:¥35.00

购买这本书可以去
内容简介
  本书是一本介绍数据库设计技术的著作,数据库设计是开发一个好的数据库应用系统的基础,本书运用大量实例对数据库设计过程中所涉及到的技术和知识进行了详细的介绍。本书的内容包括:数据库的基本原理、常用的数据库模型、数据库设计方法和数据库生命周期;并介绍了如何获取业务需求以及根据业务需求建立业务模型并生成ERD,如何减少冗余数据,如何保证数据的完整性,如何设计视图以及数据库安全性方面的考虑等。 本书的最大特点就是所讲授的概念与实例紧密结合,书中运用了大量的图来说明问题,便于读者理解。 本书适全于作为从事或希望从事数据库设计的人士进行数据库设计的指南,也可作为大学本科学生学习数据库理论知识后的补充学习内容,同时也是讲授数据库课程的教师的一本非常有价值的参考书。
作者简介
  Ryan K.Stephens 是美国印地安纳州首府—Indianapolis印第安纳波利斯的Perpetual技术公司的董事长和CEO。该公司主要从事Orscle数据库技术咨询和培训。同时,Stephens先生还在印地安纳州的Insiana University-Purdue University,以及在国防部和印地安纳中部商业区的一些公司从事Oracle教学工作。Stephens先生还参与了Sams出版社出版的诸多书籍的编写工作,其中包括:《Sams Teach Yourself SQL in 21 Days》、《Sams Teach Yourself SQL in 24 Hours》和《Oracle Unleashed》一书的部分章节。Stephens先生还是印地安纳国家军事防卫部的程序员和系统分析员。他和人了的太太Tina、儿子Danie以及即将出生的孩子生活在Indianapolis。 Ronald R.Plew 是Perpetual技术公司的副董事长和CIO。Plew先生在Insiana University Purdue University从事Orcle 教学工作,同时还为国防部Oracle数据库管理员的技术支持和咨询。他毕业于Indiana Institute of Technology。Plew先生还是印地安纳国家军事防卫部成员, 在那里他是一名程序员和系统分析员。Plew先生是从事Oracle相关工作15年。他也是:《Sams Teach Yourself SQL in 21 Days》、《Sams Teach Yourself SQL in 24 Hours》的合著作。Plew先生和他的太太Linda生活在Indianapolis。
目录
译者序
作者介绍
绪论
第一篇      数据库设计概述
第1章   数据库基本原理 1
1.1   数据库是什么 2
1.1.1   数据库的用途 3
1.1.2   数据库的使用者 4
1.2   数据库环境 5
1.2.1   主机环境 5
1.2.2   客户/服务器环境 6
1.2.3   互联网计算环境 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.3.7   业务处理的再工程化 10
1.4   数据库组成 10
1.4.1   数据库模式 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.5.3    关系 14
1.6   数据库设计的重要概念 14
1.6.1   设计方法 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.7.6   尽可能减少冗余数据 19
1.8   小结 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   可供选择的流行数据库 29
2.2.1   关系数据库的特点 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   数据库设计方案的制定 36
3.3.1   任务描述 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.2   创建数据结构 61
4.2.3   定义数据关系 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
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.3.4   研究现有的业务处理 82
5.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.4   制定工作进度和时间期限 90
5.6.5   设计小组成员工作的分配 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.1.2   规范化的缺点 123
8.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
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.3.2   创建表列表 178
11.4   确定列规范 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.1   表空间的增加和调整 187
11.6.2   表大小的增加和监控 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   为什么要使用视图 216
13.2.1   数据总结 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.1   定义部门单位 237
14.3.2   定义数据 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章   实现数据库安全 261
15.1   安全性对数据库设计的重要性 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.1   因业务需要而更改 277
16.1.2   因系统需要而更改 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.2.2   改变优先级 281
16.2.3   跟踪更改需求 281
16.3   更改控制的参与者 281
16.4   更改过程的实现 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.3   重新设计数据结构 296
17.5.4   移植遗留数据 296
17.6   遗留数据转换的例子 297
17.7   文档 298
17.8   新数据库的未来 298
17.9   小结 299
附   录
附录A   物理数据库实现示例 301
附录B   流行的数据库设计工具 314
附录C   有关数据库设计问题 315
附录D   数据库设计示例 323
附录E   表大小的考虑 332                  

猜您喜欢

读书导航