第1章 数据库系统概述 1
1.1 数据与数据管理 1
1.1.1 信息与数据 1
1.1.2 数据管理技术的发展 3
1.2 数据库系统组成 4
1.2.1 数据库 4
1.2.2 数据库管理系统 5
1.2.3 数据库应用系统 6
1.3 数据描述与数据模型 7
1.3.1 现实世界的数据描述 7
1.3.2 数据模型 8
1.3.3 层次模型 8
1.3.4 网状模型 9
1.4 关系模型 10
1.4.1 关系模型的基本概念 10
1.4.2 关系的键与关系的属性 14
1.5 数据库的内部体系结构 15
1.5.1 数据库内部体系结构中的三级模式结构 15
1.5.2 数据库内部体系结构中的两级映像与数据独立性 17
1.5.3 数据库内部体系结构的概念 20
习题1 20
第2章 关系运算 22
2.1 关系的数学定义 22
2.1.1 笛卡儿积的数学定义 22
2.1.2 关系的数学定义 23
2.2 关系代数 24
2.2.1 基于传统集合理论的关系运算 24
2.2.2 关系代数特有的关系运算 26
2.2.3 用基本关系运算表示4种非基本关系运算 29
2.2.4 关系代数运算在关系数据库查询操作中的应用 32
2.3 关系演算 35
2.3.1 元组关系演算 35
2.3.2 域关系演算 38
2.4 三种关系运算表达能力的等价性 40
2.4.1 关系演算表达式的安全性约束 40
2.4.2 安全的元组关系演算表达式满足的条件 40
2.4.3 安全的域关系演算表达式满足的条件 41
2.4.4 三种关系运算表达能力的等价性定理 41
习题2 42
第3章 数据库应用系统设计方法 45
3.1 数据库应用系统设计概述 45
3.1.1 数据库应用系统的生命周期 45
3.1.2 数据库应用系统设计方法 46
3.1.3 数据库应用系统研发、管理和使用人员视图级别 47
3.2 用户需求分析 48
3.2.1 用户需求分析过程 48
3.2.2 数据流图及用户业务处理逻辑描述 50
3.2.3 数据字典 51
3.2.4 数据库应用系统的功能需求 53
3.2.5 数据库应用系统环境配置与安全性需求 54
3.3 数据库概念结构设计 55
3.3.1 属性表概念结构设计方法 55
3.3.2 实体集与联系集 56
3.3.3 实体集之间的联系 57
3.3.4 E-R图设计方法 58
3.3.5 实体-联系模型设计中的一些特殊情况 60
3.3.6 基于E-R图的概念结构设计步骤和方法 62
3.4 数据库逻辑结构设计 65
3.4.1 属性表表示的概念结构向关系模型的转换 65
3.4.2 E-R图表示的概念结构向关系模型的转换 65
3.4.3 关系数据库模式的规范化设计及优化 68
3.5 数据库物理结构设计 69
3.5.1 数据库的物理文件与数据表 70
3.5.2 数据库物理文件的存储位置 70
3.5.3 索引技术(数据表的存储结构与组织方式1) 71
3.5.4 数据聚簇(数据表的存储结构与组织方式2) 78
3.5.5 数据库物理结构评价 79
3.6 数据库实现技术简介 80
3.7 数据库应用系统运行与系统维护 81
3.7.1 软件维护 81
3.7.2 运行与维护时期的主要工作 82
习题3 82
第4章 SQL Server 2005数据库与数据表的创建 84
4.1 认识SQL Server 2005关系数据库系统 84
4.1.1 SQL Server的基础知识 84
4.1.2 SQL Server Management Studio 85
4.1.3 SQL Server 2005的服务器管理 87
4.1.4 SQL Server 2005的联机丛书和教程 92
4.2 SQL Server 2005数据库的存储结构 94
4.3 SQL Server 2005数据库创建 95
4.3.1 SQL Server 2005数据库 95
4.3.2 使用SQL Server Management Studio创建数据库 96
4.4 创建数据表 98
4.4.1 使用表设计器创建表 99
4.4.2 表结构的修改 101
4.4.3 表的删除 106
4.5 表中数据的插入和更新 106
4.6 创建索引 108
4.6.1 SQL Server 2005中的索引 108
4.6.2 建立索引的基本原则 110
4.6.3 使用SQL Server Management Studio操作索引 110
习题4 115
第5章 关系数据库语言SQL 116
5.1 SQL的功能与特点 116
5.1.1 SQL的功能 116
5.1.2 SQL的特点 117
5.2 表的基本操作 118
5.2.1 表的定义、修改与撤销 118
5.2.2 数据的插入、修改、删除 124
5.3 SQL数据查询 126
5.3.1 简单查询 126
5.3.2 SQL中的常用函数及其使用方式 133
5.3.3 SQL高级查询技术 135
5.4 SQL的视图操作 142
5.4.1 视图的概念 142
5.4.2 视图的定义 142
5.4.3 在视图上进行查询操作 143
5.4.4 用户视图对数据库应用系统设计及系统性能带来的影响 143
5.5 SQL中带有子查询的数据更新操作 144
5.5.1 带有子查询的数据插入操作 144
5.5.2 带有子查询条件的数据更新操作 145
5.6 嵌入式SQL与游标应用 146
5.6.1 嵌入式SQL 146
5.6.2 SQL Server 2005的游标及其使用 147
习题5 154
第6章 关系数据库模式设计 156
6.1 关系约束与关系模式的表示 156
6.2 对关系模式进行规范化设计的必要性 157
6.3 函数依赖 159
6.3.1 函数依赖的定义 159
6.3.2 具有函数依赖约束的关系模式 160
6.3.3 函数依赖的逻辑蕴涵 161
6.4 函数依赖的公理体系 161
6.4.1 阿姆斯特朗公理 162
6.4.2 阿姆斯特朗公理的推论 162
6.4.3 X关于F的闭包及其计算 163
6.4.4 最小函数依赖集 165
6.5 关系模式的分解 168
6.5.1 关系模式分解的概念 168
6.5.2 保持无损的分解 170
6.5.3 保持依赖的分解 173
6.6 关系模式的规范化 174
6.6.1 候选键的求解方法 174
6.6.2 第一范式(1NF) 176
6.6.3 第二范式(2NF) 177
6.6.4 第三范式(3NF) 179
6.6.5 鲍依斯-柯德范式 181
6.6.6 范式之间的关系和关系模式的规范化 181
6.6.7 向3NF的模式分解算法 182
6.7 关系模式的规范化方法小结 184
习题6 185
第7章 Transact-SQL与存储过程 188
7.1 脚本、批处理与注释符 188
7.2 Transact-SQL的语言要素 190
7.2.1 常量 190
7.2.2 变量 191
7.2.3 表达式与运算符 193
7.2.4 Transact-SQL函数 194
7.3 Transact-SQL流程控制语句 197
7.3.1 BEGIN…END语句 197
7.3.2 IF…ELSE语句 197
7.3.3 CASE语句 198
7.3.4 WHILE语句 198
7.3.5 WAITFOR语句 199
7.3.6 其他语句 199
7.4 基于Transact-SQL的数据库创建与管理应用 200
7.4.1 利用Transact-SQL语句创建数据库 200
7.4.2 利用Transact-SQL语句管理数据库 202
7.5 存储过程 205
7.5.1 存储过程概述 205
7.5.2 创建存储过程 207
7.5.3 执行存储过程 210
7.5.4 管理存储过程 211
习题7 215
第8章 数据库应用系统体系结构与访问技术 217
8.1 数据库应用系统体系结构的变迁 217
8.1.1 集中式计算模式的数据库应用系统 217
8.1.2 C-S结构的数据库应用系统 218
8.1.3 B-S结构的数据库应用系统 221
8.1.4 C-S结构与B-S结构的性能比较 223
8.2 数据库访问接口 225
8.2.1 ODBC的体系结构 225
8.2.2 ODBC的控制机制与实现方法 227
8.2.3 ADO.NET的组件和对象 229
8.2.4 ADO.NET数据访问模式与访问数据库的方法 234
8.3 VB.NET的数据绑定及其控件 236
8.3.1 VB.NET简介 236
8.3.2 VB.NET数据绑定概念与DataGridView控件 236
8.3.3 使用DataGridView代码方式绑定数据源 238
8.3.4 使用DataGridView可视化操作方式绑定数据源 240
习题8 245
第9章 数据库应用程序设计 246
9.1 系统功能与数据表格式 246
9.2 登录数据库窗体及程序代码设计 247
9.3 学生信息添加窗体及程序代码设计 250
9.4 学生信息查询窗体及程序代码设计 253
9.5 学生成绩查询窗体及程序代码设计 256
9.6 学生成绩维护窗体及程序代码设计 258
9.7 系统主界面窗体及程序代码设计 262
9.8 系统运行 263
习题9 267
第10章 数据库保护技术 268
10.1 事务机制 268
10.1.1 事务的概念及其特性 268
10.1.2 事务的提交与回退 269
10.2 数据库的安全性 270
10.2.1 数据库安全的威胁 271
10.2.2 数据库安全控制 272
10.2.3 视图机制 275
10.2.4 审计 276
10.3 数据库的完整性 277
10.3.1 域完整性约束 277
10.3.2 实体完整性约束 278
10.3.3 参照完整性约束 279
10.3.4 用户定义完整性约束 280
10.3.5 SQL Server 2005的完整性约束 282
10.4 数据库恢复 290
10.4.1 数据库的故障分类 291
10.4.2 数据库故障的基本恢复方式 291
10.4.3 恢复策略 294
10.4.4 具有检查点的恢复技术 295
10.4.5 数据库镜像 297
10.4.6 SQL Server数据库的备份和恢复 297
10.5 并发控制 299
10.5.1 数据库并发操作带来的数据不一致性问题 300
10.5.2 锁 301
10.5.3 锁协议 302
10.5.4 封锁带来的问题——活锁与死锁 303
10.5.5 并发调度的可串行性 305
10.5.6 两段锁协议 306
10.5.7 锁的粒度 307
习题10 309
第11章 数据库技术新发展 310
11.1 应用需求推动数据库新技术的研究与发展 310
11.1.1 新应用领域对数据库技术的需求 310
11.1.2 关系数据库系统的局限性 312
11.1.3 数据库技术新发展 313
11.2 分布式数据库系统 313
11.2.1 分布式数据库系统的定义及其理论基础 313
11.2.2 分布式数据库系统的特点 315
11.2.3 分布式数据库系统的分类 315
11.2.4 分布式数据库系统的目标 315
11.2.5 分布式数据库管理系统的组成 316
11.2.6 分布式数据库系统的参考体系结构 317
11.3 面向对象数据库系统 319
11.3.1 对象的逻辑结构 319
11.3.2 对象间的限制和联系 319
11.3.3 面向对象数据库管理系统的基本要求 320
11.3.4 面向对象数据库管理系统的组成 321
11.3.5 面向对象数据库系统的发展 322
11.4 多媒体数据库 323
11.4.1 多媒体数据处理和数据管理的新技术要求 323
11.4.2 多媒体数据库管理系统的组织结构 324
11.4.3 多媒体数据库技术的发展 325
11.5 主动数据库系统 326
11.5.1 主动数据库的知识模型 326
11.5.2 主动数据库系统的组成 328
11.5.3 主动数据库管理系统的功能 328
11.5.4 主动数据库的实现 328
11.5.5 事件知识库的实现 329
11.5.6 事件监视器的实现 329
11.5.7 主动数据库系统的发展 329
11.6 嵌入式数据库 330
11.6.1 嵌入式数据库的基本架构 330
11.6.2 嵌入式数据库的主要特点 330
11.6.3 嵌入式数据库的应用 331
11.7 面向应用领域的数据库新技术 332
11.7.1 工程数据库 332
11.7.2 统计数据库 333
11.7.3 空间数据库 333
11.8 数据仓库技术 334
11.8.1 数据仓库技术的基本思想 334
11.8.2 数据仓库的数据组织 334
11.8.3 数据仓库的体系结构 335
习题11 339
附录A SQL Server 2005数据库管理系统的安装 341
附录B 教学管理数据库应用系统案例程序代码 348
参考文献 358