第1章 数据库系统概述 1
1.1 概述 1
1.1.1 数据库技术与信息技术 1
1.1.2 数据库技术的应用及特点 2
1.1.3 SQL Server数据库系统与网络分布式操作 2
1.1.4 网络数据库系统编程 3
1.2 数据库技术的发展 4
1.2.1 人工管理阶段 4
1.2.2 文件系统阶段 5
1.2.3 数据库系统阶段 6
1.2.4 高级数据库系统阶段的应用与发展 8
1.2.5 数据库系统发展阶段的划分 10
1.3 信息描述与数据模型 11
1.3.1 数据模型及其三要素 12
1.3.2 概念模型及其表示方法 13
1.3.3 实体联系模型 16
1.4 三种常见的数据模型 17
1.4.1 层次模型 17
1.4.2 网状模型 18
1.4.3 关系模型 19
1.5 数据库系统 20
1.5.1 数据库系统的三级模式结构 20
1.5.2 数据库系统的组成 22
1.5.3 数据库管理系统的功能 22
1.5.4 数据库系统的视图 23
1.5.5 数据库系统的访问 25
思考练习题 26
第2章 关系数据库系统模型 27
2.1 关系模型的基本概念 27
2.1.1 关系模型 27
2.1.2 数据结构 30
2.1.3 关系操作 30
2.1.4 关系的完整性 31
2.2 关系运算 33
2.2.1 传统的集合运算 33
2.2.2 专门的关系运算 35
2.2.3 关系数据检索实例 40
2.3 关系演算 42
2.3.1 元组关系演算语言 42
2.3.2 域关系演算语言QBE 48
思考练习题 51
第3章 关系数据库的设计理论 53
3.1 实体类型的属性关系 53
3.2 数据的函数依赖 54
3.2.1 函数依赖 54
3.2.2 函数依赖的逻辑蕴涵 55
3.2.3 关键字 56
3.3 关系数据库模式的规范化理论 58
3.3.1 关系模式规范化设计 58
3.3.2 第一范式(1NF) 59
3.3.3 第二范式(2NF) 60
3.3.4 第三范式(3NF) 61
3.3.5 BCNF范式 62
3.3.6 多值函数依赖关系的第四范式(4NF) 63
3.3.7 第五范式(5NF) 65
3.4 关系模式的分解算法 66
3.4.1 关系模式的分解 66
3.4.2 无损连接 67
3.4.3 无损连接的检验 68
3.4.4 保持函数依赖的分解 69
思考练习题 70
第4章 数据库设计方法 72
4.1 数据库系统的设计过程 72
4.2 需求分析 74
4.2.1 收集用户需求 74
4.2.2 分析用户需求 75
4.2.3 撰写需求说明书 79
4.3 概念设计 79
4.3.1 概念模型的特点及设计方法 79
4.3.2 局部概念模型的设计 81
4.3.3 合成全局概念模型 82
4.4 逻辑结构的设计 85
4.4.1 概念模型向关系模型的转换 86
4.4.2 应用规范化理论优化逻辑模型 89
4.4.3 设计用户子模式 89
4.5 物理设计 90
4.5.1 影响物理设计的因素 90
4.5.2 确定关系模式的存取方法 91
4.5.3 确定数据库的存储结构 92
4.6 数据库的实施、运行和维护 93
4.6.1 数据库的实施 93
4.6.2 数据库的试运行 94
4.6.3 数据库的运行和维护 94
思考练习题 95
第5章 结构化查询语言SQL 97
5.1 SQL结构化查询语言 97
5.1.1 SQL语言的特点 97
5.1.2 SQL数据库的三级模式结构 98
5.2 SQL的数据描述与操作 99
5.2.1 定义基表 99
5.2.2 定义索引 101
5.3 SQL语言的数据检索功能 102
5.4 SQL语言的数据更新功能 108
5.4.1 修改语句 108
5.4.2 插入语句 108
5.4.3 删除语句 109
5.4.4 SQL语言对视图的操纵 109
5.5 SQL的数据控制功能 113
5.5.1 SQL的数据控制方法 114
5.5.2 SQL Server数据操作 115
思考练习题 116
第6章 SQL Server数据库系统 118
6.1 SQL Server系统概述 118
6.2 SQL Server数据库结构 120
6.2.1 数据库逻辑体系结构 121
6.2.2 数据库物理体系结构 121
6.2.3 客户机和服务器的交互方式 127
6.2.4 SQL Server分布式查询 127
6.3 SQL Server客户机/服务器体系结构 128
6.3.1 SQL Server客户端组件 129
6.3.2 SQL Server服务器端组件 130
6.3.3 SQL Server对XML的支持 132
6.3.4 SQL Server传输组件 133
6.4 SQL Server系统管理与开发 134
6.4.1 分布式管理 134
6.4.2 管理工具 135
6.4.3 语言与编程接口 137
6.5 SQL Server 2008新功能 138
6.5.1 增强系统可靠性 138
6.5.2 方便系统开发 139
思考练习题 140
第7章 SQL Server系统应用与管理 142
7.1 SQL Server 2008的数据库类型 142
7.2 SQL Server数据管理 143
7.2.1 SQL Server数据定义语言 143
7.2.2 SQL Server的数据操作语言 147
7.3 SQL Server 2008数据库操作 148
7.3.1 创建用户数据库 149
7.3.2 修改用户数据库 153
7.3.3 删除用户数据库 154
7.3.4 数据库表应用操作 155
7.3.5 数据库表的创建 156
7.3.6 数据库表的修改 159
7.3.7 数据库表的删除 161
7.4 其他数据库应用操作 162
7.4.1 创建数据库视图 162
7.4.2 用工具和向导创建数据库图表 163
7.4.3 创建存储过程和触发器 163
7.4.4 数据库的安全管理 165
思考练习题 166
第8章 Transact-SQL语言结构 168
8.1 T-SQL语言概述 168
8.1.1 T-SQL语言特点 168
8.1.2 T-SQL附加语言 169
8.1.3 SQL Server查询分析器 175
8.2 Transact-SQL语言基础 175
8.3 Transact-SQL语言运算符 181
8.3.1 算术运算符 181
8.3.2 赋值运算符 183
8.3.3 位运算符 184
8.3.4 比较运算符 185
8.3.5 逻辑运算符 185
8.3.6 一元运算符 186
8.3.7 运算符的优先顺序 186
8.4 数据表的创建与维护 186
8.4.1 创建数据表 186
8.4.2 删除数据表 190
8.4.3 向数据表中插入记录 190
8.4.4 从数据表中删除记录 192
8.4.5 修改和更新记录 193
8.5 对数据库中数据表的操作 194
8.5.1 按条件查询数据 194
8.5.2 使用通配符和子查询 196
8.5.3 数据连接 198
8.5.4 数据排序 199
8.5.5 数据统计 200
8.6 数据库索引 201
8.6.1 索引的概念 202
8.6.2 索引类型 202
8.6.3 索引的创建与删除 203
8.6.4 索引的设计 204
8.7 数据库视图 206
8.7.1 视图的创建与删除 206
8.7.2 视图与数据修改 208
8.7.3 查询和视图的比较 208
8.8 函数 209
8.8.1 聚合函数 209
8.8.2 数学函数 214
8.8.3 字符串函数 215
8.8.4 系统函数 220
8.8.5 日期和时间函数 224
8.8.6 文本和图像函数 227
8.9 SQL Server数据库复制 228
8.9.1 数据库复制的技术体系 229
8.9.2 数据库复制原理 231
8.9.3 复制的拓扑结构 232
8.9.4 事务复制的实现 234
8.9.5 SQL Server数据备份与恢复 237
思考练习题 240
第9章 Transact-SQL程序设计 242
9.1 Transact-SQL的变量定义和流程控制语句 242
9.1.1 变量的定义和使用 242
9.1.2 流程控制语句 245
9.2 存储过程 254
9.2.1 存储过程概述 254
9.2.2 创建存储过程 256
9.2.3 调用存储过程 258
9.2.4 修改存储过程 260
9.2.5 删除存储过程 262
9.2.6 存储过程的优化 262
9.3 用户自定义的数据类型 263
9.4 触发器的应用 265
9.4.1 SQL Server触发器的用途 265
9.4.2 创建触发器 266
9.4.3 使用触发器 268
9.4.4 查看触发器的信息 272
9.4.5 修改和删除触发器 274
9.5 事务和锁 276
9.5.1 事务的概念 276
9.5.2 事务编程 278
9.5.3 锁 281
9.5.4 使事务更有效地工作 283
思考练习题 283
第10章 数据库安全与维护 285
10.1 SQL Server数据库的安全性管理概述 285
10.2 SQL Server数据库安全性管理与控制 287
10.3 SQL Server的安全体系结构和安全认证 291
10.4 SQL Server的权限管理 292
思考练习题 296
第11章 现代数据库技术 297
11.1 面向对象的数据库系统 297
11.1.1 面向对象的数据模型 298
11.1.2 面向对象数据库语言 299
11.1.3 面向对象数据库的模式演进 300
11.1.4 面向对象程序设计 301
11.2 并行数据库系统和分布式数据库系统 302
11.2.1 并行数据库系统 302
11.2.2 分布式数据库系统 303
11.3 数据仓库 304
11.3.1 从数据库到数据仓库 305
11.3.2 数据仓库的定义 306
11.3.3 数据仓库系统的结构 307
11.3.4 数据仓库的数据组织 308
11.3.5 数据仓库的数据模型 309
11.3.6 SQL Server数据仓库组件 311
11.3.7 SQL Server数据仓库的建设流程 313
11.4 数据挖掘 315
11.4.1 数据挖掘概述 315
11.4.2 数据挖掘模型 316
11.4.3 使用决策树模型从关系数据库中挖掘数据 318
11.4.4 应用聚类分析模型挖掘数据 319
思考练习题 320
第12章 网络数据库编程 321
12.1 网络数据库的连接 321
12.1.1 ODBC的管理 321
12.1.2 通过ODBC连接数据库 325
12.1.3 ADO简介 330
12.2 ASP编程 339
12.2.1 ASP概述 339
12.2.2 ASP的内置对象 342
12.2.3 ASP的内置组件 357
12.2.4 ASP实现对数据库的访问 362
12.3 JSP编程 365
12.3.1 JSP概述 365
12.3.2 JSP编程概要 366
12.3.3 JSP数据库访问技术 372
思考练习题 378
附录A 样本数据库 379
附录B SQL Server常用系统存储过程 382
附录C 函数一览表 385
附录D 配置ODBC所需的函数 392
附录E 各章思考练习题参考答案 393
E.1 第1章思考练习题参考答案 393
E.2 第2章思考练习题参考答案 394
E.3 第3章思考练习题参考答案 396
E.4 第4章思考练习题参考答案 397
E.5 第5章思考练习题参考答案 398
E.6 第6章思考练习题参考答案 399
E.7 第7章思考练习题参考答案 401
E.8 第8章思考练习题参考答案 402
E.9 第9章思考练习题参考答案 403
E.10 第10章思考练习题参考答案 404
E.11 第11章思考练习题参考答案 405
E.12 第12章思考练习题参考答案 406
参考文献 409