第1章 数据库技术基础 1
1.1数据库系统概述 1
1.1.1数据库的概念 1
1.1.2数据管理技术的产生和发展 3
1.1.3数据库系统的特点 4
1.2数据模型 5
1.2.1数据处理的三个世界 5
1.2.2实体间的联系 5
1.2.3数据模型的分类 7
1.2.4关系模型的规范化 8
1.2.5关系运算 10
1.3数据库系统结构 11
1.3.1数据库系统的三级模式结构 11
1.3.2数据库系统的二级映像 12
1.4数据库设计基础 13
1.4.1设计原则 13
1.4.2设计步骤 13
1.5需求分析 14
1.5.1需求分析的任务 14
1.5.2需求分析的方法 15
1.5.3数据字典 15
1.6数据库实施 18
1.6.1数据的载入和应用程序的调试 18
1.6.2数据库的试运行 18
课堂实践:教务管理系统的数据库设计 19
1.7本章小结 20
1.8思考与实践 20
第2章 MySQL概述 22
2.1 MySQL的功能及特点 22
2.1.1 MySQL的版本 22
2.1.2 MySQL的特性 23
2.2 MySQL的安装和配置 25
2.2.1安装MySQL 25
2.2.2配置MySQL服务器 28
2.2.3连接服务器 32
2.3 MySQL管理工具 33
2.3.1 MySQL Workbench管理工具 33
2.3.2 MySQL Administrator管理器工具 34
2.3.3 MySQL Query Browser数据查询工具 34
2.3.4 MySQL Migration Toolkit数据库迁移工具 34
课堂实践:MySQL的简单应用 34
2.4本章小结 46
2.5思考与实践 46
第3章 数据库的创建与管理 48
3.1 MySQL数据库简介 48
3.1.1数据库的构成 48
3.1.2数据库文件 49
3.1.3数据库对象 49
3.1.4数据库对象的标识符 50
3.2管理数据库 50
3.2.1创建数据库 50
3.2.2查看已有的数据库 51
3.2.3打开数据库 51
3.2.4修改数据库 52
3.2.5删除数据库 52
3.2.6使用MySQL Workbench管理数据库 53
课堂实践:创建和管理教务管理系统数据库 57
3.3本章小结 57
3.4思考与实践 57
第4章 表的创建与管理 59
4.1表概述 59
4.1.1表的概念 59
4.1.2表的类型 60
4.1.3表的数据类型 61
4.1.4表的设计 62
4.2创建和管理表 62
4.2.1创建表 62
4.2.2查看表的信息 65
4.2.3修改表结构 65
4.2.4删除表 67
4.3表数据操作 67
4.3.1添加数据 67
4.3.2更新数据 69
4.3.3删除数据 69
课堂实践1:创建教务管理系统数据表 69
4.4创建和管理索引 73
4.4.1索引概述 73
4.4.2创建索引 74
4.4.3查看索引 76
4.4.4删除索引 76
4.5数据完整性 77
4.5.1数据完整性的分类 77
4.5.2数据完整性的实现 78
4.5.3使用约束 78
课堂实践2:教务管理系统中表的约束管理 82
4.6本章小结 83
4.7思考与实践 83
第5章 数据查询与视图管理 87
5.1简单查询 87
5.1.1 SELECT语句结构 87
5.1.2 SELECT子语句 88
5.1.3 WHERE子语句 90
5.1.4 ORDER BY子语句 94
5.1.5 GROUP BY子语句 95
5.1.6 HAVING子语句 96
课堂实践1:简单查询的应用 97
5.2连接查询 101
5.2.1内连接 101
5.2.2外连接 104
5.2.3交叉连接 105
5.2.4自连接 106
5.2.5多表连接 107
课堂实践2:连接查询的应用 107
5.3子查询 112
5.3.1 IN子查询 112
5.3.2比较运算符子查询 113
5.3.3 ANY或ALL子查询 114
5.3.4 EXISTS子查询 116
课堂实践3:子查询的应用 117
5.4联合查询 120
5.4.1 UNION操作符 120
5.4.2 UNION操作符和JOIN操作符的区别与联系 122
5.5视图管理 122
5.5.1视图概述 122
5.5.2创建视图 123
5.5.3更新视图 124
5.5.4删除视图 124
课堂实践4:教务管理系统中视图管理的应用 125
5.6本章小结 125
5.7思考与实践 126
第6章 SQL语言基础 128
6.1 SQL基础 128
6.1.1标识符 128
6.1.2注释 128
6.1.3数据类型 129
6.1.4常量与变量 129
6.1.5操作符 132
6.1.6表达式 132
6.2函数 133
6.2.1系统函数 133
6.2.2存储函数 140
6.3流程控制语句 142
6.3.1顺序控制语句 142
6.3.2分支控制语句 142
6.3.3循环控制语句 144
6.4游标 145
6.4.1游标的概念 145
6.4.2游标的使用 145
课堂实践:游标在教务管理系统中的应用 147
6.5本章小结 147
6.6思考与实践 147
第7章 存储过程和触发器 150
7.1存储过程 150
7.1.1存储过程概述 150
7.1.2创建存储过程 150
7.1.3管理存储过程 153
7.1.4存储过程中的异常处理 155
课堂实践1:创建查询选课记录的存储过程 156
7.2触发器 158
7.2.1触发器概述 158
7.2.2创建触发器 158
7.2.3管理触发器 161
课堂实践2:创建一个插入事件触发器 163
7.3事件 164
7.3.1创建事件 164
7.3.2管理事件 165
7.4本章小结 167
7.5思考与实践 167
第8章 数据库安全管理 169
8.1 MySQL的安全性 169
8.1.1 MySQL安全性概述 169
8.1.2 MySQL安全管理等级 169
8.2用户管理 170
8.2.1创建用户 170
8.2.2修改用户名和密码 171
8.2.3删除用户 171
8.3权限管理 172
8.3.1权限概述 172
8.3.2授予权限 172
8.3.3收回权限 173
8.3.4查看权限 174
课堂实践1:创建数据管理员用户 174
8.4日志文件 175
8.4.1二进制日志 176
8.4.2错误日志 177
8.4.3通用查询日志 178
8.4.4慢查询日志 178
8.5数据备份与恢复 179
8.5.1数据备份 179
8.5.2数据恢复 182
课堂实践2:备份教务管理系统数据库 184
8.6本章小结 184
8.7思考与实践 185
第9章 事务与锁 186
9.1事务 186
9.1.1事务概述 186
9.1.2事务操作 187
9.2锁 190
9.2.1并发问题 190
9.2.2事务的隔离级别 191
9.2.3 MySQL中的锁定 192
课堂实践:定义一个学生选课的事务 195
9.3本章小结 197
9.4思考与实践 197
第10章 数据库应用开发实例 198
10.1系统分析 198
10.1.1开发背景 198
10.1.2需求分析 198
10.2系统设计 199
10.2.1系统功能设计 199
10.2.2数据库设计 200
10.2.3开发环境选择 207
10.3系统实现 208
10.3.1数据库访问设计 208
10.3.2登录模块设计 208
10.3.3图书借阅管理模块设计 209
10.3.4系统主模块设计 210
10.4本章小结 211
10.5思考与实践 212
参考文献 213