前 言 大数据时代,数据的存储和处理渗透在各个应用领域。数据库技术是一种基础且重要的数据处理手段,数据库的操作、设计与开发能力已成为IT人员必备的基本素质。数据库课程是计算机专业的核心基础课程,数据库技术及数据库的应用正以日新月异的速度发展,因此计算机及相关专业的学生学习和掌握数据库知识是非常必要的。 数据库技术起源于20世纪60年代后期,目前历经了近60年的发展,数据库技术依然在许多应用领域发挥着重要的作用。关系型数据库在埃德加·科德的引领下,形成了一套完整的科学理论体系,产生了大量商用的关系数据库产品,其中尤以MySQL数据库最为流行。由于MySQL具有轻便快捷、多用户、多线程和免费等特点,受到国内外众多的互联网公司和个人用户的青睐。据统计,世界上一流的互联网公司中,排名前20位的有80%是MySQL的忠实用户。IT行业关于数据库岗位的招聘中,90%以上要求会使用MySQL数据库。基于此背景,本书选用MySQL数据库管理系统作为实验平台。 本书的特色之一是本着“以人为本,学以致用”的教学理念,强调理论和实践的紧密结合,不动手不学习,学习必动手。不仅要知其然,还要知其所以然。本书编者经过多年的课程建设与教学改革将数据库理论中晦涩难懂的、与实际应用相去甚远的内容删除,并基于理论学习找到解决实际问题的便捷方法,形成了一系列高效、快速解决数据库使用问题的方法,让读者快速掌握数据库应用技术。 本书的特色之二是用一个高校教务管理数据库实例贯穿全书的所有应用部分,包括数据库的设计、数据库的操作和数据库的安全,使学生全方面、系统性地学习数据库的产生、使用、消亡整个生命周期,形成一个数据库知识的闭环。 全书内容共分为9章,各章具体内容安排如下。 第1章是数据库系统概述,从全局的角度介绍了数据库系统的基本概念、特点、内部结构与外部结构,以及数据库新技术,并以关系模型为主介绍了数据模型。 第2章介绍了关系数据库理论基础,从数学的角度重新定义了关系、元组、属性等基本概念,详细地介绍了关系模型的三要素,以及关系的完整性约束和对关系模型进行操作的关系代数。在关系代数中,从应用的角度出发详细地介绍了各种查询运算规则及应用场景,并给出了简单有效的优化查询的技巧。 第3章以应用为目标,介绍了SQL语句对数据库及表的创建、操纵、查询,视图的创建与应用,索引的创建与应用规则。其中,表的查询操作给出了实用的查询技巧,也给出了尽可能多的查询方法及其等价转换。 第4章介绍了数据库高级编程功能,包括存储过程、函数、游标和触发器等各种复杂数据库对象的创建及在数据库中的应用。 第5章介绍了指导数据库设计的关系规范化理论及其应用方法,并给出了在实际应用中查找关系的所有码、分解关系的简单有效的方法。 第6章以高校教务管理数据库为实例,介绍了实际应用中数据库设计的基本步骤和方法,并给出了详细的设计过程,以一个图书管理系统的设计完整地再现了整个数据库系统的设计过程。 第7章介绍了数据库的安全标准和安全控制措施,并以MySQL的安全机制为例进行了详细剖析。 第8章介绍了事务的概念和特征,重点介绍了以事务为单位的并发控制操作和判断正确的并发控制调度的方法。 第9章介绍了数据库中故障的种类及其恢复方法和提高恢复效率的策略。 本书由课题组成员黄宝贵、马春梅、禹继国、董兆安、刘效武、张元科编写,全书内容由马春梅统稿,感谢王茂励和李光顺为本书提出的建设性意见。 在编写本书的过程中,编者参考了一些优秀的数据库教材及网络资料,在此向资料的作者表示感谢,也感谢清华大学出版社的各位编辑老师。 因成书时间仓促,加之编者水平所限,书中不妥之处在所难免,恳请专家和广大读者批评指正。 编者2022年1月于山东日照