第1章 数据库系统概述 1
1.1 数据库系统的基本概念 1
1.1.1 数据管理与数据处理 1
1.1.2 数据库 2
1.1.3 数据库管理系统 2
1.1.4 数据库系统 2
1.2 数据描述与数据模型 4
1.2.1 数据的3种范畴 4
1.2.2 信息世界中所涉及的基本概念 4
1.2.3 机器世界中所涉及的基本概念 5
1.2.4 实体间的联系 5
1.3 概念数据模型与E-R表示方法 6
1.3.1 数据模型 6
1.3.2 概念数据模型 7
1.3.3 概念数据模型的E-R表示方法 8
1.3.4 概念数据模型实例 8
1.4 传统数据模型概述 10
1.4.1 层次模型 10
1.4.2 网状模型 11
1.4.3 关系模型 13
1.5 数据库系统结构 13
1.5.1 数据库系统模式的概念 13
1.5.2 数据库系统的三级模式结构 14
1.5.3 数据独立性 14
1.6 数据库管理系统的组成 15
1.7 数据库系统的组成 16
1.8 小结 16
习题1 17
第2章 关系数据库理论 21
2.1 关系模型 21
2.1.1 关系模型的基本概念 21
2.1.2 关系模式 23
2.2 关系模型的完整性 23
2.3 关系代数 24
2.3.1 关系代数概述 24
2.3.2 关系代数的基本操作 24
2.3.3 关系代数的其他操作 27
2.4 关系数据库规范化理论 28
2.4.1 关系规范化理论概述 28
2.4.2 函数依赖 30
2.4.3 关系的规范化 32
2.4.4 多值依赖与第四范式 34
2.4.5 各种范式之间的关系 35
2.5 小结 36
习题2 36
第3章 关系数据库语言SQL 41
3.1 SQL语言的功能与特点 41
3.2 表的基本操作 41
3.2.1 定义表 41
3.2.2 修改表 44
3.2.3 删除基本表 45
3.3 SQL的数据查询 45
3.3.1 单表查询 46
3.3.2 多表查询 52
3.4 SQL的视图操作 54
3.4.1 定义视图 54
3.4.2 创建视图 54
3.4.3 使用视图 55
3.4.4 删除视图 56
3.5 子查询 56
3.6 组合查询 58
3.7 数据的插入、修改与删除 59
3.7.1 插入数据 59
3.7.2 修改数据 60
3.7.3 删除数据 60
3.8 小结 61
习题3 61
第4章 SQL Server 2005应用基础 66
4.1 SQL Server 2005系统概述 66
4.2 SQL Server 2005版本说明 67
4.3 SQL Server 2005 Express Edition简介 68
4.4 SQL Server 2005安装与配置 70
4.4.1 安装时考虑的关键点 70
4.4.2 SQL Server 2005 Express Edition安装 71
4.4.3 SQL Server 2005组件 77
4.5 常见故障分析 80
4.6 数据库的创建 80
4.6.1 操作系统文件 80
4.6.2 数据库文件组 81
4.6.3 使用数据文件和文件组的建议 81
4.6.4 创建数据库 81
4.6.5 修改数据库 84
4.6.6 删除数据库 85
4.7 基本表的定义 85
4.7.1 创建基本表 85
4.7.2 修改基本表 89
4.7.3 删除基本表 91
4.8 索引的建立和删除 91
4.8.1 索引的概念 91
4.8.2 索引的类型 91
4.8.3 建立索引 92
4.8.4 删除索引 92
4.9 小结 92
习题4 93
第5章 SQL高级应用 94
5.1 Transact_SQL 94
5.1.1 Transact_SQL简介 94
5.1.2 Transact_SQL语法格式 94
5.1.3 Transact_SQL系统元素 96
5.2 Transact_SQL程序流程控制 99
5.2.1 IF...ELSE语句 99
5.2.2 BEGIN...END语句 100
5.2.3 GOTO语句 101
5.2.4 WHILE、BREAK、CONTINUE语句 101
5.2.5 WAITFOR语句 101
5.2.6 RETURN语句 102
5.2.7 CASE表达式 102
5.3 存储过程 103
5.3.1 存储过程的概念 103
5.3.2 存储过程的创建与执行 104
5.3.3 存储过程与参数 108
5.4 触发器 110
5.4.1 触发器的概念与工作原理 110
5.4.2 创建触发器 111
5.4.3 管理触发器 114
5.4.4 触发器的用途 115
5.5 小结 115
习题5 115
第6章 数据库设计 116
6.1 数据库设计的内容与特点 116
6.2 数据库设计方法 116
6.3 数据库设计步骤 117
6.4 数据库规划 118
6.5 需求分析 118
6.5.1 需求分析的任务 118
6.5.2 需求分析的方法 119
6.5.3 需求分析的步骤 119
6.6 概念结构设计 122
6.6.1 设计各局部应用的E-R模型 122
6.6.2 全局E-R模型的设计 122
6.7 逻辑结构设计 124
6.7.1 逻辑结构设计的步骤 124
6.7.2 E-R图向关系模型的转换 124
6.7.3 逻辑模式的优化 125
6.7.4 外模式的设计 126
6.8 物理结构设计 127
6.8.1 数据库物理结构设计的内容与方法 127
6.8.2 关系模式存取方法的选择 127
6.8.3 系统存储结构的确定 129
6.9 数据库的实施 130
6.9.1 数据库试运行 131
6.9.2 数据库的运行与维护 131
6.10 数据库应用的结构和开发环境 132
6.10.1 数据库应用模型 132
6.10.2 数据库应用开发环境ODBC 134
6.11 小结 137
习题6 137
第7章 数据库保护技术 140
7.1 事务机制 140
7.1.1 事务的概念与特性 140
7.1.2 事务的提交与回退 141
7.2 数据库安全性 142
7.2.1 对数据库安全的威胁 142
7.2.2 数据库安全性控制 143
7.2.3 视图机制 144
7.2.4 数据加密 144
7.2.5 SQL Server 2005的安全性 144
7.3 数据库完整性 147
7.3.1 数据库完整性概述 147
7.3.2 完整性控制 148
7.3.3 数据完整性的实现 150
7.4 数据库恢复 153
7.4.1 数据库的故障分类 153
7.4.2 数据库故障的基本恢复方式 154
7.4.3 恢复策略 156
7.4.4 具有检查点的恢复技术 158
7.4.5 SQL Server 2005备份与还原 159
7.5 并发控制 163
7.5.1 数据库并发操作带来的数据不一致性问题 163
7.5.2 封锁技术 165
7.5.3 锁协议 165
7.5.4 封锁带来的问题——活锁与死锁 166
7.5.5 并发调度的可串行性 168
7.5.6 SQL Server的并发控制 170
7.6 小结 171
习题7 172
第8章 数据库访问技术 176
8.1 ODBC的使用 176
8.1.1 ODBC概述 176
8.1.2 ODBC数据源的配置 177
8.2 ADO的使用 179
8.2.1 ADO概述 179
8.2.2 使用ADO技术访问数据库举例 181
8.3 ADO.NET简介 184
8.3.1 ADO.NET技术的设计目标 184
8.3.2 ADO.NET的体系结构 184
8.3.3 ADO.NET数据对象 190
8.4 JDBC技术 191
8.4.1 JDBC概述 191
8.4.2 JDBC驱动程序 192
8.4.3 JDBC常用类 193
8.5 小结 194
习题8 194
第9章 C语言数据库应用程序开发 195
9.1 嵌入式SQL语句 195
9.1.1 在C语言程序中嵌入SQL语句的程序开发环境的搭建 196
9.1.2 第一个在C语言程序中嵌入SQL语句的程序 197
9.2 静态SQL语句 199
9.2.1 声明嵌入式SQL语句中使用的C变量 199
9.2.2 连接数据库 201
9.2.3 数据的查询与更新 202
9.2.4 SQL通信区 203
9.3 动态SQL语句 205
9.3.1 动态修改 205
9.3.2 动态游标 206
9.3.3 SQLDA 208
9.4 C语言数据库应用程序开发实例 209
9.4.1 需求说明 209
9.4.2 数据库结构设计 209
9.4.3 数据库行为设计 210
9.4.4 系统实现 210
习题9 215
第10章 C#和ADO.NET数据库应用程序开发 216
10.1 数据库的连接 216
10.1.1 SqlConnection的使用 217
10.1.2 OleDbConnection的使用 218
10.1.3 OdbcConnection的使用 219
10.1.4 OracleConnection的使用 220
10.2 数据的获取 223
10.2.1 创建Command对象 223
10.2.2 执行命令 223
10.2.3 参数化查询 227
10.2.4 执行存储过程 229
10.3 DataReader的使用 231
10.3.1 DataReader简介 231
10.3.2 使用DataReader读取数据 232
10.3.3 在DataReader中使用多个结果集 234
10.4 DataSet和DataAdapter的使用 236
10.4.1 DataSet简介 236
10.4.2 DataAdapter简介 236
10.4.3 利用DataSet和DataAdapter访问数据 237
10.4.4 类型和无类型DataSet 239
10.5 性能 240
10.6 C#数据库应用程序开发实例 240
10.6.1 需求说明 241
10.6.2 数据库结构设计 241
10.6.3 数据库行为设计 242
10.6.4 系统实现 242
习题10 244
第11章 Java数据库应用程序开发 245
11.1 JDBC API简介 245
11.2 SQL和Java之间的映射关系 246
11.3 JDBC编程 247
11.3.1 数据库操作基本步骤 248
11.3.2 JDBC数据库操作实现 249
11.4 连接其他类型数据库 267
11.4.1 连接Oracle数据库 267
11.4.2 连接MySQL数据库 268
11.4.3 连接SQL Server数据库 269
11.4.4 JDBC:ODBC连接Access数据库 271
11.5 Java数据库应用程序开发实例 272
11.5.1 需求说明 272
11.5.2 数据库结构设计 273
11.5.3 数据库行为设计 273
11.5.4 系统实现 274
习题11 279
第12章 数据库新技术 282
12.1 面向对象数据库系统 282
12.1.1 对象关系数据库 284
12.1.2 面向对象数据库与传统数据库的比较 284
12.2 分布式数据库系统 286
12.2.1 分布式数据库系统概述 286
12.2.2 分布式数据库系统的设计 288
12.2.3 分布式数据库系统的安全技术 289
12.2.4 分布式数据库系统的发展前景与应用趋势 289
12.3 数据仓库 291
12.3.1 数据仓库的定义与特点 291
12.3.2 数据仓库的种类 292
12.3.3 数据集市 292
12.3.4 数据仓库中的几个数据 293
12.3.5 数据仓库模型 294
12.4 数据挖掘 295
12.4.1 数据挖掘的定义 295
12.4.2 数据挖掘的分类 295
12.4.3 数据挖掘的数据来源 295
12.4.4 数据挖掘的体系结构 296
12.4.5 数据挖掘的步骤 296
12.4.6 数据挖掘的功能 296
12.4.7 数据挖掘的常用技术 296
12.5 数据库技术的新应用 297
12.5.1 数据模型研究 297
12.5.2 与新技术结合的研究 297
12.5.3 与应用领域结合的研究 300
12.6 小结 302
习题12 302
附录A 实验部分 303
附录B 课程设计指导书 317