第1章 导论 1
1.1 关系数据库 1
1.1.1 数据库 1
1.1.2 关系数据库 3
1.1.3 SQL 4
1.2 客户/服务器数据库 5
1.2.1 客户/服务器计算机网络 5
1.2.2 客户/服务器数据库 6
1.3 客户/服务器数据库环境 7
1.3.1 数据库服务器 8
1.3.2 ODBC 8
13.3 前端开发工具 10
1.4.1 数据库应用的层次 11
1.4 客户/服务器数据库应用系统 11
1.4.2 客户/服务器数据库应用的特点 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 中间件的工作原理 17
1.6.4 中间件的种类 18
第2章 数据库应用的开发 21
2.1 软件系统生命周期 21
2.1.1 需求分析 21
2.1.2 系统设计 22
2.1.3 编程 23
2.1.4 测试 23
2.1.5 运行维护 24
2.2 系统开发方法 24
2.2.1 结构化方法 24
2.2.2 原型法 25
2.2.3 面向对象方法 25
2.3 数据库设计 27
2.3.1 为什么要数据库设计 27
2.3.2 数据库设计的工作 29
2.3.3 数据库生命周期 31
2.3.4 数据库设计方法 32
2.4 建立数据字典 34
2.4.1 数据字典及其作用 34
2.4.2 数据字典的格式 35
2.4.3 软件工程中的数据字典 36
2.4.4 数据库中的数据字典 36
2.4.5 建立数据字典 36
2.5 开发方法的讨论 37
2.5.1 结构化方法 37
2.5.2 原型法 38
2.5.3 面向对象方法 38
2.6 小结 39
第3章 数据库概念设计的ER方法 41
3.1 基本ER构造 41
3.1.1 实体 41
3.1.2 联系 42
3.1.3 属性 44
3.2 高级ER构造 45
3.2.1 泛化 46
3.2.2 汇集 48
3.2.3 弱实体、存在依赖和标识依赖 48
3.3 建立ER模型 49
3.3.1 需求分析与ER建模 50
3.3.2 区分实体和属性 51
3.3.3 找出汇集层次 52
3.3.4 找出泛化层次 53
3.3.5 找出弱实体 54
3.3.6 定义联系 54
3.3.7 建立ER模型的几点原则 56
3.4 视图集成 56
3.4.1 视图集成的基本问题 56
3.4.2 简单的视图集成 57
3.4.3 视图集成的基本步骤 60
3.4.4 举例 61
3.5 将ER模式转换到关系模式 63
3.5.1 基本问题 64
3.5.2 转换方法 65
3.5.3 转换样例 65
3.5.4 从ER图生成函数依赖 72
3.5.5 从需求说明书中产生函数依赖 73
3.6 小结 73
第4章 关系数据库模式规范化 75
4.1 规范化的意义和基本假设 75
4.1.1 意义 75
4.1.2 泛关系假设 75
4.2 基本概念 76
4.2.1 投影与联结 77
4.2.2 函数依赖 78
4.2.3 Armstrong公理系统 79
4.2.4 闭包和投影 80
8.4 需求收集技术 81
4.2.5 覆盖 82
4.2.6 范式 83
4.3 模式规范化 84
4.3.1 规范化的框架 84
4.3.2 无损联结分解 87
4.3.3 保持函数依赖的分解 88
4.4 规范化算法 89
4.4.1 计算属性闭包 89
4.4.2 计算投影 89
4.4.3 计算最小覆盖 91
4.4.4 通用分解方法 93
4.4.5 3NF分解 95
4.4.6 BCNF分解 97
4.5 小结 98
5.1 为什么要数据库保护 101
5.1.1 操作错误 101
第5章 数据库保护 101
5.1.2 恶意访问 102
5.1.3 自然灾害 102
5.1.4 数据库故障的严重程度 103
5.2 数据库备份和恢复 103
5.2.1 备分 104
5.2.2 恢复 104
5.2.3 事务 105
5.2.4 日志 107
5.2.5 事务的故障与恢复 108
5.3 完整性 110
5.3.1 数据约束 111
5.3.2 确保完整性的方法 112
5.3.3 SQL中有关完整性的语句 114
5.3.4 触发器 116
5.3.5 维护数据依赖 117
5.4 并发控制 117
5.4.1 并发的问题 118
5.4.2 锁机制 119
5.4.3 事务串行化与两段封锁 121
5.5 安全性 122
5.5.1 定义合法用户 122
5.5.2 权力与特权 123
5.5.3 用户视图 123
5.5.4 环境安全 124
5.6 建立私有数据库 124
5.7 小结 125
6.1 ODBC技术和应用 127
6.1.1 ODBC原理 127
第6章 客户/服务器数据库环境下的编程 127
6.1.2 ODBC句柄 130
6.1.3 ODBC程序 131
6.1.4 ODBC的符合性级别 134
6.1.5 驱动程序与数据源的交互模型 135
6.2 编写存储过程 137
6.2.1 SQL的优化执行 137
6.2.2 存储过程 138
6.2.3 SYBASE的存储过程 139
6.2.4 ORACLE的存储过程 145
6.3 编写触发器 146
6.3.1 SYBASE的触发器 147
6.3.2 ORACLE的触发器 149
7.1 用户为中心的系统开发方法 153
第7章 用客户/服务器方法开发客户/服务器应用 153
7.1.1 用户为中心的开发思想 153
7.1.2 用户需求与系统开发需求 154
7.1.3 用户为中心的需求分析 157
7.2 客户/服务器式的分析技术 158
7.2.1 基本分析模型 159
7.2.2 功能分析和数据分析 160
7.2.3 数据分析的多级CS集成技术 161
7.2.4 客户/服务器式分析的优点 163
7.3 客户/服务器式的设计技术 163
7.3.1 泛模式下的功能设计 163
7.3.2 数据库设计 164
7.4.1 灵活性需求与灵活性设计 166
7.4 用户需求变化的对策 166
7.4.2 数据库模式进化 167
7.5 小结 168
第8章 系统开发中人的因素 169
8.1 不成功的案例 169
8.2 系统开发中的人 170
8.2.1 用户 171
8.2.2 项目经理 172
8.2.3 系统设计师 172
8.2.4 程序员组 173
8.2.5 数据库总管 173
8.2.6 界面装潢师 174
8.2.7 网络设计师 174
8.2.8 项目办公室 174
8.3.1 项目规划 175
8.3 页目管理 175
8.3.2 成本分析 176
8.3.3 进度计划 178
8.3.4 人员组织 179
8.3.5 人员培训 180
8.4.1 以用户为中心的需求收集 181
8.4.2 分析师与用户的交流 182
8.4.3 做用户的学徒 183
8.4.4 利用录像来再现用户现场 185
8.5 索赔 186
8.5.1 应用体索赔 186
8.5.2 开发商索赔 187
8.6 开发环境的选择 188
8.7 小结 189
第9章 计算机网络原理 191
9.1 计算机网络 191
9.1.1 计算机网络基本组成元素 191
9.1.2 开放系统互连模型 192
9.1.3 开放系统框架 193
9.1.4 计算机网络拓扑结构 194
9.1.5 存储—转发原理 195
9.2 数据通信基础 195
9.2.1 空号和传号 196
9.2.2 并行和串行 196
9.2.3 异步和同步 196
9.2.4 波特率和传输率 196
9.2.5 单工和双工 196
9.3.1 计算机网络协议概念 197
9.3 计算机网络协议 197
9.2.6 代码和误码 197
9.3.2 协议分类 198
9.3.3 常用的计算机网络协议 198
9.4 典型的计算机网络 202
9.4.1 以太网 202
9.4.2 光纤分布式数据接口 203
9.4.3 令牌环网 204
9.4.4 分组交换数据网 204
9.4.5 帧中继网 205
9.4.6 综合业务数字网 205
9.5 网络互连原理和方法 206
9.5.1 网络设备 207
9.5.2 互连规则 207
9.6 小结 208
9.5.3 网络互连基本类型和方法 208
第10章 客户/服务器计算机网络集成 211
10.1 网络规划 211
10.2 网络分析与设计 213
10.2.1 网络分析 213
10.2.2 网络设计 214
10.3 网络硬件和软件的选取 218
10.4 网络性能评价 219
10.4.1 定性评价 219
10.4.2 定量评价 220
10.5 客户/服务器网络集成实例 221
10.5.1 问题提出 222
10.5.2 需求分析 222
10.5.3 网络设计 223
参考书目 229