第1章 数据库系统概述 1
1.1 数据库系统概念 1
1.1.1 数据库 2
1.1.2 数据库管理系统 4
1.1.3 数据库管理员 7
1.1.4 应用系统 7
1.1.5 用户 8
1.2 数据库系统特点 8
1.3 数据库系统结构 9
1.3.1 三级模式内部结构 9
1.3.2 B/S与C/S应用结构 11
1.4 知识点小结 12
1.5 习题 12
第2章 信息与数据模型 13
2.1 信息的三种世界及描述 13
2.1.1 信息的现实世界 13
2.1.2 信息世界 14
2.1.3 信息的计算机世界 14
2.1.4 三个世界之间的对应关系 15
2.2 数据模型 16
2.2.1 数据模型的概念 16
2.2.2 数据处理三层抽象描述 16
2.2.3 数据模型的要素 17
2.2.4 数据模型与数据模式的区别 17
2.3 概念模型 18
2.3.1 基本概念 18
2.3.2 E-R模型 19
2.4 逻辑模型 21
2.4.1 层次模型 22
2.4.2 网状模型 22
2.4.3 关系模型 22
2.4.4 面向对象模型 23
2.5 概念模型向逻辑模型的转换 23
2.5.1 转换原则 23
2.5.2 转换实例 24
2.6 知识点小结 26
2.7 习题 26
2.8 概念模型(E-R图)画法与逻辑模式转换实验 26
第3章 关系模型与关系规范化理论 31
3.1 关系模型及其定义 31
3.1.1 关系模型概述 31
3.1.2 关系操作 34
3.1.3 关系的完整性 35
3.2 关系代数 37
3.2.1 关系的数学定义 37
3.2.2 关系代数概述 39
3.2.3 传统的集合运算 39
3.2.4 专门的关系运算 40
3.3 数据库设计的规范化 45
3.3.1 问题的提出 45
3.3.2 函数依赖 47
3.3.3 范式以及应用案例 50
3.3.4 规范化小结 53
3.4 知识点小结 54
3.5 习题 54
3.6 关系的完整性、规范化理解与应用实验 54
第4章 数据库设计方法 58
4.1 数据库设计概述 58
4.1.1 数据库设计的内容 58
4.1.2 数据库设计的步骤 59
4.2 系统需求分析 60
4.2.1 需求分析的任务 60
4.2.2 需求分析的方法 61
4.3 概念结构设计 65
4.3.1 概念结构设计的必要性 65
4.3.2 概念模型的特点 65
4.3.3 概念结构设计的方法与步骤 66
4.4 逻辑结构设计 72
4.4.1 逻辑结构设计的任务和步骤 72
4.4.2 初始关系模式设计 72
4.4.3 关系模式规范化 72
4.4.4 模式的评价与改进 73
4.5 物理结构设计 74
4.6 数据库实施 74
4.6.1 建立实际数据库结构 74
4.6.2 数据导入 74
4.6.3 应用程序编码与调试 75
4.6.4 数据库试运行 75
4.6.5 整理文档 76
4.7 数据库运行和维护 76
4.7.1 维护数据库的安全性与完整性 76
4.7.2 监测并改善数据库性能 76
4.7.3 重新组织和构造数据库 76
4.8 知识点小结 76
4.9 习题 77
4.10 利用PowerDesigner设计数据库系统实验 78
第5章 MySQL概述 94
5.1 MySQL简介 94
5.2 MySQL工作流程 96
5.3 MySQL系统构成 97
5.4 MySQL服务器与端口 98
5.5 MySQL的安装和使用 99
5.5.1 MySQL的下载安装 99
5.5.2 启动和停止MySQL服务器 110
5.5.3 连接和断开MySQL服务器 111
5.6 知识点小结 114
5.7 习题 114
第6章 MySQL存储引擎与数据库操作管理 115
6.1 存储引擎 115
6.1.1 存储引擎概述 115
6.1.2 InnoDB存储引擎 118
6.1.3 MyISAM存储引擎 119
6.1.4 MEMORY存储引擎 119
6.1.5 MERGE存储引擎 119
6.1.6 其他存储引擎 120
6.1.7 存储引擎的选择 120
6.2 字符集 121
6.2.1 字符集概述 121
6.2.2 MySQL支持的字符集 121
6.2.3 MySQL字符集的选择 123
6.2.4 MySQL字符集的设置 123
6.3 MySQL数据库操作管理 126
6.3.1 创建数据库 126
6.3.2 修改数据库名称 127
6.3.3 删除数据库 128
6.4 知识点小结 128
6.5 习题 128
6.6 MySQL安装创建和维护数据库实验 128
第7章 MySQL表定义与完整性约束控制 130
7.1 表的基本概念 130
7.2 数据类型 130
7.2.1 数值类型 131
7.2.2 日期时间类型 132
7.2.3 字符串类型 132
7.2.4 复合类型 133
7.2.5 二进制类型 134
7.2.6 选择合适的数据类型 134
7.3 运算符 134
7.3.1 算术运算符 134
7.3.2 比较运算符 135
7.3.3 逻辑运算符 138
7.3.4 位运算符 139
7.4 表的操作 140
7.4.1 创建表 140
7.4.2 查看表 142
7.4.3 修改表 143
7.4.4 复制表 144
7.4.5 删除表 145
7.4.6 表管理中的注意事项 145
7.5 MySQL约束控制 146
7.5.1 数据完整性约束 146
7.5.2 字段的约束 146
7.6 知识点小结 152
7.7 习题 152
7.8 数据表的创建与修改管理实验 152
第8章 MySQL数据操作管理 157
8.1 插入数据 157
8.1.1 为表的所有字段插入数据 157
8.1.2 为表的指定字段插入数据 159
8.1.3 同时插入多条记录 159
8.2 修改数据 160
8.3 删除数据 161
8.3.1 使用Delete命令删除表数据 161
8.3.2 使用tranate清空数据 162
8.4 单表查询 162
8.4.1 SELECT语法 162
8.4.2 简单查询 163
8.4.3 条件查询 167
8.4.4 高级查询 171
8.5 多表查询 177
8.5.1 内连接查询 178
8.5.2 子查询 180
8.6 知识点小结 184
8.7 习题 184
8.8 MySQL数据库表操作实验 185
实验一:MySQL数据库表的数据插入、修改、删除操作实验 185
实验二:MySQL数据库表数据的查询操作实验 186
第9章 MySQL索引 192
9.1 索引 192
9.1.1 索引概述 192
9.1.2 索引的作用 192
9.1.3 MySQL索引的分类 193
9.2 索引的管理 194
9.2.1 创建索引 194
9.2.2 查看索引 200
9.2.3 删除索引 201
9.3 索引设计原则和注意事项 202
9.4 知识点小结 203
9.5 习题 204
9.6 索引创建与管理实验 204
第10章 MySQL视图 206
10.1 视图 206
10.1.1 视图概述 206
10.1.2 视图的优势 206
10.1.3 视图的工作机制 207
10.2 视图定义和管理 207
10.2.1 创建视图 207
10.2.2 删除视图 209
10.2.3 查看视图 210
10.2.4 修改视图 211
10.3 更新视图数据 212
10.4 对视图的进一步说明 213
10.5 知识点小结 214
10.6 习题 214
10.7 视图创建与管理实验 214
第11章 MySQL存储过程与函数 217
11.1 存储过程与函数简介 217
11.1.1 概念 217
11.1.2 存储过程和函数区别 218
11.2 存储过程与函数操作 218
11.2.1 创建和使用存储过程或函数 218
11.2.2 变量 221
11.2.3 定义条件和处理 223
11.2.4 游标的使用 225
11.2.5 流程的控制 227
11.2.6 查看存储过程或函数 229
11.2.7 修改存储过程或函数 231
11.2.8 删除存储过程或函数 232
11.3 系统函数 233
11.3.1 数学函数 233
11.3.2 字符串函数 234
11.3.3 日期和时间函数 234
11.3.4 系统信息函数 235
11.3.5 加密函数 235
11.4 知识点小结 236
11.5 习题 236
11.6 存储过程与函数的创建管理实验 236
第12章 MySQL触发器与事件调度器 240
12.1 触发器 240
12.1.1 触发器的概念 240
12.1.2 创建使用触发器 241
12.1.3 查看触发器 244
12.1.4 删除触发器 244
12.1.5 对触发器的进一步说明 245
12.2 事件 245
12.2.1 事件的概念 245
12.2.2 创建事件 246
12.2.3 修改事件 247
12.2.4 删除事件 247
12.3 知识点小结 248
12.4 习题 248
12.5 触发器创建与管理实验 248
第13章 MySQL权限管理 251
13.1 访问控制 251
13.2 权限表 252
13.2.1 user表 252
13.2.2 db表和host表 253
13.2.3 tables_priv表 254
13.2.4 columns_priv表 255
13.2.5 procs_priv表 255
13.3 用户管理 255
13.3.1 添加用户 255
13.3.2 查看用户 257
13.3.3 修改用户账号 258
13.3.4 修改用户口令 258
13.3.5 删除用户 259
13.4 账户权限管理 260
13.4.1 权限授予 260
13.4.2 权限的转移和限制 262
13.4.3 权限的撤销 263
13.5 知识点小结 263
13.6 习题 264
13.7 数据库的安全机制管理上机实验 264
第14章 事务与MySQL的多用户并发控制 266
14.1 事务 266
14.1.1 事务的概念 266
14.1.2 事务的ACID特性 267
14.1.3 MySQL事务控制语句 269
14.1.4 事务的隔离性级别 269
14.2 MySQL的并发控制 271
14.2.1 并发概述 271
14.2.2 锁的概述 272
14.2.3 MyISAM表的表级锁 272
14.2.4 InnoDB表的行级锁 274
14.2.5 死锁 275
14.3 知识点小结 275
14.4 习题 276
第15章 MySQL数据库备份与还原 277
15.1 备份与还原概述 277
15.2 通过文件备份和还原 278
15.3 通过命令mysqldump备份还原 279
15.3.1 备份 279
15.3.2 还原 280
15.4 表的导入和导出 281
15.5 知识点小结 284
15.6 习题 285
15.7 数据库的备份与还原上机实验 285
第16章 MySQL日志管理 287
16.1 MySQL支持的日志 287
16.1.1 错误日志 288
16.1.2 启动 288
16.1.3 查看 288
16.1.4 删除 289
16.2 二进制日志 289
16.2.1 启动 289
16.2.2 查看 290
16.2.3 删除 290
16.2.4 二进制日志还原数据库 291
16.3 慢查询日志 292
16.3.1 启动 292
16.3.2 查看 292
16.3.3 删除 293
16.4 通用查询日志 293
16.4.1 启动 293
16.4.2 查看 294
16.4.3 删除 294
16.5 知识点小结 294
16.6 习题 295
16.7 MySQL日志管理上机实验 295
第17章 MySQL性能优化 297
17.1 性能优化概述 297
17.2 优化查询 298
17.2.1 分析语句查询 298
17.2.2 索引对查询速度的影响 299
17.2.3 使用索引查询 300
17.2.4 优化子查询 302
17.2.5 优化查询基本原则 303
17.3 优化数据库结构 304
17.3.1 将字段很多的表分解成多个表 304
17.3.2 增加中间表 304
17.3.3 增加冗余字段 305
17.3.4 优化插入记录的速度 305
17.3.5 分析表、检查表和优化表 306
17.4 优化MySQL服务器 307
17.4.1 优化服务器硬件 307
17.4.2 优化MySQL的参数 308
17.5 知识点小结 309
17.6 习题 309
17.7 MySQL性能优化上机实验 309
第18章 MySQL在Web技术中的应用 311
18.1 PHP概述 311
18.1.1 何谓PHP 311
18.1.2 PHP优势 311
18.1.3 PHP的工作原理 312
18.1.4 PHP结合数据库应用的优势 312
18.2 HTML与表单 313
18.2.1 HTML基础知识 313
18.2.2 HTML表单简介 314
18.2.3 表单数据的接收 316
18.3 使用PHP进行MySQL数据库编程 317
18.3.1 PHP对MySQL数据库的工作原理 317
18.3.2 编程步骤 317
18.3.3 使用PHP操作MySQL数据库 317
18.4 常见问题与解决方案 326
18.5 知识点小结 328
18.6 习题 328
18.7 使用PHP访问MySQL数据库上机实验 329
第19章 MySQL管理客户端应用工具 332
19.1 基于Workbench客户端应用工具操作MySQL 332
19.1.1 MySQL Workbench的安装 332
19.1.2 数据库基本操作 335
19.1.3 数据表基本操作 338
19.1.4 数据记录基本操作 343
19.1.5 管理SQL脚本 347
19.1.6 数据的导入和导出 349
19.2 基于Navicat客户端应用工具操作MySQL 351
19.2.1 下载与安装 352
19.2.2 查询操作 353
19.2.3 视图操作 356
19.2.4 索引操作 358
19.2.5 存储过程 359
19.2.6 备份和还原 360
19.2.7 用户与权限操作 361
19.3 基于XAMPP集成环境下phpMyAdmin操作MySQL 362
19.3.1 下载和安装 363
19.3.2 数据库的操作 364
19.3.3 表的操作 365
19.3.4 查询操作 367
19.3.5 视图操作 369
19.3.6 索引操作 369
19.3.7 存储过程操作 370
19.3.8 备份和恢复 371
19.3.9 用户与权限 372
参考文献 374