目录第1章数据库系统概述1
1.1数据库技术发展史1
1.1.1数据处理技术1
1.1.2数据库技术的3个发展阶段2
1.2数据库系统组成4
1.3数据库的体系结构6
1.3.1数据库的三级模式结构6
1.3.2数据库的两级映像8
1.4数据库的数据模型8
1.4.1信息的3种世界8
1.4.2概念模型9
1.4.3数据模型11
习题115
第2章关系数据库系统16
2.1关系数据结构16
2.1.1关系的定义和性质16
2.1.2关系数据库18
2.2关系的完整性19
2.3关系运算202.3.1传统的集合运算20
2.3.2专门的关系运算22
2.4关系的规范化27
2.4.1函数依赖27
2.4.2关系规范化的目的28
2.4.3关系规范化的过程30
习题233
第3章数据库设计34
3.1数据库设计概述34
3.2需求分析34
3.2.1需求分析的任务35
3.2.2需求分析的方法35
3.3概念结构设计36
3.3.1概念结构设计的方法36
3.3.2概念结构设计的步骤37
3.4逻辑结构设计38
3.4.1将ER图转换为关系数据模型39
3.4.2关系模式的优化41
3.4.3设计用户外模式41
3.5物理结构设计42
3.5.1确定数据库的物理结构42
3.5.2评价物理结构43
3.6数据库实施和运行、维护44
3.6.1数据库实施44
3.6.2数据库的运行与维护 44
3.7数据库设计实例45
3.7.1银行卡管理系统数据库设计45
3.7.2图书借阅管理系统数据库设计46
3.7.3设备仓库管理系统设计48
习题351
第4章MySQL基础52
4.1MySQL简介52
4.1.1MySQL的发展历史52
4.1.2MySQL的特点54
4.1.3MySQL 8.0的新特性54
4.2MySQL的安装与配置55
4.2.1MySQL的版本55
4.2.2MySQL的安装过程56
4.2.3MySQL的可视化管理工具Navicat66
4.3MySQL的使用67
4.3.1命令行方式67
4.3.2Navicat连接MySQL68
4.4SQL简介69
4.4.1SQL的特点69
4.4.2SQL的分类70
4.4.3SQL的基本语法71
习题472
第5章数据库和表的操作73
5.1MySQL数据库简介73
5.2数据库操作74
5.2.1创建数据库74
5.2.2选择和修改数据库76
5.2.3删除数据库77
5.3创建和修改表78
5.3.1数据类型78
5.3.2创建表82
5.3.3修改表85
5.4列约束和表约束86
5.4.1主键约束87
5.4.2UNIQUE约束88
5.4.3CHECK约束89
5.4.4DEFAULT约束90
5.4.5外键约束91
5.5表数据操作92
5.5.1向表中添加数据93
5.5.2修改表中数据94
5.5.3删除表中数据95
5.6删除表96
习题596
第6章数据库查询97
6.1SELECT查询语法97
6.2简单查询98
6.2.1投影查询98
6.2.2选择查询100
6.2.3聚合函数查询103
6.3分组查询104
6.3.1简单分组105
6.3.2HAVING关键字的应用105
6.4连接查询106
6.4.1内连接106
6.4.2自连接107
6.4.3外连接108
6.4.4交叉连接109
6.5子查询110
6.5.1无关子查询110
6.5.2相关子查询112
6.6其他查询114
6.6.1限制查询的行数114
6.6.2联合查询114
6.6.3对查询结果排序115
6.7数据操作中使用SELECT子句116
6.7.1在INSERT语句中使用SELECT子句116
6.7.2在UPDATE语句中使用SELECT子句117
6.7.3在DELETE语句中使用SELECT子句117
习题6117
第7章视图和索引118
7.1视图118
7.1.1视图概述118
7.1.2创建视图119
7.1.3修改视图121
7.1.4使用视图122
7.1.5删除视图123
7.2索引124
7.2.1索引概述124
7.2.2索引分类124
7.2.3创建索引126
7.2.4查看索引信息128
7.2.5删除索引129
习题7130
第8章MySQL编程131
8.1MySQL编程基础131
8.1.1标识符131
8.1.2变量132
8.1.3运算符134
8.1.4注释136
8.2流程控制语句137
8.2.1SET语句137
8.2.2BEGIN…END语句137
8.2.3DELIMITER 语句137
8.2.4IF…ELSE语句138
8.2.5CASE语句138
8.2.6WHILE语句140
8.3函数140
8.3.1系统内置函数140
8.3.2用户定义函数143
8.4存储过程146
8.4.1存储过程概述146
8.4.2创建存储过程147
8.4.3调用存储过程149
8.4.4查看和删除存储过程151
习题8151
第9章游标、触发器和事件152
9.1游标152
9.1.1游标概述152
9.1.2游标的操作153
9.2触发器156
9.2.1触发器概述156
9.2.2创建触发器157
9.2.3查看触发器162
9.2.4删除触发器163
9.3事件163
9.3.1事件概述164
9.3.2创建事件164
9.3.3查看、修改和删除事件166
习题9168
第10章事务与并发控制169
10.1事务169
10.1.1事务的特性170
10.1.2事务的类型171
10.1.3事务处理语句171
10.2并发控制174
10.2.1并发带来的问题174
10.2.2设置事务的隔离级别175
10.2.3锁简介176
10.2.4锁的分类176
10.2.5死锁179
习题10180
第11章数据库的安全管理181
11.1MySQL 权限介绍181
11.1.1MySQL的权限表181
11.1.2查看MySQL的用户权限182
11.2用户管理184
11.2.1创建登录用户账号184
11.2.2查看用户账号185
11.2.3删除用户账号186
11.3权限管理187
11.3.1权限的类别187
11.3.2权限操作189
11.4角色管理195
11.4.1创建角色195
11.4.2授予和撤销角色权限195
11.4.3授予和撤销用户角色196
11.4.4删除角色197
11.5数据加密198
11.5.1数据加密简介198
11.5.2数据加密和解密操作199
习题11201
第12章数据库的备份与恢复202
12.1数据库备份概述202
12.1.1数据库备份的类型202
12.1.2数据库备份操作203
12.2数据库恢复概述207
12.2.1数据库故障分类207
12.2.2数据库恢复策略208
12.2.3数据库恢复操作210
12.3数据的导入/导出212
12.3.1导出数据212
12.3.2导入数据216
习题12220
第13章基于Java Web的数据库应用系统开发221
13.1Java语言概述221
13.2IntelliJ IDEA工具简介223
13.2.1IDEA的特色功能223
13.2.2IDEA的优缺点224
13.3使用JDBC接口访问MySQL数据库224
13.4数据库应用系统开发实例228
13.4.1数据库设计228
13.4.2应用系统设计与实现232
习题13252
附录AMySQL实验253
实验1数据库设计: ER图253
实验2数据库设计: 关系模型254
实验3数据库和表的定义254
实验4数据库的完整性255
实验5表中数据的操作257
实验6简单数据查询和分组查询259
实验7连接查询和子查询260
实验8视图261
实验9索引261
实验10流程控制编程和函数262
实验11存储过程263
实验12触发器和事件264
实验13数据库的安全管理265
实验14数据库的备份与恢复266
实验15综合实验: 数据库实施267
参考文献268