原理篇 3
第1章 数据库系统概论 3
1.1 数据库技术的发展 4
1.2 数据库系统概述 6
1.2.1 数据、数据库、数据库管理系统、数据库系统 6
1.2.2 数据管理技术的三个阶段 7
1.3 数据模型 7
1.3.1 概念数据模型 9
1.3.2 逻辑数据模型 11
1.4 数据库系统结构 17
1.5 医学数据库发展的一些研究热点 18
本章小结 19
问题讨论 19
第2章 关系数据库 21
2.1 关系模型和关系数据结构 22
2.1.1 关系模型的三个组成部分 22
2.1.2 关系数据结构的形式化定义 24
2.1.3 码 26
2.2 关系的三类完整性约束 27
2.2.1 实体完整性约束 27
2.2.2 参照完整性约束 28
2.2.3 用户定义完整性约束 29
2.3 关系代数 30
2.3.1 集合运算 31
2.3.2 关系运算 32
2.3.3 关系代数应用举例 38
本章小结 39
问题讨论 39
第3章 关系数据库标准语言 41
3.1 SQL语言的基本概念和特点 43
3.1.1 SQL语言的发展 44
3.1.2 SQL语言的特点 44
3.1.3 SQL语言的基本概念 45
3.2 SQL数据定义 46
3.2.1 数据库的定义 47
3.2.2 基本表的定义 50
3.2.3 索引的定义 52
3.2.4 实例数据库与表的SQL完整定义 53
3.3 SQL数据查询 54
3.3.1 单表查询 55
3.3.2 连接查询 60
3.3.3 嵌套查询 62
3.3.4 集合查询 65
3.4 SQL数据更新 67
3.4.1 插入数据 67
3.4.2 更新数据 68
3.4.3 删除数据 69
3.5 视图 70
3.5.1 视图的定义 70
3.5.2 视图的查询 74
3.5.3 视图的更新 74
3.5.4 视图的作用 75
本章小结 75
问题讨论 76
第4章 数据库编程 77
4.1 T-SQL语法要素 78
4.1.1 Transact-SQL语言与SQL语言 78
4.1.2 Transact-SQL语言类型 78
4.2 T-SQL运算符 79
4.3 T-SQL表达式 81
4.3.1 数据类型 81
4.3.2 常量 81
4.3.3 变量 82
4.3.4 函数 83
4.4 T-SQL流程控制语句 86
4.4.1 批处理与脚本 86
4.4.2 IF...ELSE语句 87
4.4.3 CASE表达式 87
4.4.4 WHILE语句 88
4.5 游标 88
4.5.1 游标的概述 89
4.5.2 游标的操作 89
4.6 存储过程 95
4.6.1 存储过程综述 95
4.6.2 存储过程的创建、修改、删除和执行(包括有参和无参) 96
4.7 触发器 107
4.7.1 触发器概述 107
4.7.2 创建触发器 108
4.7.3 修改触发器 110
4.7.4 删除触发器 111
4.7.5 禁用/启用触发器 111
本章小结 113
问题讨论 113
第5章 关系数据库设计理论 115
5.1 基本概念 116
5.1.1 函数依赖 116
5.1.2 范式 119
5.2 规范化 120
5.2.1 第一范式 120
5.2.2 第二范式 121
5.2.3 第三范式 124
5.2.4 BCNF范式 125
5.3 多值依赖与第四范式(选讲) 128
5.4 数据依赖的公理系统(选讲) 132
本章小结 138
问题讨论 139
第6章 数据库系统设计 141
6.1 数据库设计概述 142
6.1.1 数据库设计的任务、内容和特点 142
6.1.2 数据库设计方法 142
6.1.3 数据库设计的步骤 143
6.2 需求分析 144
6.2.1 需求分析的任务 144
6.2.2 需求分析的过程 145
6.2.3 需求分析的方法 145
6.2.4 数据流图 146
6.2.5 数据字典 147
6.3 概念模型设计 149
6.3.1 概念模型设计的必要性 149
6.3.2 概念模型设计的方法 150
6.3.3 概念模型设计的基本任务与步骤 151
6.3.4 用PowerDesigner设计概念模型 155
6.4 逻辑结构设计 156
6.4.1 E-R模型向关系模型的转换 156
6.4.2 采用PowerDesigner转换逻辑模型 158
6.5 数据库物理设计 159
6.5.1 索引存取方法 159
6.5.2 采用PowerDesigner生成物理模型 159
6.6 数据库的实施和维护 160
6.6.1 数据库的实施 160
6.6.2 数据库的维护 161
6.7 数据库系统的实现案例 162
6.7.1 系统需求 162
6.7.2 系统概念模型设计 167
6.7.3 系统逻辑设计 168
6.7.4 数据库物理设计 169
本章小结 170
问题讨论 171
应用篇 175
第7章 Oracle基础 175
7.1 Oracle概述 176
7.1.1 Oracle 11g网格模型 176
7.1.2 Oracle数据库结构 177
7.1.3 Oracle的网络结构 179
7.2 Oracle的常用工具 180
7.2.1 企业管理器 180
7.2.2 SQLPlus 181
7.2.3 SQLDeveloper 181
7.3 Oracle数据库的创建和管理 182
7.3.1 数据库的创建 182
7.3.2 数据库的启动 183
7.3.3 数据库的关闭 184
7.3.4 数据库的删除 184
7.3.5 启动和关闭数据库服务 184
7.4 Oracle数据库结构的管理 185
7.4.1 表空间 185
7.4.2 数据文件 188
7.4.3 控制文件 189
7.4.4 重做日志文件 189
7.4.5 数据字典 190
7.5 Oracle数据库对象的创建与管理 191
7.5.1 模式 191
7.5.2 表 192
7.5.3 索引 194
7.5.4 视图 194
7.5.5 序列 195
7.5.6 同义词 197
7.6 PL/SQL 197
7.6.1 PL/SQL的特点 198
7.6.2 PL/SQL的块结构和组成元素 199
7.6.3 PL/SQL的流程控制 202
7.6.4 游标 204
7.6.5 存储过程与函数 206
7.6.6 PL/SQL的子程序和包 208
7.6.7 触发器 210
7.7 Oracle与高级语言 213
7.7.1 ADO.NET简介 213
7.7.2 用C#写一个连接数据库程序示例 214
本章小结 215
问题讨论 216
第8章 数据库的安全性 217
8.1 数据库的安全性概述 218
8.2 Oracle数据库的安全控制 219
8.2.1 Oracle身份认证方法 219
8.2.2 Oracle数据库的安全策略 220
8.3 数据库的安全控制 220
8.3.1 用户管理 220
8.3.2 权限管理 223
8.3.3 角色管理 227
8.4 药库管理系统的安全控制实例 230
8.4.1 药库管理系统的安全控制背景介绍 230
8.4.2 药库管理系统的安全控制实现过程 231
本章小结 234
问题讨论 234
第9章 事务管理与恢复 237
9.1 数据库的事务管理 238
9.1.1 事务的概念 238
9.1.2 事务处理控制语句 238
9.1.3 事务的ACID特性 239
9.2 Oracle数据库的事务管理 240
9.3 Oracle数据库的恢复 244
9.3.1 故障分类及恢复策略 244
9.3.2 备份与介质故障恢复 246
9.3.3 基于日志的故障恢复 248
9.3.4 检查点 250
9.4 封锁 251
9.4.1 锁 251
9.4.2 基于封锁的协议 252
9.4.3 两段封锁协议 255
9.5 Oracle数据库的并发控制 255
本章小结 262
问题讨论 262
第10章 社区卫生信息系统开发 265
10.1 社区卫生信息系统概述 266
10.2 系统需求分析 267
10.2.1 各类用户需求 267
10.2.2 社区卫生信息系统的功能设计 268
10.2.3 数据流分析 271
10.3 概念模型设计 274
10.4 逻辑结构设计 275
10.4.1 E-R模型向关系模型的转换 275
10.4.2 社区系统主要表格 275
10.5 数据库物理设计 281
10.5.1 表空间存储结构分离 281
10.5.2 合理规划索引 281
10.6 数据库系统的实现 282
10.6.1 居民健康档案 283
10.6.2 家庭健康档案 287
10.6.3 OracleHelper 290
本章小结 292
问题讨论 292
第11章 数据库技术在医学中的新发展 293
11.1 Web数据库 294
11.2 分布式数据库 295
11.2.1 分布式数据库的基本概念 295
11.2.2 分布式数据库管理系统的体系结构 295
11.2.3 分布式数据库系统的目标 295
11.3 面向对象数据库技术 296
11.3.1 面向对象数据库的特点 296
11.3.2 面向对象技术在数据库中的实现 297
11.4 XML数据库技术 298
11.4.1 关系数据库与XML之间的映射 298
11.4.2 XML数据库存取技术 298
11.5 数据仓库与数据挖掘 299
11.5.1 数据仓库的特点 299
11.5.2 数据仓库的组成 300
11.5.3 数据挖掘概述 301
11.5.4 数据挖掘常用的方法 301
11.5.5 数据挖掘的功能 301
11.5.6 数据挖掘的流程 301
11.5.7 数据挖掘和数据仓库 302
11.5.8 数据挖掘和在线分析处理 302
11.5.9 数据挖掘、机器学习和统计 303
11.5.10 数据挖掘技术在医学领域中的应用特点及现状 303
11.6 大数据管理与云计算技术 305
11.6.1 大数据的基本概念与应用 305
11.6.2 云计算 306
11.6.3 医疗行业大数据挖掘的应用 306
本章小结 307
问题讨论 307
附录A SQL Server2008实验 309
附录B Oracle 11g R2实验 325
参考文献 340
索引 343