第1章 绪论 1
1.1 引言 1
1.1.1 基本概念 1
1.1.2 数据库技术的产生与发展 3
1.1.3 数据库技术的研究领域 5
1.2 数据模型 5
1.2.1 数据模型三要素 6
1.2.2 概念模型 6
1.2.3 数据模型 9
1.3 数据库系统结构 11
1.3.1 数据库系统模式结构 12
1.3.2 数据库系统体系结构 13
习题1 16
第2章 关系数据库 17
2.1 概述 17
2.2 关系数据结构 18
2.2.1 关系 18
2.2.2 关系模式 20
2.2.3 关系数据库 21
2.3 关系的完整性 21
2.4 关系代数 22
2.4.1 传统的集合运算 23
2.4.2 专门的关系运算 25
习题2 28
第3章 关系数据库标准语言SQL 29
3.1 SQL概述 29
3.1.1 SQL的特点 29
3.1.2 基本概念 31
3.2 数据定义 31
3.2.1 基本数据类型 32
3.2.2 定义、删除与修改基本表 32
3.2.3 创建与删除索引 34
3.3 查询 35
3.3.1 单表查询 37
3.3.2 连接查询 48
3.3.3 嵌套查询 52
3.3.4 集合查询 58
3.4 数据更新 60
3.4.1 插入数据 60
3.4.2 修改数据 61
3.4.3 删除数据 62
3.5 视图 63
3.5.1 定义视图 64
3.5.2 查询视图 67
3.5.3 更新视图 68
3.5.4 视图的优点 70
3.6 数据控制 71
3.6.1 权限与角色 71
3.6.2 授权与收回权限 72
3.7 嵌入式SQL 75
3.7.1 嵌入式SQL的说明部分 75
3.7.2 嵌入式SQL的可执行语句 76
3.7.3 动态SQL简介 78
3.8 存储过程 79
习题3 81
第4章 关系数据库设计理论 83
4.1 关系模型设计中的一些问题 83
4.2 数据依赖 85
4.3 范式 87
4.3.1 第一范式(1NF) 87
4.3.2 第二范式(2NF) 88
4.3.3 第三范式(3NF) 90
4.3.4 BC范式(BCNF) 91
4.3.5 多值依赖与第四范式(4NF) 93
4.4 关系模式的规范化 96
习题4 97
第5章 数据库保护 99
5.1 安全性 99
5.1.1 一般安全措施 99
5.1.2 SQL Server的安全性 101
5.2 完整性 110
5.2.1 完整性规则 111
5.2.2 SQL Server的完整性 113
5.3 并发控制 117
5.3.1 概述 117
5.3.2 并发操作的可串行化 120
5.3.3 封锁 121
5.3.4 死锁与活锁 126
5.3.5 SQL Server的并发控制 128
5.4 恢复 132
5.4.1 故障种类 133
5.4.2 恢复实现技术 134
5.4.3 恢复策略 135
5.4.4 SQL Server的恢复技术 136
习题5 140
第6章 数据库设计 141
6.1 概述 141
6.1.1 数据库设计的任务、内容及特点 141
6.1.2 设计步骤 142
6.2 需求分析 143
6.2.1 需求分析的任务 143
6.2.2 需求分析的主要内容 144
6.2.3 需求分析的主要步骤 144
6.2.4 需求分析说明书 146
6.3 概念结构设计 146
6.3.1 概念结构设计概述 147
6.3.2 数据抽象与局部视图设计 148
6.3.3 视图集成 150
6.4 逻辑结构设计 155
6.4.1 图向数据模型的转换 155
6.4.2 关系模型向DBMS支持的数据模型转换 158
6.4.3 数据模型的优化 158
6.4.4 设计外模式 159
6.5 数据库物理设计 160
6.5.1 聚簇设计 160
6.5.2 索引设计 161
6.5.3 分区设计 161
6.5.4 评价物理设计 162
6.6 数据库实施 163
6.7 数据库的运行与维护 165
习题6 166
第7章 数据库技术新进展 167
7.1 数据库技术发展概述 167
7.2 数据模型及数据库系统的发展 167
7.2.1 第一代数据库系统 168
7.2.2 第二代数据库系统——关系数据库系统 169
7.2.3 新一代数据库技术的研究和发展 170
7.3 数据库新技术 174
7.3.1 数据模型的发展 174
7.3.2 数据库技术与其他技术的结合 176
7.3.3 面向应用领域的数据库新技术 183
习题7 186
附录1 网上书店数据库设计 187
1 系统需求分析 187
2 E-R模型设计 187
3 数据库模型 190
3.1 数据库需求分析 190
3.2 数据库表 190
3.3 创建数据库脚本 191
附录2 在线考试系统数据库设计 193
1 系统概述 193
2 需求分析 194
3 系统建模 196
4 数据库分析与设计 197
参考文献 202