第1章 关系数据库设计范式 1
1.1 数据库范式概述 1
1.2 数据库三大范式 1
1.2.1 第一范式(1NF) 2
1.2.2 第二范式(2NF) 3
1.2.3 第三范式(3NF) 5
1.3 数据库关系模式 7
1.3.1 关系数据库基本概念 7
1.3.2 关系模式的定义 9
1.3.3 关系模式的分解标准 10
1.3.4 关系模式的分解原理 11
1.3.5 关系模式的分解算法 13
本章小结 14
本章练习 14
第2章 关系数据库事务 18
2.1 关系数据库事务概述 18
2.1.1 事务特性 18
2.1.2 事务模型 19
2.1.3 并发事务 19
2.1.4 隔离级别 20
2.1.5 事务锁 20
2.2 事务操作 22
2.2.1 隔离级别设置 22
2.2.2 事务控制操作 23
本章小结 26
本章练习 26
第3章 存储过程开发 29
3.1 存储过程概述 29
3.1.1 存储过程的优点 29
3.1.2 存储过程的种类 30
3.2 基本语法 30
3.2.1 存储过程的创建 31
3.2.2 存储过程的调用 32
3.3 参数类型 33
3.3.1 IN输入参数 33
3.3.2 OUT输出参数 34
3.3.3 INOUT输入输出参数 35
3.3.4 课堂训练 37
3.4 变量 38
3.4.1 变量声明 38
3.4.2 变量作用域 40
3.4.3 课堂训练 41
3.5 存储过程应用语句 42
3.5.1 条件语句 42
3.5.2 循环语句 45
3.5.3 注释语句 48
3.5.4 课堂训练 49
3.6 游标 53
3.6.1 游标概述 53
3.6.2 游标使用 53
3.6.3 课堂训练 57
3.7 函数 58
本章小结 59
本章练习 59
第4章 触发器应用 66
4.1 触发器概述 66
4.1.1 触发器的作用 66
4.1.2 触发器的原理 67
4.2 触发器的使用 68
4.2.1 基本语法 68
4.2.2 高级操作 70
4.2.3 数据审计 72
4.2.4 课堂训练 75
本章小结 78
本章练习 79
第5章 关系数据库管理 82
5.1 数据库管理概述 82
5.1.1 认识数据库管理 82
5.1.2 数据库管理员 82
5.2 基础服务管理 83
5.2.1 开启服务器 83
5.2.2 登录服务器 84
5.2.3 关闭服务器 85
5.3 用户账户管理 85
5.3.1 修改账户密码 85
5.3.2 创建新账户 86
5.3.3 给新账户赋权 87
5.3.4 删除用户 88
5.3.5 课堂训练 89
5.4 数据管理 90
5.4.1 数据备份 90
5.4.2 数据恢复 92
5.4.3 课堂训练 93
本章小结 95
本章练习 96
第6章 查询检索高级应用 98
6.1 子查询 98
6.1.1 子查询类型 98
6.1.2 课堂训练 101
6.2 关键字应用 101
6.2.1 distinct 102
6.2.2 limit 103
6.2.3 having 103
6.2.4 union 105
6.2.5 课堂训练 107
本章小结 109
本章练习 109
第7章 PowerDesigner设计工具 119
7.1 概述 119
7.1.1 认识PowerDesigner 119
7.1.2 PowerDesigner创始人 119
7.2 数据建模 120
7.2.1 安装步骤 120
7.2.2 建表操作 121
7.2.3 创建主外键关系 123
7.2.4 生成SQL脚本 125
7.2.5 课堂训练 126
7.3 高级属性 127
7.3.1 数据模型概述 127
7.3.2 概念数据模型的操作 129
7.3.3 实体属性检查约束 133
7.3.4 实体标识符 134
7.3.5 实体数据项 136
7.3.6 实体联系 138
7.4 数据库综合设计案例 147
7.4.1 需求概述 147
7.4.2 数据建模设计 149
7.4.3 实体模型关系 152
本章小结 154
本章练习 155
第8章 关系数据库调优 156
8.1 概述 156
8.2 分区 157
8.2.1 分区操作 157
8.2.2 课堂训练 161
8.3 分表 162
8.3.1 横向切片 162
8.3.2 纵向切片 163
8.3.3 课堂训练 164
8.4 索引 165
8.4.1 认识索引 165
8.4.2 索引管理 167
8.4.3 课堂训练 168
8.5 SQL优化 169
8.5.1 SQL语句常见问题 170
8.5.2 SQL语句优化原则 171
本章小结 172
本章练习 172
附录1 常见问题解答 174
附录2 数据库环境搭建 177
参考文献 184