- 中国铁道出版社
- 9787113300821
- 2-2
- 465203
- 66259715-2
- 16开
- 2023-05
- 计算机类
- 高职
作者简介
内容简介
本书以MySQL8.0数据库为平台,由3部分构成:基础技能部分(第1-6章)、提升技能部分(第8-10章)和综合技能部分(第7章和第11章)。主要内容包括MySQL数据库环境搭建、创建和管理数据库,创建和管理数据表,用T-SQL语句操作数据,单表查询、模糊查询、分组查询、多表连接查询和子查询,阶段项目—QQ数据库管理,索引、视图和事务,存储过程和触发器,用户与权限,数据备份和恢复,课程技能项目—银行ATM系统数据库设计与实现。本书采用新形态立体化设计,配套了丰富的数字化教学资源,包括微课视频、课程标准、授课计划、电子教案、授课用PPT、案例素材、项目源代码、习题答案及解析等等。本书所配套的大规模在线开放课程(MOOC)已经在“智慧职教MOOC学院”上线,教师可以调用本课程构建符合本校教学特色的SPOC课程,也可以搭建自己的“线上线下混合式教学”课堂,促进教学模式创新和教学质量提升。本书参考了“1+X”职业技能等级证书“Web前端开发”标准和“世界技能大赛—Web技术赛项”的赛项规程,适合作为高等职业学校数据库类课程的教材,也适合作为“Web前端开发”职业技能等级证书的考证培训用书和“世界技能大赛—Web技术赛项”的集训参考书。
目录
第 1 章 认识数据库和部署 MySQL环境 ………………………… 1
1.1 认识数据库系统 …………………… 2
1.1.1 数据库基本概念 ………………………2
1.1.2 常用数据库 ……………………………3
1.2 认识 MySQL ……………………… 4
1.2.1 MySQL 简介 …………………………4
1.2.2 MySQL 版本 …………………………4
1.3 安装和配置 MySQL 服务器 ……… 5
1.3.1 下载 MySQL …………………………5
1.3.2 安装 MySQL …………………………6
1.3.3 配置 MySQL ……………………… 10
【技能训练 1-1】在自己的计算机上
下载、安装和配置 MySQL……………… 17
1.4 MySQL 图形化管理工具 ………… 18
1.4.1 MySQL Workbench……………… 18
1.4.2 Navicat for MySQL ……………… 19
1.4.3 SQLyog …………………………… 20
1.4.4 phpMyAdmin …………………… 20
小结 ……………………………………… 20
习题 ……………………………………… 21
第 2 章 创建和管理数据库 ………… 23
2.1 连接 MySQL 服务器 ……………… 24
2.1.1 字符集和校对规则 ………………… 24
2.1.2 启动 MySQL 服务 ………………… 24
2.1.3 连接 MySQL 服务器 ……………… 27
2.1.4 设置 MySQL 字符集 ……………… 27
【技能训练 2-1】在自己的计算机上启动
和连接服务器并修改字符集… ………… 29
2.2 使用 Workbench 连接登录 MySQL服务器 ……………………………… 29
【技能训练 2-2】使用 Workbench 登录到自己计算机的 MySQL 服务器………… 33
2.3 创建和管理 SchoolDB 数据库 …… 34
2.3.1 创建数据库 ………………………… 34
【技能训练 2-3】创建 SchoolDB数据库… ………………………………… 39
2.3.2 管理数据库 ………………………… 40
【技能训练 2-4】管理 SchoolDB
数据库… ………………………………… 41
小结 ……………………………………… 42
习题 ……………………………………… 42
第 3 章 创建和管理数据表 ………… 44
3.1 数据表的完整性 …………………… 45
3.1.1 实体和记录 ………………………… 45
3.1.2 数据完整性 ………………………… 46
3.1.3 主键和外键 ………………………… 47
3.2 创建和管理数据表 ………………… 47
3.2.1 数据类型 …………………………… 47
3.2.2 创建数据表 ………………………… 51
【技能训练 3-1】创建 SchoolDB 数据库中的数据表… …………………………… 56
3.2.3 管理数据表 ………………………… 57
3.3 完善数据表的结构设计 …………… 60
3.3.1 非空约束 …………………………… 61
3.3.2 唯一约束 …………………………… 61
3.3.3 主键约束 …………………………… 63
【技能训练 3-2】为 SchoolDB 数据库中的3 张数据表设置非空、唯一和主键约束…… 65
3.3.4 默认值约束 ………………………… 66
3.3.5 检查约束 …………………………… 68
【技能训练 3-3】为 SchoolDB 数据库中的两张数据表设置检查约束和默认值约束…… 68
3.4 建立数据表间关系 ………………… 69
3.4.1 数据表间的关系图和关系表 ……… 69
3.4.2 设置外键约束 ……………………… 70
【技能训练 3-4】为 SchoolDB 数据库中的3 张数据表设置外键约束………………… 71
小结 ……………………………………… 72
习题 ……………………………………… 73
第 4 章 插入、修改和删除数据 …… 76
4.1 SQL 概述…………………………… 77
4.1.1 SQL 简介 ………………………… 77
4.1.2 SQL 组成 ………………………… 77
4.2 MySQL 运算符 …………………… 78
4.2.1 算术运算符 ………………………… 78
4.2.2 关系运算符 ………………………… 79
4.2.3 逻辑运算符 ………………………… 80
4.2.4 赋值运算符 ………………………… 81
4.3 插入数据 …………………………… 81
4.3.1 插入单条记录 ……………………… 81
【技能训练 4-1】在 SchoolDB 数据库中,为课程表 Subject 插入数据……………… 83
4.3.2 插入多条记录 ……………………… 85
【技能训练 4-2】在 SchoolDB 数据库中,为成绩表 Result 插入数据… …………… 87
4.3.3 插入查询的结果 …………………… 90
4.4 使用 UPDATE 语句修改数据 …… 91
【技能训练 4-3】在 SchoolDB 数据库中,修改数据表中的数据… ………………… 92
4.5 删除数据 …………………………… 94
4.5.1 使用 DELETE 语句删除表中记录 … 94
4.5.2 使用 TRUNCATE 语句清空数据表 … 96
【技能训练 4-4】在 SchoolDB 的数据表中删除不需要的学生记录… ……………… 96
小结 ……………………………………… 96
习题 ……………………………………… 97
第 5 章 单表查询和模糊查询 …… 100
5.1 查询基础 ………………………… 101
5.1.1 使用 SELECT 语句进行查询 … 101
【技能训练 5-1】对数据库 SchoolDB 的数据表进行简单查询… …………………106
5.1.2 使用 ORDER BY 子句进行
查询排序 …………………………… 107
【技能训练 5-2】对数据库 SchoolDB 的数据表进行简单查询并排序… …………108
5.2 使用函数查询数据 ……………… 109
5.2.1 字符串函数 ……………………… 109
5.2.2 日期函数 ………………………… 112
5.2.3 数学函数 ………………………… 113
【技能训练 5-3】对数据库 SchoolDB 的数据表进行简单查询并使用函数… ……114
【技能训练 5-4】函数综合技能训练……115
5.3 模糊查询 ………………………… 117
5.3.1 通配符和模糊查询 ……………… 117
5.3.2 使用 LIKE 进行模糊查询 ……… 117
【技能训练 5-5】使用 LIKE 对 SchoolDB的数据表进行模糊查询… ………………117
5.3.3 使用 BETWEEN 在某个范围内进行查询 …………………………… 118
5.3.4 使用 IN 在列举值内进行查询 … 120
5.4 使用聚合函数进行数据的统计 … 120
5.4.1 SUM( ) 函数 …………………… 120
5.4.2 AVG( ) 函数 …………………… 121
5.4.3 MAX( ) 函数和 MIN( ) 函数…… 122
5.4.4 COUNT( ) 函数 ………………… 122
【技能训练 5-6】使用聚合函数对SchoolDB 的数据表进行汇总查询………123
小结 …………………………………… 124
习题 …………………………………… 125
第 6 章 分组查询和多表查询 …… 128
6.1 分组查询 ………………………… 129
6.1.1 使用 GROUP BY 进行分组查询 … 129
【技能训练 6-1】使用 GROUP BY 对SchoolDB 的数据表进行分组查询………131
6.1.2 使用 HAVING 子句进行分组筛选 133
【技能训练 6-2】使用 HAVING 对SchoolDB 的数据表进行分组筛选………135
6.2 多表查询 ………………………… 136
6.2.1 内连接查询 ……………………… 136
【技能训练 6-3】使用内连接对 SchoolDB的数据表进行多表查询… ………………140
6.2.2 外连接查询 ……………………… 142
【技能训练 6- 4】使用外连接对 SchoolDB 的数据表进行多表查询……144
6.3 子查询 …………………………… 145
6.3.1 简单子查询 ……………………… 145
【技能训练 6-5】使用子查询对SchoolDB 的数据表进行查询……………148
6.3.2 IN 子查询 ……………………… 148
【技能训练 6-6】使用 IN 子查询对
SchoolDB 的数据表进行查询……………149
6.3.3 EXISTS 子查询 ………………… 150
【技能训练 6-7】使用 EXISTS 子查询对SchoolDB 的数据表进行查询……………152
小结 …………………………………… 152
习题 …………………………………… 153
第 7 章 阶段项目——QQ 数据库管理 ……………………… 156
7.1 项目分析 ………………………… 157
7.1.1 项目概述 ………………………… 157
7.1.2 开发环境 ………………………… 157
7.1.3 项目覆盖的技能要点 …………… 157
7.1.4 项目数据表设计 ………………… 157
7.2 项目需求及实现 ………………… 159
7.2.1 创建 QQ 数据库………………… 159
7.2.2 创建数据表 ……………………… 159
7.2.3 添加约束 ………………………… 159
7.2.4 建立表间关系 …………………… 159
7.2.5 插入测试数据 …………………… 160
7.2.6 查询数据 ………………………… 161
7.2.7 修改数据 ………………………… 164
7.2.8 删除数据 ………………………… 165
7.3 进度记录 ………………………… 165
小结 …………………………………… 165
习题 …………………………………… 166
第 8 章 索引、视图和事务 ……… 168
8.1 索引 ……………………………… 169
8.1.1 索引的定义 ……………………… 169
8.1.2 索引分类 ………………………… 169
8.1.3 创建和应用索引 ………………… 170
【技能训练 8-1】在 QQ 数据库 QQDB
上,创建和应用索引… …………………173
8.1.4 管理索引 ………………………… 174
【技能训练 8-2】管理 SchoolDB 数据库和 QQDB 数据库中的索引…………175
8.2 视图 ……………………………… 175
8.2.1 视图概述 ………………………… 175
8.2.2 创建和应用视图 ………………… 176
8.2.3 管理视图 ………………………… 179
【技能训练 8-3】在数据库 SchoolDB 中,创建和应用视图… ………………………180
8.3 事务 ……………………………… 181
8.3.1 事务概述 ………………………… 181
8.3.2 事务的价值 ……………………… 182
8.3.3 事务的处理 ……………………… 184
【技能训练 8- 4】在数据库 SchoolDB 中,使用事务批量插入学生考试成绩,并为毕业的学生办理离校手续… ……………187
小结 …………………………………… 189
习题 …………………………………… 189
第 9 章 存储过程和触发器 ……… 192
9.1 MySQL 编程基础 ……………… 193
9.1.1 常量和变量 ……………………… 193
9.1.2 流程控制语句 …………………… 195
9.2 存储过程 ………………………… 196
9.2.1 存储过程概述 …………………… 196
9.2.2 创建和管理存储过程 …………… 197
【技能训练 9-1】在 SchoolDB 数据库中,通过存储过程实现查询学习了“C 语言程序设计”课程所有学生的成绩… ……199
【技能训练 9-2】在 SchoolDB 数据库中,通过带输入参数的存储过程实现查询学习了某一门课程所有学生的成绩… ………202
【技能训练 9-3】在 SchoolDB 数据库中,通过带输入参数和输出参数的存储过程,实现查询任意一门课程所有学生的成绩,并带回该课程的平均分… ………………204
9.3 触发器 …………………………… 205
9.3.1 创建触发器 ……………………… 205
【技能训练 9- 4】在 SchoolDB 数据库中,创建一个删除课程表 Subject 中某门课程的触发器,并验证有效性… ……………208
9.3.2 管理触发器 ……………………… 209
小结 …………………………………… 209
习题 …………………………………… 210
第 10 章 管理和维护数据库 ……… 212
10.1 数据库的安全管理 …………… 213
10.1.1 用户管理 ……………………… 213
10.1.2 权限管理 ……………………… 215
【技能训练 10-1】管理 SchoolDB 数据库的用户和权限… …………………………220
10.2 备份和恢复数据库 …………… 220
10.2.1 备份数据 ……………………… 220
10.2.2 恢复数据 ……………………… 224
【技能训练 10-2】备份和恢复 SchoolDB数据库中的数据… ………………………226
小结 …………………………………… 227
习题 …………………………………… 227
第 11 章 课程项目——银行 ATM 系统的数据库设计与实现 ……… 229
11.1 数据库设计概述 ……………… 230
11.1.1 为什么需要数据库设计 ……… 230
11.1.2 数据库设计步骤 ……………… 231
11.1.3 数据库的概念设计 …………… 233
11.1.4 E-R 图向关系模型的转换 …… 236
11.1.5 数据库设计的规范化 ………… 237
11.2 项目分析 ……………………… 242
11.2.1 需求概述 ……………………… 242
11.2.2 开发环境 ……………………… 242
11.2.3 项目覆盖的技能要点 ………… 243
11.2.4 需求分析 ……………………… 243
11.3 项目需求实现 ………………… 246
11.3.1 数据库设计 …………………… 246
11.3.2 创建数据库和登录用户并授权 … 246
11.3.3 创建数据表并添加约束 ……… 247
11.3.4 插入测试数据 ………………… 248
11.3.5 模拟常规业务 ………………… 250
11.3.6 创建和使用视图以中文标题查询输出各表信息 ……………………… 253
11.3.7 使用存储过程实现开户处理 … 254
11.3.8 使用事务实现转账功能 ……… 255
11.4 进度记录 ……………………… 257
小结 …………………………………… 258
习题 …………………………………… 259
参考文献 …………………………… 260
1.1 认识数据库系统 …………………… 2
1.1.1 数据库基本概念 ………………………2
1.1.2 常用数据库 ……………………………3
1.2 认识 MySQL ……………………… 4
1.2.1 MySQL 简介 …………………………4
1.2.2 MySQL 版本 …………………………4
1.3 安装和配置 MySQL 服务器 ……… 5
1.3.1 下载 MySQL …………………………5
1.3.2 安装 MySQL …………………………6
1.3.3 配置 MySQL ……………………… 10
【技能训练 1-1】在自己的计算机上
下载、安装和配置 MySQL……………… 17
1.4 MySQL 图形化管理工具 ………… 18
1.4.1 MySQL Workbench……………… 18
1.4.2 Navicat for MySQL ……………… 19
1.4.3 SQLyog …………………………… 20
1.4.4 phpMyAdmin …………………… 20
小结 ……………………………………… 20
习题 ……………………………………… 21
第 2 章 创建和管理数据库 ………… 23
2.1 连接 MySQL 服务器 ……………… 24
2.1.1 字符集和校对规则 ………………… 24
2.1.2 启动 MySQL 服务 ………………… 24
2.1.3 连接 MySQL 服务器 ……………… 27
2.1.4 设置 MySQL 字符集 ……………… 27
【技能训练 2-1】在自己的计算机上启动
和连接服务器并修改字符集… ………… 29
2.2 使用 Workbench 连接登录 MySQL服务器 ……………………………… 29
【技能训练 2-2】使用 Workbench 登录到自己计算机的 MySQL 服务器………… 33
2.3 创建和管理 SchoolDB 数据库 …… 34
2.3.1 创建数据库 ………………………… 34
【技能训练 2-3】创建 SchoolDB数据库… ………………………………… 39
2.3.2 管理数据库 ………………………… 40
【技能训练 2-4】管理 SchoolDB
数据库… ………………………………… 41
小结 ……………………………………… 42
习题 ……………………………………… 42
第 3 章 创建和管理数据表 ………… 44
3.1 数据表的完整性 …………………… 45
3.1.1 实体和记录 ………………………… 45
3.1.2 数据完整性 ………………………… 46
3.1.3 主键和外键 ………………………… 47
3.2 创建和管理数据表 ………………… 47
3.2.1 数据类型 …………………………… 47
3.2.2 创建数据表 ………………………… 51
【技能训练 3-1】创建 SchoolDB 数据库中的数据表… …………………………… 56
3.2.3 管理数据表 ………………………… 57
3.3 完善数据表的结构设计 …………… 60
3.3.1 非空约束 …………………………… 61
3.3.2 唯一约束 …………………………… 61
3.3.3 主键约束 …………………………… 63
【技能训练 3-2】为 SchoolDB 数据库中的3 张数据表设置非空、唯一和主键约束…… 65
3.3.4 默认值约束 ………………………… 66
3.3.5 检查约束 …………………………… 68
【技能训练 3-3】为 SchoolDB 数据库中的两张数据表设置检查约束和默认值约束…… 68
3.4 建立数据表间关系 ………………… 69
3.4.1 数据表间的关系图和关系表 ……… 69
3.4.2 设置外键约束 ……………………… 70
【技能训练 3-4】为 SchoolDB 数据库中的3 张数据表设置外键约束………………… 71
小结 ……………………………………… 72
习题 ……………………………………… 73
第 4 章 插入、修改和删除数据 …… 76
4.1 SQL 概述…………………………… 77
4.1.1 SQL 简介 ………………………… 77
4.1.2 SQL 组成 ………………………… 77
4.2 MySQL 运算符 …………………… 78
4.2.1 算术运算符 ………………………… 78
4.2.2 关系运算符 ………………………… 79
4.2.3 逻辑运算符 ………………………… 80
4.2.4 赋值运算符 ………………………… 81
4.3 插入数据 …………………………… 81
4.3.1 插入单条记录 ……………………… 81
【技能训练 4-1】在 SchoolDB 数据库中,为课程表 Subject 插入数据……………… 83
4.3.2 插入多条记录 ……………………… 85
【技能训练 4-2】在 SchoolDB 数据库中,为成绩表 Result 插入数据… …………… 87
4.3.3 插入查询的结果 …………………… 90
4.4 使用 UPDATE 语句修改数据 …… 91
【技能训练 4-3】在 SchoolDB 数据库中,修改数据表中的数据… ………………… 92
4.5 删除数据 …………………………… 94
4.5.1 使用 DELETE 语句删除表中记录 … 94
4.5.2 使用 TRUNCATE 语句清空数据表 … 96
【技能训练 4-4】在 SchoolDB 的数据表中删除不需要的学生记录… ……………… 96
小结 ……………………………………… 96
习题 ……………………………………… 97
第 5 章 单表查询和模糊查询 …… 100
5.1 查询基础 ………………………… 101
5.1.1 使用 SELECT 语句进行查询 … 101
【技能训练 5-1】对数据库 SchoolDB 的数据表进行简单查询… …………………106
5.1.2 使用 ORDER BY 子句进行
查询排序 …………………………… 107
【技能训练 5-2】对数据库 SchoolDB 的数据表进行简单查询并排序… …………108
5.2 使用函数查询数据 ……………… 109
5.2.1 字符串函数 ……………………… 109
5.2.2 日期函数 ………………………… 112
5.2.3 数学函数 ………………………… 113
【技能训练 5-3】对数据库 SchoolDB 的数据表进行简单查询并使用函数… ……114
【技能训练 5-4】函数综合技能训练……115
5.3 模糊查询 ………………………… 117
5.3.1 通配符和模糊查询 ……………… 117
5.3.2 使用 LIKE 进行模糊查询 ……… 117
【技能训练 5-5】使用 LIKE 对 SchoolDB的数据表进行模糊查询… ………………117
5.3.3 使用 BETWEEN 在某个范围内进行查询 …………………………… 118
5.3.4 使用 IN 在列举值内进行查询 … 120
5.4 使用聚合函数进行数据的统计 … 120
5.4.1 SUM( ) 函数 …………………… 120
5.4.2 AVG( ) 函数 …………………… 121
5.4.3 MAX( ) 函数和 MIN( ) 函数…… 122
5.4.4 COUNT( ) 函数 ………………… 122
【技能训练 5-6】使用聚合函数对SchoolDB 的数据表进行汇总查询………123
小结 …………………………………… 124
习题 …………………………………… 125
第 6 章 分组查询和多表查询 …… 128
6.1 分组查询 ………………………… 129
6.1.1 使用 GROUP BY 进行分组查询 … 129
【技能训练 6-1】使用 GROUP BY 对SchoolDB 的数据表进行分组查询………131
6.1.2 使用 HAVING 子句进行分组筛选 133
【技能训练 6-2】使用 HAVING 对SchoolDB 的数据表进行分组筛选………135
6.2 多表查询 ………………………… 136
6.2.1 内连接查询 ……………………… 136
【技能训练 6-3】使用内连接对 SchoolDB的数据表进行多表查询… ………………140
6.2.2 外连接查询 ……………………… 142
【技能训练 6- 4】使用外连接对 SchoolDB 的数据表进行多表查询……144
6.3 子查询 …………………………… 145
6.3.1 简单子查询 ……………………… 145
【技能训练 6-5】使用子查询对SchoolDB 的数据表进行查询……………148
6.3.2 IN 子查询 ……………………… 148
【技能训练 6-6】使用 IN 子查询对
SchoolDB 的数据表进行查询……………149
6.3.3 EXISTS 子查询 ………………… 150
【技能训练 6-7】使用 EXISTS 子查询对SchoolDB 的数据表进行查询……………152
小结 …………………………………… 152
习题 …………………………………… 153
第 7 章 阶段项目——QQ 数据库管理 ……………………… 156
7.1 项目分析 ………………………… 157
7.1.1 项目概述 ………………………… 157
7.1.2 开发环境 ………………………… 157
7.1.3 项目覆盖的技能要点 …………… 157
7.1.4 项目数据表设计 ………………… 157
7.2 项目需求及实现 ………………… 159
7.2.1 创建 QQ 数据库………………… 159
7.2.2 创建数据表 ……………………… 159
7.2.3 添加约束 ………………………… 159
7.2.4 建立表间关系 …………………… 159
7.2.5 插入测试数据 …………………… 160
7.2.6 查询数据 ………………………… 161
7.2.7 修改数据 ………………………… 164
7.2.8 删除数据 ………………………… 165
7.3 进度记录 ………………………… 165
小结 …………………………………… 165
习题 …………………………………… 166
第 8 章 索引、视图和事务 ……… 168
8.1 索引 ……………………………… 169
8.1.1 索引的定义 ……………………… 169
8.1.2 索引分类 ………………………… 169
8.1.3 创建和应用索引 ………………… 170
【技能训练 8-1】在 QQ 数据库 QQDB
上,创建和应用索引… …………………173
8.1.4 管理索引 ………………………… 174
【技能训练 8-2】管理 SchoolDB 数据库和 QQDB 数据库中的索引…………175
8.2 视图 ……………………………… 175
8.2.1 视图概述 ………………………… 175
8.2.2 创建和应用视图 ………………… 176
8.2.3 管理视图 ………………………… 179
【技能训练 8-3】在数据库 SchoolDB 中,创建和应用视图… ………………………180
8.3 事务 ……………………………… 181
8.3.1 事务概述 ………………………… 181
8.3.2 事务的价值 ……………………… 182
8.3.3 事务的处理 ……………………… 184
【技能训练 8- 4】在数据库 SchoolDB 中,使用事务批量插入学生考试成绩,并为毕业的学生办理离校手续… ……………187
小结 …………………………………… 189
习题 …………………………………… 189
第 9 章 存储过程和触发器 ……… 192
9.1 MySQL 编程基础 ……………… 193
9.1.1 常量和变量 ……………………… 193
9.1.2 流程控制语句 …………………… 195
9.2 存储过程 ………………………… 196
9.2.1 存储过程概述 …………………… 196
9.2.2 创建和管理存储过程 …………… 197
【技能训练 9-1】在 SchoolDB 数据库中,通过存储过程实现查询学习了“C 语言程序设计”课程所有学生的成绩… ……199
【技能训练 9-2】在 SchoolDB 数据库中,通过带输入参数的存储过程实现查询学习了某一门课程所有学生的成绩… ………202
【技能训练 9-3】在 SchoolDB 数据库中,通过带输入参数和输出参数的存储过程,实现查询任意一门课程所有学生的成绩,并带回该课程的平均分… ………………204
9.3 触发器 …………………………… 205
9.3.1 创建触发器 ……………………… 205
【技能训练 9- 4】在 SchoolDB 数据库中,创建一个删除课程表 Subject 中某门课程的触发器,并验证有效性… ……………208
9.3.2 管理触发器 ……………………… 209
小结 …………………………………… 209
习题 …………………………………… 210
第 10 章 管理和维护数据库 ……… 212
10.1 数据库的安全管理 …………… 213
10.1.1 用户管理 ……………………… 213
10.1.2 权限管理 ……………………… 215
【技能训练 10-1】管理 SchoolDB 数据库的用户和权限… …………………………220
10.2 备份和恢复数据库 …………… 220
10.2.1 备份数据 ……………………… 220
10.2.2 恢复数据 ……………………… 224
【技能训练 10-2】备份和恢复 SchoolDB数据库中的数据… ………………………226
小结 …………………………………… 227
习题 …………………………………… 227
第 11 章 课程项目——银行 ATM 系统的数据库设计与实现 ……… 229
11.1 数据库设计概述 ……………… 230
11.1.1 为什么需要数据库设计 ……… 230
11.1.2 数据库设计步骤 ……………… 231
11.1.3 数据库的概念设计 …………… 233
11.1.4 E-R 图向关系模型的转换 …… 236
11.1.5 数据库设计的规范化 ………… 237
11.2 项目分析 ……………………… 242
11.2.1 需求概述 ……………………… 242
11.2.2 开发环境 ……………………… 242
11.2.3 项目覆盖的技能要点 ………… 243
11.2.4 需求分析 ……………………… 243
11.3 项目需求实现 ………………… 246
11.3.1 数据库设计 …………………… 246
11.3.2 创建数据库和登录用户并授权 … 246
11.3.3 创建数据表并添加约束 ……… 247
11.3.4 插入测试数据 ………………… 248
11.3.5 模拟常规业务 ………………… 250
11.3.6 创建和使用视图以中文标题查询输出各表信息 ……………………… 253
11.3.7 使用存储过程实现开户处理 … 254
11.3.8 使用事务实现转账功能 ……… 255
11.4 进度记录 ……………………… 257
小结 …………………………………… 258
习题 …………………………………… 259
参考文献 …………………………… 260