
《MySQL数据库项目实践教程(微课版)》按照由易到难、逐步加深的原则,依次探讨了较为初级阶段的MySQL数据库的安装与配置、数据库的创建与管理和数据查询等内容,以及较为高级阶段的优化数据查询、数据库编程、维护数据库的安全性和数据库的设计等内容,特别加入了Java访问MySQL数据库的实用扩展内容。
为了便于读者阅读,全书还穿插着一些技巧、提示等小栏目以及经验点拨等辅助性栏目。
为了加强学习效果,在每个项目后都配备有相应的思考练习题,使读者能够运用所学知识完成实际的工作任务,达到举一反三、学以致用的目的。
《MySQL数据库项目实践教程(微课版)》既适合作为软件开发入门者的自学用书,也适合作为高等院校相关专业的教学参考书,并可供开发人员查阅、参考。
前 言
数据库技术是计算机科学技术的一个重要分支,是信息技术的重要支撑,是衡量信息化程度的主要标志之一。数据库的应用领域非常广泛,各行各业实施信息化都需要使用数据库。数据库与人们的学习、工作和生活已密不可分。数据库管理、数据库应用系统开发等方面数据库人才的需求呈增长趋势。
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于 Oracle旗下公司。MySQL是当前最流行的关系型数据库管理系统,在Web应用方面,MySQL是最好的 RDBMS(Relational Database Management System,关系数据库管理系统)应用软件之一。特别是MySQL 5的出现,使得MySQL具备了企业级数据库管理系统的特性,其强大的功能和卓越的运算性能使其成为企业级数据库产品的首选。
全书由课程准备和10个学习项目组成,主要内容如下。
课程准备 认识MySQL。着重介绍MySQL数据库的基本知识,包括数据库的基本概念与技术构成、MySQL的管理与设计工具、系统数据模型的建立方法等内容。
项目1 MySQL的安装与环境配置。本项目介绍MySQL的安装和配置过程,并使用命令行和Navicat工具操作MySQL数据库。
项目2 操作数据库。本项目练习数据库的基本操作,主要内容包括创建数据库、管理数据库、删除数据库和MySQL中常用的存储引擎。
项目3 管理数据表。本项目主要介绍MySQL数据库中表的管理,包括表的类型、创建表的语法形式、数据表的各种操作等。
项目4 数据表的数据查询。本项目主要介绍数据查询的操作,包括单表查询、多表查询、子查询和正则表达式查询。
项目5 数据库索引与视图。本项目主要介绍使用索引和视图优化查询性能以及各种写出高效查询语句的方法。
项目6 数据库的编程。本项目在数据库编程的基础上,详细介绍MySQL中函数、存储过程、触发器、事件在数据库应用系统开发中的作用,并通过实例阐明它们的使用方法。
项目7 数据库安全。本项目着重介绍MySQL数据库中的安全机制,包括对数据库中的权限进行授予、查看和收回操作,以及通过事务控制程序的执行。
项目8 数据库性能优化。本项目通过服务器优化、表结构优化、查询优化等技术提高数据库的整体性能,包括使用EXPLAIN语句对SELECT语句的执行效果进行分析,并通过分析提出优化查询的方法;使用ANALYZE TABLE语句分析表;使用CHECK语句检查表;使用OPTIMIZE TABLE语句优化表。另外,通过图形化界面进行了数据备份与恢复操作,基本保障了系统的高可用性。
项目9 数据库开发设计。本项目通过数据库项目设计开发全过程的展示,系统地介绍了数据库开发项目从需求分析到设计实现的设计开发流程。
项目10 Java访问MySQL数据库。本项目着重介绍Java语言如何通过MySQL数据库的接口操作MySQL数据库。
本书在设计上采用“双案例,一主一辅,贯穿到底”的思路,以一个“电商购物系统”的数据库设计、操纵和管理为主线串联全书知识点,并以一个“技能大赛管理项目”为拓展案例,配套巩固训练和拓展实战能力,以引导学生加强基本技能的训练,拓宽眼界,使基础知识得到有效提升。
为了便于读者阅读,全书还穿插着一些技巧、提示等小贴士,体例约定如下。
提示:通常是一些贴心的提醒,让读者加深印象,或提供建议或者是解决问题的方法。
注意:提出学习过程中需要特别注意的一些知识点和内容,或者相关信息。
技巧:通过简短的文字,指出知识点在应用时的一些小窍门。
经验点拨:主要针对初学者经常提出的问题展开讲解,有利于学生对知识边界和易混的概念进行有效的把握。
为了加强学习效果,在每个项目后都配备有相应的思考练习题,使读者能够运用所学知识完成实际的工作任务,达到举一反三、学以致用的目的。
本书既适合作为软件开发入门者的自学用书,也适合作为高等院校相关专业的教学参考书,并可供开发人员查阅、参考。
* MySQL数据库开发入门者。
* MySQL数据库初学者及在校学生。
* 各大中专院校的在校学生和相关授课老师。
* 准备从事与MySQL数据库相关工作的人员。
本书由广西梧州职业学院韦霞、广西经贸职业技术学院罗宁任主编;聂振传、曾庆毅、陈美其、潘育勤任副主编。撰写本书是一个团队合作的过程,由主编提出了全书框架、体例和写作思路,各成员分工完成初稿并进行了多次修改,最后由主编统稿和定稿。撰写分工如下:韦霞编写课程准备和项目1、2、3;罗宁编写项目4、5;曾庆毅编写项目6、7;聂振传编写项目8、9;潘育勤、陈美其编写项目10。其他参与编写、资料整理、案例开发的人员还有周毓、许淮钦、郭彦、陈坤铃、彭子真、冯伟、李超宇、李达宇等,在此一并表示感谢。在本书的编写过程中,我们力求精益求精,但其中难免存在一些疏漏与不足之处,敬请广大读者给予批评、指正。
编 者
目 录
课程准备 认识MySQL 1
0.1 数据库的基本概念与技术构成 2
0.1.1 数据库的基本概念 2
0.1.2 数据库的类型 2
0.1.3 数据库的技术构成 5
0.2 MySQL的管理与设计工具 7
0.2.1 常用的图形化管理工具 7
0.2.2 数据模型及设计工具 8
0.3 系统数据模型的建立方法 13
0.3.1 建立E-R模型 13
0.3.2 逻辑结构设计 16
0.3.3 关系模式的规范化 17
0.3.4 关系代数 20
0.4 实践操作:电商购物系统需求分析
与数据库建模 27
自我小结 35
思考与练习 35
拓展训练 37
项目1 MySQL的安装与环境配置 51
1.1 知识准备:MySQL的下载路径
与安装配置方法 52
1.1.1 MySQL的下载路径 52
1.1.2 MySQL的安装配置方法 52
1.1.3 MySQL的启动与登录方法 53
1.2 实践操作:下载与安装MySQL并
进行配置 53
1.2.1 下载MySQL安装文件 53
1.2.2 安装MySQL 5.7 56
1.2.3 MySQL服务器的配置 58
1.2.4 在图形界面下启动、停止、
登录MySQL服务器 64
1.2.5 初步使用图形化管理
工具Navicat 65
项目小结 70
思考与练习 70
拓展训练 71
项目2 操作数据库 75
2.1 知识准备:数据库的基本操作方法 76
2.1.1 数据库的创建与查看方法 76
2.1.2 数据库的字符集和校对规则 77
2.1.3 数据库的修改与删除方法 79
2.1.4 数据库的组成 80
2.1.5 数据库的存储引擎 81
2.2 实践操作:使用Navicat操作电商
购物系统数据库 84
项目小结 88
思考与练习 88
拓展训练 89
项目3 管理数据表 97
3.1 知识准备:操作数据表的基础 98
3.1.1 MySQL的数据类型 98
3.1.2 MySQL的数据表类型 103
3.1.3 创建表的语法形式 104
3.1.4 完整性约束 105
3.1.5 主键约束 106
3.1.6 外键约束 107
3.1.7 非空约束 108
3.1.8 唯一性约束 109
3.1.9 默认约束 110
3.1.10 设置表的属性值自动增加 110
3.2 实践操作:创建和操作电商购物系统
数据库表 111
项目小结 140
思考与练习 140
拓展训练 141
项目4 数据表的数据查询 143
4.1 知识准备:数据表的数据查询
基础 144
4.1.1 基本查询语句 144
4.1.2 单表查询 145
4.1.3 使用集合函数查询 167
4.1.4 连接查询 172
4.1.5 子查询 178
4.1.6 合并查询结果 184
4.1.7 为表和字段取别名 187
4.1.8 使用正则表达式查询 189
4.2 实践操作:电商购物系统数据表
查询操作 196
项目小结 216
思考与练习 217
拓展训练 218
项目5 数据库索引与视图 221
5.1 知识准备:索引与视图的基本概念
及应用方法 222
5.1.1 索引简介 222
5.1.2 索引的创建与相关操作
方法 224
5.1.3 视图的含义与作用 227
5.1.4 视图的创建与相关操作
方法 228
5.2 实践操作:索引和视图的创建及管理
电商购物系统 239
项目小结 251
思考与练习 251
拓展训练 252
项目6 数据库的编程 255
6.1 知识准备:数据库编程基础知识 256
6.1.1 常量和变量 256
6.1.2 流程控制语句 260
6.1.3 重置命令结束标记 265
6.1.4 自定义函数 265
6.1.5 自定义存储过程 268
6.1.6 自定义触发器 276
6.1.7 游标 280
6.1.8 事件与事务 282
6.2 实践操作:使用程序逻辑操作电商
购物系统数据 286
项目小结 298
思考与练习 298
拓展训练 299
项目7 数据库安全 301
7.1 知识准备:数据库安全机制 302
7.1.1 用户与权限 302
7.1.2 用户账户管理 303
7.1.3 权限管理 305
7.1.4 用户的锁定与解锁 305
7.1.5 图形管理工具管理用户
与权限 306
7.1.6 访问控制 307
7.2 实践操作:综合管理电商购物系统
安全 309
项目小结 316
思考与练习 316
拓展训练 317
项目8 数据库性能优化 319
8.1 知识准备:高性能、高可用性数据库
基础 320
8.1.1 优化查询 320
8.1.2 优化数据库结构 324
8.1.3 优化MySQL服务器 330
8.1.4 高可用性 332
8.2 实践操作:维护电商购物系统的
高性能 335
项目小结 342
思考与练习 342
拓展训练 343
项目9 数据库开发设计 345
9.1 知识准备:如何设计数据库 346
9.1.1 软件项目开发中数据库设计的
生命周期 346
9.1.2 设计数据库的步骤 346
9.1.3 数据模型的优化 349
9.1.4 物理设计 349
9.1.5 数据库的实施 350
9.1.6 数据库的运行维护 350
9.1.7 开发工具及相关技术 351
9.2 实践操作:电商购物系统的设计
与开发 352
项目小结 358
思考与练习 358
拓展训练 358
项目10 Java访问MySQL数据库 363
10.1 知识准备:JDBC介绍 364
10.1.1 下载与安装MySQL
Connector/J 364
10.1.2 Java连接MySQL数据库 365
10.1.3 Java操作MySQL数据库 366
10.1.4 数据库的备份 367
10.2 实践操作:Java访问MySQL
数据库实例 368
思考与练习 371
参考文献 372
《MySQL数据库项目实践教程(微课版)》为广西精品在线开放课程项目,主要介绍MySQL数据库的原理与应用,采用项目导向、任务驱动、双完整项目贯穿的方式编写,将数据库的设计与管理分为11个单元,每个单元(项目)包含知识准备、实践操作、经验点拨、项目小结、思考练习、拓展训练等6个精心设计的学习任务,将知识点的学习融入到实际任务的完成过程中,注重具体问题的解决方法和实现技术。
韦霞,梧州职业学院计算机教研室主任,副教授。曾获得广西职业院校教师示范培训项目类2018年度专业带头人领军能力研修项目计算机网络技术专业国家级培训,主讲了《C语言程序设计》、《MySQL数据库原理与应用》等计算机专业课程,作为副主编参编高职教材5部,发表专业学术论文十余篇,获广西职业院校信息化教学大赛二等奖2项,三等奖1项。