第1章 关系数据库设计基础 1
1.1 数据库系统的应用 1
1.1.1 应用实例 1
1.1.2 应用前景 3
1.2 数据库技术的发展 4
1.3 数据库的基本概念 6
1.3.1 实体和记录 6
1.3.2 数据库与数据表 6
1.3.3 数据库管理系统 7
1.3.4 数据库系统 8
1.4 主流的关系数据库 10
1.5 关系数据库设计 13
1.6 本章小结 13
1.7 思政拓展 14
1.8 习题 15
第2章 实体-联系模型 17
2.1 实体-联系模型的基本要素 17
2.1.1 实体与实体集 17
2.1.2 实体型与实体值 18
2.1.3 属性和域 19
2.1.4 联系与联系集 22
2.1.5 码 26
2.2 实体-联系图表示 28
2.2.1 E-R图的符号表示 28
2.2.2 E-R图的绘制 29
2.2.3 两种特殊情况的E-R图 32
2.3 E-R模型的设计 34
2.3.1 确定实体集、属性与实体间的联系 34
2.3.2 具有复合属性、多值属性和派生属性的E-R图 37
2.3.3 具有弱实体集的E-R图 38
2.4 E-R模型设计综合实例 39
2.4.1 E-R模型设计步骤 39
2.4.2 高等院校教学情况E-R模型设计 40
2.5 本章小结 43
2.6 思政拓展 43
2.7 习题 44
第3章 关系模型 46
3.1 关系模型的基本结构及术语 46
3.2 关系模型的数据操作 49
3.2.1 关系操作 49
3.2.2 关系代数 49
3.3 关系模型的完整性约束 60
3.3.1 实体完整性 60
3.3.2 参照完整性 60
3.3.3 用户定义的完整性 64
3.4 E-R模型转换为关系模型 65
3.5 关系模型的特点 71
3.6 本章小结 71
3.7 思政拓展 72
3.8 习题 73
第4章 关系数据库设计理论 75
4.1 冗余和存储异常问题 76
4.2 函数依赖 77
4.2.1 属性之间的联系 78
4.2.2 函数依赖 78
4.2.3 函数依赖的几种特例 81
4.3 关系范式 83
4.3.1 第一范式 83
4.3.2 第二范式 85
4.3.3 第三范式 86
4.4 关系模式的规范化 88
4.4.1 各范式之间的关系 88
4.4.2 关系模式的分解准则 89
4.5 关系数据库设计实例 90
4.5.1 关系数据库设计的基本步骤 90
4.5.2 关系数据库设计实例 91
4.6 本章小结 93
4.7 思政拓展 94
4.8 习题 95
第5章 SQL基础 97
5.1 SQL基本概念 97
5.1.1 SQL的标准 97
5.1.2 SQL的特点 98
5.1.3 SQL的功能概述 98
5.2 SQL数据类型 99
5.2.1 数值型 99
5.2.2 字符型 99
5.2.3 日期和时间型 99
5.2.4 货币型 100
5.2.5 SQL的标识符与关键字 101
5.3 数据定义语句 102
5.3.1 定义数据库与数据表 102
5.3.2 修改数据库与数据表 107
5.3.3 删除数据库与数据表 113
5.4 数据操作语句 115
5.4.1 插入数据 115
5.4.2 修改数据 117
5.4.3 删除数据 119
5.5 本章小结 121
5.6 思政拓展 122
5.7 习题 123
第6章 SQL查询 125
6.1 SQL基本查询语句 125
6.1.1 查询语句的基本结构 125
6.1.2 投影 126
6.1.3 选择 134
6.1.4 对查询结果进行排序 142
6.2 聚集查询 144
6.2.1 聚集函数 144
6.2.2 使用GROUP BY子句 148
6.2.3 使用HAVING子句筛选结果集 151
6.2.4 对WHERE、GROUP BY、HAVING的思考 153
6.3 连接查询 155
6.3.1 交叉连接查询 155
6.3.2 内连接查询 155
6.3.3 自连接查询 160
6.3.4 外连接查询 162
6.4 子查询 165
6.4.1 将子查询用作派生的表 166
6.4.2 将子查询用作表达式 166
6.4.3 相关子查询 178
6.4.4 使用EXISTS和NOT EXISTS操作符 180
6.5 集合查询 183
6.5.1 UNION与连接的区别 183
6.5.2 UNION中使用关键字ALL 184
6.5.3 UNION中的ORDER BY子句 185
6.5.4 UNION多次合并操作 186
6.6 关于引用AS指定的名字的规则 187
6.7 本章小结 188
6.8 思政拓展 188
6.9 习题 190
第7章 SQL的高级功能 192
7.1 视图 192
7.1.1 视图的概念 192
7.1.2 视图的定义 193
7.1.3 视图的查询 195
7.1.4 修改视图 196
7.1.5 删除视图 196
7.1.6 利用视图管理数据 197
7.2 约束 199
7.2.1 主键约束(PRIMARY KEY CONSTRAINT) 200
7.2.2 外键约束(FOREIGN KEY CONSTRAINT) 201
7.2.3 默认值约束(DEFAULT CONSTRAINT) 204
7.2.4 唯一约束(UNIQUE CONSTRAINT) 206
7.2.5 检查约束(CHECK CONSTRAINT) 206
7.2.6 非空约束(NOT NULL CONSTRAINT) 207
7.2.7 约束的作用对象 208
7.3 存储过程 209
7.3.1 存储过程的概念 209
7.3.2 存储过程的优点 209
7.3.3 存储过程的分类 210
7.3.4 常用的系统存储过程 210
7.3.5 创建与调用存储过程 211
7.3.6 管理存储过程 217
7.4 触发器 219
7.4.1 触发器的概念 220
7.4.2 触发器的结构 221
7.4.3 触发器的原理 222
7.4.4 创建触发器 224
7.4.5 管理触发器 225
7.5 安全控制 227
7.5.1 数据库的安全性控制 227
7.5.2 SQL中的安全性控制 229
7.6 事务和锁 232
7.6.1 事务 232
7.6.2 锁 235
7.7 本章小结 237
7.8 思政拓展 237
7.9 习题 239
第8章 大数据时代数据管理技术 241
8.1 大数据技术 241
8.1.1 大数据的概念 241
8.1.2 大数据的特点 243
8.1.3 大数据处理流程 243
8.2 数据仓库 245
8.2.1 数据仓库的概念 245
8.2.2 数据仓库的数据组织 247
8.2.3 数据仓库的系统结构 248
8.3 数据挖掘 250
8.3.1 数据挖掘的概念 250
8.3.2 数据挖掘流程 251
8.3.3 常见的数据挖掘工具 251
8.4 云数据库技术 253
8.4.1 云数据库技术概述 253
8.4.2 云数据库的关键技术 254
8.4.3 常见的云数据库 254
8.5 图数据库技术 255
8.5.1 图数据库技术概述 255
8.5.2 图数据库技术架构 256
8.5.3 常见的图数据库 257
8.6 时序数据库技术 259
8.6.1 时序数据库技术概述 259
8.6.2 常见的时序数据库 260
8.6.3 时序数据库的应用场景 261
8.7 本章小结 263
8.8 思政拓展 263
8.9 习题 264
附录A 实训 266
实训1 E-R模型设计 266
实训2 关系模型设计 268
实训3 关系数据库设计 271
实训4 熟悉SQL Server环境及物理创建数据库与表 274
实训5 数据定义语句 277
实训6 简单查询 281
实训7 聚集查询 284
实训8 连接查询 287
实训9 非相关子查询 290
实训10 数据操纵 292
实训11 视图 294
实训12 约束 297
实训13 存储过程 299
实训14 触发器 303