目录
第一篇数据库基础知识
第1章数据库系统概述3
学习目标3
思维导图3
1.1数据库的基本概念4
1.1.1数据4
1.1.2数据库4
1.1.3数据库管理系统4
1.1.4数据库系统5
1.2数据管理技术的发展6
1.2.1人工管理阶段(20世纪50年代中期以前)6
1.2.2文件系统阶段(20世纪50年代后期至60年代中期)6
1.2.3数据库系统阶段(20世纪60年代后期)7
1.3数据库系统的特点7
1.4数据模型概述8
1.4.1数据模型的概念、分类及构成8
1.4.2概念数据模型10
1.5数据库系统体系结构12
1.5.1三级模式结构13
1.5.2两级映像14
1.5.3两种数据独立性14
1.6数据库应用系统的开发架构15
1.6.1客户/服务器结构15
1.6.2浏览器/服务器结构16
1.7数据库应用和技术研究现状17
1.7.1数据库应用现状17
1.7.2数据库技术研究现状18
1.8本章小结19
1.9习题19〖1〗数
据
库
原
理
及
应
用
⌒
微
课
视
频
版
⌒〖1〗〖2〗〖2〗目
录
第2章关系数据库基础21
学习目标21
思维导图21
2.1关系数据库概述21
2.1.1关系数据库的发展21
2.1.2常用的关系数据库简介22
2.1.3关系数据库标准语言SQL简介25
2.1.4关系数据库的三层模式结构26
2.2关系模型26
2.2.1关系的形式定义27
2.2.2关系的基本性质28
2.2.3关系模型的数据结构28
2.2.4关系模型的数据操作33
2.2.5关系模型的数据完整性约束33
2.3实体联系模型向关系模型的转换35
2.4关系代数36
2.4.1传统的集合运算38
2.4.2专门的关系运算39
2.5本章小结45
2.6习题45第3章云数据库GaussDB47
学习目标47
思维导图47
3.1GaussDB概述48
3.1.1GaussDB的发展历程48
3.1.2GaussDB的特点和应用场景49
3.1.3GaussDB与其他云服务的关系50
3.1.4GaussDB的实例类型50
3.2GaussDB架构52
3.2.1常见数据库架构设计模型52
3.2.2GaussDB的主备架构和分布式架构53
3.2.3存储体系架构56
3.3使用GaussDB58
3.4创建与管理表空间60
3.4.1创建表空间60
3.4.2查看表空间61
3.4.3管理表空间62
3.5创建与管理数据库63
3.5.1创建数据库63
3.5.2管理数据库64
3.6本章小结65
3.7习题66
第二篇SQL语言与数据库编程
第4章数据定义69
学习目标69
思维导图69
4.1数据类型69
4.1.1常规数据类型70
4.1.2非常规数据类型72
4.2模式75
4.2.1模式概述75
4.2.2创建和管理模式75
4.3数据表定义和完整性定义功能76
4.3.1创建表77
4.3.2管理表81
4.3.3数据完整性约束的创建和管理82
4.4本章小结92
4.5习题92第5章数据查询与数据操作94
学习目标94
思维导图94
5.1数据查询94
5.1.1SELECT语句的命令格式94
5.1.2单表查询95
5.1.3连接查询110
5.1.4子查询117
5.2数据操作122
5.2.1插入数据123
5.2.2删除数据125
5.2.3更新数据126
5.3本章小结127
5.4习题128第6章视图与索引132
学习目标132
思维导图132
6.1视图132
6.1.1视图概述132
6.1.2创建和查看视图133
6.1.3重命名视图136
6.1.4删除视图136
6.1.5使用视图修改基本表的数据136
6.2索引138
6.2.1索引概述138
6.2.2创建和查看索引138
6.2.3修改索引141
6.2.4重新构建索引141
6.2.5删除索引142
6.3本章小结142
6.4习题143第7章数据库编程145
学习目标145
思维导图145
7.1数据库编程基础146
7.1.1PL/SQL简介146
7.1.2变量的定义和赋值147
7.1.3运算符与表达式149
7.1.4常用内置函数150
7.1.5控制流语句153
7.2存储过程158
7.2.1存储过程概述158
7.2.2创建和调用存储过程158
7.2.3修改和删除存储过程162
7.3用户自定义函数162
7.3.1创建和调用用户自定义函数162
7.3.2修改和删除自定义函数165
7.4游标166
7.4.1显式游标167
7.4.2显式游标的应用举例168
7.4.3游标FOR循环169
7.5触发器170
7.5.1触发器概述170
7.5.2创建触发器171
7.5.3触发器函数中的特殊变量172
7.5.4触发器应用举例173
7.5.5管理触发器175
7.6本章小结176
7.7习题177
第三篇数据库设计
第8章关系数据理论181
学习目标181
思维导图181
8.1问题的提出182
8.2函数依赖183
8.2.1函数依赖的定义及相关术语183
8.2.2Amstrong公理184
8.2.3逻辑蕴涵和闭包185
8.2.4属性集闭包及其算法186
8.2.5函数依赖集的等价和最小化187
8.3规范化191
8.3.1第一范式191
8.3.2第二范式192
8.3.3第三范式193
8.3.4BC范式194
8.3.5多值依赖与第四范式194
8.3.6关系模式规范化小结195
8.4模式分解196
8.4.1模式分解的准则196
8.4.23NF无损连接和保持函数依赖算法197
8.5本章小结199
8.6习题199第9章数据库设计202
学习目标202
思维导图202
9.1数据库设计概述203
9.1.1数据库设计的基本任务203
9.1.2数据库设计的方法203
9.1.3数据库设计的步骤204
9.2需求分析205
9.2.1需求分析的任务与内容205
9.2.2需求分析的步骤与方法205
9.3概念数据模型设计206
9.3.1实体—联系方法206
9.3.2概念数据模型设计的方法与步骤207
9.3.3数据库建模工具PowerDesigner208
9.3.4使用PowerDesigner建立概念数据模型的基本方法209
9.3.5概念数据模型设计实例212
9.4逻辑数据模型设计215
9.4.1把ER模型转换为关系数据模型215
9.4.2关系模式规范化的应用216
9.4.3逻辑数据模型设计实例216
9.5物理数据模型设计218
9.5.1物理数据模型设计的内容218
9.5.2物理数据模型设计实例219
9.6数据库的实施与维护224
9.6.1数据库的实施224
9.6.2数据库的运行和维护225
9.7本章小结225
9.8习题226第10章数据库访问技术及实践228
学习目标228
思维导图228
10.1数据库访问技术228
10.1.1数据库访问技术概述228
10.1.2连接GaussDB数据库230
10.2网络购物平台数据库访问实践238
10.2.1实体层239
10.2.2数据库访问层240
10.2.3可视化层241
10.3本章小结244
10.4习题245
第四篇数据库管理
第11章数据库安全管理249
学习目标249
思维导图249
11.1安全管理概述250
11.1.1安全层级与安全机制250
11.1.2GaussDB的安全机制251
11.2用户管理252
11.2.1数据库用户的分类252
11.2.2三权分立253
11.2.3创建用户254
11.2.4修改用户256
11.2.5删除用户257
11.3角色管理258
11.3.1PUBLIC角色258
11.3.2创建角色258
11.3.3修改角色259
11.3.4删除角色260
11.4权限管理260
11.4.1权限概述260
11.4.2授权262
11.4.3收回权限265
11.5数据库审计268
11.5.1审计概述268
11.5.2查看审计结果270
11.6本章小结272
11.7习题272第12章事务管理与并发控制273
学习目标273
思维导图273
12.1事务管理273
12.1.1事务的概念273
12.1.2事务的性质276
12.1.3GaussDB中的事务277
12.2并发控制281
12.2.1并发问题281
12.2.2封锁284
12.2.3死锁287
12.2.4活锁290
12.2.5隔离级别290
12.2.6MVCC294
12.3本章小结296
12.4习题297第13章数据库的恢复与迁移300
学习目标300
思维导图300
13.1数据库恢复概述300
13.1.1数据库的数据组织和存储301
13.1.2数据库的故障类别302
13.2数据库的日志与恢复303
13.2.1数据库日志概述303
13.2.2基于Undo和Redo日志的恢复304
13.2.3基于检查点的恢复306
13.3数据库的备份与恢复306
13.3.1数据库备份307
13.3.2数据库恢复309
13.3.3数据库的容灾技术309
13.4GaussDB的备份恢复实践312
13.4.1GaussDB的数据库备份与恢复312
13.4.2GaussDB的数据库导出与导入317
13.5数据库的迁移322
13.5.1数据库迁移概述322
13.5.2迁移到GaussDB的实践324
13.6本章小结325
13.7习题326参考文献329
