第1章 数据库概览——实例、概念与认识 1
1.1 数据管理技术的进展 1
1.1.1 人工管理阶段 1
1.1.2 文件系统阶段 1
1.1.3 数据库系统阶段 2
1.2 理解数据库系统 4
1.2.1 实例——商品订购管理系统 4
1.2.2 什么是数据库系统 5
1.3 数据库系统结构 6
1.3.1 数据库系统的三级模式结构 6
1.3.2 数据库系统的二级映像 7
1.3.3 数据库管理系统 8
1.3.4 数据库系统所需人员 9
1.4 数据模型 10
1.4.1 数据模型的概念 10
1.4.2 概念数据模型 11
1.4.3 逻辑数据模型 13
1.5 数据库系统的发展 14
1.5.1 数据库系统发展的阶段 14
1.5.2 数据库系统主要研究领域 15
本章小结 16
习题1 16
第2章 关系数据模型——数据库理论基础 18
2.1 关系数据结构 18
2.1.1 二维表与关系数据结构 18
2.1.2 关系数据结构的形式化定义 20
2.1.3 关系的性质 22
2.1.4 关系模式 22
2.1.5 关系数据库 22
2.1.6 码 24
2.2 关系操作 25
2.2.1 基本关系操作 25
2.2.2 关系数据语言分类 25
2.2.3 关系代数 26
2.3 关系完整性 31
2.3.1 实体完整性 32
2.3.2 参照完整性 32
2.3.3 用户定义完整性 32
本章小结 33
习题2 33
第3章 关系数据库语言SQL——数据库应用基础 34
3.1 SQL概述 34
3.1.1 SQL的特点 35
3.1.2 SQL基本概念 35
3.1.3 SQL语言的组成 37
3.1.4 SQL语句分类 37
3.2 SQL语言的数据类型 37
3.3 数据定义 40
3.3.1 模式定义 40
3.3.2 基本表定义 41
3.3.3 索引定义 44
3.3.4 视图定义 46
3.4 数据查询 47
3.4.1 SELECT语句结构 48
3.4.2 单表查询 48
3.4.3 连接查询 56
3.4.4 嵌套查询 60
3.4.5 集合查询 66
3.4.6 视图查询 67
3.5 数据更新 68
3.5.1 数据插入 69
3.5.2 数据修改 70
3.5.3 数据删除 70
3.5.4 视图更新 71
3.5.5 更新操作与数据完整性 72
本章小结 73
习题3 73
第4章 数据库设计——数据库应用系统开发总论 74
4.1 数据库设计概述 74
4.1.1 数据库设计的含义 74
4.1.2 数据库设计的特点 75
4.1.3 数据库设计的六阶段 76
4.2 数据库设计步骤 77
4.2.1 需求分析 77
4.2.2 概念设计 80
4.2.3 逻辑设计 82
4.2.4 物理设计 86
4.2.5 数据库实施 88
4.2.6 数据库运行与维护 91
本章小结 92
习题4 92
第5章 构建数据库的概念模型——应用系统开发基础 93
5.1 E-R模型 93
5.1.1 E-R模型中的基本概念 93
5.1.2 基本E-R模型 94
5.1.3 扩展E-R模型 96
5.2 用E-R方法构建数据库的概念模型 98
5.2.1 实体与属性的划分 98
5.2.2 联系与聚集的使用 99
5.2.3 自顶向下和自底向上的设计方法 99
5.2.4 ERwin——E-R模型设计工具 100
5.3 E-R模型向关系模型的转换 104
5.3.1 实体型的表示 104
5.3.2 联系的表示 104
5.3.3 其他转换规则 105
5.4 UML对象模型* 106
5.4.1 UML简介 106
5.4.2 用UML构建数据库的概念模型 106
本章小结 108
习题5 108
第6章 关系规范化理论——关系数据库设计理论基础 110
6.1 数据冗余与操作异常问题 110
6.1.1 数据冗余与操作异常 110
6.1.2 问题原因分析 111
6.2 函数依赖 112
6.2.1 函数依赖的基本概念 112
6.2.2 函数依赖的分类 112
6.2.3 函数依赖与数据冗余 113
6.3 范式 113
6.3.1 关系模式和码 114
6.3.2 基于函数依赖的范式 114
6.3.3 多值依赖与4NF 118
6.4 数据依赖公理系统 120
6.4.1 逻辑蕴含 120
6.4.2 Armstrong公理系统 120
6.4.3 函数依赖集的闭包 121
6.4.4 最小依赖集 122
6.5 模式分解 123
6.5.1 无损分解 123
6.5.2 函数依赖保持 126
本章小结 128
习题6 128
第7章 应用系统中的SQL及相关技术——应用开发关键技术 130
7.1 在应用中使用SQL 130
7.2 T-SQL程序设计 131
7.2.1 T-SQL程序设计基础 131
7.2.2 流程控制语句 134
7.2.3 批处理和脚本 139
7.2.4 函数 140
7.2.5 游标 147
7.3 存储过程和触发器 154
7.3.1 存储过程 154
7.3.2 触发器 160
7.4 嵌入式SQL 163
7.4.1 嵌入式SQL的处理 163
7.4.2 主语言语句与SQL语句 164
7.4.3 ESQL与主语言间的通信 165
7.4.4 程序实例 167
7.5 数据库访问接口 171
7.5.1 开放数据库互连ODBC 172
7.5.2 OLE DB和ADO 178
7.5.3 ADO.NET 181
7.5.4 JDBC 184
本章小结 185
习题7 185
第8章 数据库应用开发——过程、平台与实例 186
8.1 数据库应用系统的开发过程 186
8.2 数据库应用系统的体系结构 188
8.2.1 单用户模式 188
8.2.2 主从式多用户模式 188
8.2.3 C/S模式 188
8.2.4 B/S模式 189
8.3 常用的数据库系统 190
8.3.1 SQL Server 190
8.3.2 Oracle 195
8.3.3 Sybase 197
8.3.4 DB2 197
8.3.5 MySQL 198
8.3.6 VFP 199
8.3.7 Access 199
8.3.8 数据库系统的选择 199
8.4 常用数据库应用开发工具简介 200
8.4.1 Visual Studio 200
8.4.2 Delphi 201
8.4.3 PowerBuilder 202
8.4.4 Eclipse 202
8.5 Visual Basic数据库应用开发 203
8.5.1 VB程序设计概述 203
8.5.2 VB数据库访问接口 204
8.5.3 VB数据库应用系统开发案例——商品订购管理系统 218
8.6 C#数据库应用开发 228
8.6.1 C#程序设计概述 228
8.6.2 ADO.NET数据库应用技术 235
8.6.3 C#数据库应用系统开发案例——商品订购管理系统 243
本章小结 254
习题8 254
第9章 数据库保护——数据库管理基础 255
9.1 数据库保护概述 255
9.2 数据库安全 256
9.2.1 数据库安全保护范围 256
9.2.2 数据库安全性目标 256
9.2.3 数据库安全控制 257
9.2.4 SQL Server的安全机制 259
9.3 数据库完整性 266
9.3.1 完整性概念 266
9.3.2 DBMS的完整性控制 267
9.3.3 SQL Server的完整性机制 269
9.4 并发控制 273
9.4.1 事务 274
9.4.2 事务的并发执行 275
9.4.3 并发调度的可串行化 276
9.4.4 封锁 277
9.4.5 活锁与死锁 279
9.4.6 SQL Server的事务处理和锁机制 280
9.5 数据库恢复 284
9.5.1 故障种类 284
9.5.2 数据库恢复技术 284
9.5.3 SQL Server的恢复技术 287
本章小结 290
习题9 291
第10章 数据库新进展——领域知识拓展 292
10.1 数据库技术的研究与发展 292
10.1.1 数据库技术的发展 292
10.1.2 数据库发展的特点 293
10.1.3 数据库技术的研究方向 294
10.2 数据仓库与数据挖掘 297
10.2.1 数据仓库 297
10.2.2 数据挖掘 299
10.2.3 数据仓库与数据挖掘 301
10.3 XML数据管理 302
10.3.1 XML概述 302
10.3.2 XML数据模型 302
10.3.3 XML数据查询 304
本章小结 304
习题10 304
附录A 实验指导 305
实验1 SQL Server Management Studio管理工具的使用 305
实验2 数据库、表的创建 306
实验3 表数据插入、修改和删除 309
实验4 数据查询 312
实验5 索引 316
实验6 视图 318
实验7 T-SQL编程 319
实验8 存储过程和触发器 321
实验9 数据库完整性 324
实验10 数据库应用系统开发——学生成绩管理系统 325
附录B T-SQL常用语句 327
附录C SQL Server常用系统存储过程 330
附录D SQL Server常用@@类函数 332
参考文献 333