第1章 数据库设计基础 1
1.1 数据库设计概述 1
1.1.1 关系数据库概述 1
1.1.2 结构化查询语言SQL 2
1.1.3 数据库设计的基本步骤 3
1.2 关系模型 5
1.2.1 数据库和表 5
1.2.2 列和行 6
1.2.3 主键与外键 6
1.2.4 约束 7
1.3 E-R图 9
1.3.1 实体和属性 9
1.3.2 实体与属性之间的关系 10
1.3.3 E-R图的设计原则 11
本章总结 12
实践与练习 12
实验指导:E-R图的设计与画法 13
第2章 MySQL数据库概述 15
2.1 认识MySQL数据库 15
2.1.1 MySQL简介 15
2.1.2 MySQL体系结构 15
2.2 MySQL数据库的安装和配置 16
2.2.1 MySQL的安装和配置服务 16
2.2.2 启动和停止服务 23
2.2.3 MySQL加入环境变量 24
2.2.4 连接MySQL服务器 25
2.2.5 MySQL可视化操作工具 26
2.3 MySQL数据库的基本操作 28
2.3.1 创建数据库 28
2.3.2 查看数据库 29
2.3.3 显示数据库 29
2.3.4 选择当前数据库 30
2.3.5 删除数据库 30
2.4 MySQL数据库表结构的操作 30
2.4.1 创建数据表 30
2.4.2 查看数据库表结构 33
2.4.3 修改表结构 33
2.4.4 删除数据库表 36
2.5 MySQL存储引擎 37
2.5.1 InnoDB存储引擎 37
2.5.2 MyISAM存储引擎 38
2.5.3 存储引擎的选择 38
2.6 案例:网上书店系统 39
本章总结 42
实践与练习 42
实验指导:学生选课系统数据库设计 43
第3章 MySQL管理表记录 45
3.1 MySQL的基本数据类型 45
3.1.1 整数类型 45
3.1.2 小数类型 47
3.1.3 字符串类型 48
3.1.4 日期时间类型 50
3.1.5 复合类型 52
3.1.6 二进制类型 53
3.2 MySQL运算符 54
3.2.1 算术运算符 54
3.2.2 比较运算符 55
3.2.3 逻辑运算符 56
3.2.4 位运算符 57
3.2.5 运算符的优先级 58
3.3 字符集设置 59
3.3.1 MySQL字符集与字符排序规则 59
3.3.2 MySQL字符集的设置 60
3.4 增添表记录 61
3.4.1 INSERT语句 61
3.4.2 REPLACE语句 65
3.5 修改表记录 66
3.6 删除表记录 66
3.6.1 DELETE删除表记录 66
3.6.2 TRUNCATE清空表记录 67
3.7 案例:图书管理系统中表记录的操作 69
本章总结 73
实践与练习 73
实验指导 74
实验1 MySQL中字符集的设置 75
实验2 数据表中记录的插入、修改和删除 76
第4章 检索表记录 78
4.1 SELECT基本查询 78
4.1.1 SELECT…FROM查询语句 78
4.1.2 查询指定字段信息 79
4.1.3 关键字DISTINCT的使用 80
4.1.4 ORDER BY子句的使用 81
4.1.5 LIMIT子句的使用 81
4.2 条件查询 82
4.2.1 使用关系表达式查询 83
4.2.2 使用逻辑表达式查询 83
4.2.3 设置取值范围的查询 84
4.2.4 空值查询 84
4.2.5 模糊查询 85
4.3 分组查询 86
4.3.1 GROUP BY子句 87
4.3.2 HAVING子句 88
4.4 表的连接 88
4.4.1 内连接 89
4.4.2 外连接 91
4.4.3 自连接 92
4.4.4 交叉连接 93
4.5 子查询 93
4.5.1 返回单行的子查询 93
4.5.2 返回多行的子查询 94
4.5.3 子查询与数据更新 96
4.6 联合查询 98
4.7 案例:网上书店系统综合查询 99
本章总结 101
实践与练习 101
实验指导:学生选课系统数据库检索 102
第5章 视图和触发器 104
5.1 视图 104
5.1.1 创建视图 105
5.1.2 查看视图 110
5.1.3 管理视图 112
5.1.4 使用视图 113
5.2 触发器的使用 116
5.2.1 创建并使用触发器 117
5.2.2 查看触发器 119
5.2.3 删除触发器 120
5.2.4 触发器的应用 120
5.3 案例:在删除分类时自动删除分类对应的消息记录 124
本章总结 128
实践与练习 128
实验指导:视图、触发器的创建与管理 129
第6章 事务管理 131
6.1 事务机制概述 131
6.2 事务的提交和回滚 132
6.2.1 事务的提交 132
6.2.2 事务的回滚 134
6.3 事务的四大特性和隔离级别 136
6.3.1 事务的四大特性 136
6.3.2 事务的隔离级别 139
6.4 解决多用户使用问题 139
6.4.1 脏读 139
6.4.2 不可重复读 141
6.4.3 幻读 142
6.5 案例:银行转账业务的事务处理 143
本章总结 146
实践与练习 146
实验指导:MySQL中的事务管理 147
第7章 MySQL连接器JDBC和连接池 148
7.1 JDBC 148
7.2 JDBC连接过程 149
7.3 JDBC数据库操作 155
7.3.1 增加数据 155
7.3.2 修改数据 156
7.3.3 删除数据 157
7.3.4 查询数据 157
7.3.5 批处理 159
7.4 数据源 162
7.5 案例:分页查询大型数据库 164
本章总结 167
实践与练习 168
实验指导:学生选课系统数据库操作 169
第8章 Hibernate框架介绍 172
8.1 Hibernate简介 172
8.2 Hibernate原理 172
8.3 Hibernate的工作流程 174
8.4 Hibernate的核心组件 175
8.4.1 Configuration接口 175
8.4.2 SessionFactory接口 175
8.4.3 Session接口 176
8.4.4 Transaction接口 178
8.4.5 Query接口 178
8.4.6 Criteria接口 180
8.5 Hibernate框架的配置过程 182
8.5.1 导入相关jar包 182
8.5.2 创建数据库及表 183
8.5.3 创建实体类(持久化类) 184
8.5.4 配置映射文件 185
8.5.5 配置主配置文件 186
8.5.6 编写数据库 187
8.6 Hibernate的关系映射 196
8.7 案例:人事管理系统数据库 201
本章总结 209
实践与练习 209
实验指导:Hibernate框架的持久层数据操作 210
第9章 常见函数和数据管理 213
9.1 常见函数 213
9.1.1 数学函数 213
9.1.2 字符串函数 218
9.1.3 时间日期函数 223
9.1.4 数据类型转换函数 227
9.1.5 控制流程函数 227
9.1.6 系统信息函数 228
9.2 数据库备份与还原 229
9.2.1 数据的备份 229
9.2.2 数据的还原 232
9.3 MySQL的用户管理 234
9.3.1 数据库用户管理 234
9.3.2 用户权限设置 238
9.4 案例:数据库备份与恢复 242
本章总结 251
实践与练习 251
实验指导:数据库安全管理 252
第10章 综合案例——图书管理系统 254
10.1 系统需求分析 254
10.2 数据库设计 254
10.3 数据库表的创建 256
10.4 系统实现 259
10.4.1 使用JDBC访问MySQL数据库 259
10.4.2 管理员登录 261
10.4.3 系统参数设置 265
10.4.4 图书基本信息管理 271
10.4.5 图书馆藏信息管理 277
10.4.6 图书借阅管理 280
10.4.7 图书归还管理 287
10.4.8 读者登录 292
10.4.9 读者信息查询 294
10.4.10 读者图书查询 298
本章总结 303
参考文献 304