前言


数据库技术是信息社会的重要支撑技术,涉及数据的组织、存储和使用,因此了解并掌握数据库的相关技术已经成为信息领域从业者的必备技能。目前,随着计算机网络、硬件、软件等相关技术的发展,计算机应用领域不断扩大,使得数据量迅速增加,数据类型不断丰富,数据利用的形式和规模呈现出多样化的趋势,这些也让数据库技术得到迅猛发展,出现了海量数据管理技术、分布式数据库技术、NoSQL数据库技术、NewSQL数据库技术以及图数据库技术等。但无论数据库技术如何发展,其管理数据的核心思想和技术仍然基于关系数据库,都是在关系数据模型和关系理论的基础上进行的拓展。从这个意义来说,关系数据库的基本理论、建模思想、实现技术是计算机专业的学生必须掌握的基本内容。
本书是编者通过对多年教学经验进行总结并结合学校的人才培养定位而编写的。在编写过程中参考了多本数据库技术图书以及反映目前数据库技术新发展的相关资料。在内容上,本书主要围绕数据库的基本理论、建模方法和实现技术等核心知识点构建数据库领域的基础知识架构,同时还引入了数据管理技术领域的新成果。在结构上,本书从系统的角度出发,以递进的层次,沿着什么是数据库、如何设计数据库、如何实现数据库这一脉络进行知识的介绍,有利于帮助读者建立数据库领域的知识体系。本书以图书管理数据库、学籍管理数据库和航班管理数据库3个案例贯穿全书,对不同层次的知识点和关键问题进行讲解,有利于帮助读者在理论和实践两个层面理解数据库的核心思想,掌握数据库领域中理论与实践的结合和取舍原则,建立科学的数据工程观。本书最后一章引入了我国自主研发的开源数据库管理系统openGauss的相关技术,一方面让读者了解国产数据库管理系统openGauss在实现数据管理的基本功能的基础上所做的创新性研究成果;另一方面也让读者了解在系统软件层次上我国的科技工作者一直没有停下研发的脚步,他们一直在具有自主知识产权的系统软件开发上默默奉献。数据库技术是计算机领域的永恒主题,也希望有更多的研究者加入,为发展我国数据库领域的理论、技术和产品贡献力量!
本书共8章。第1章是绪论,主要介绍数据库领域的相关概念以及数据库技术的发展,包括近年来出现的新的数据模型。第2章介绍关系模型,包括关系模型的数据结构以及关系代数,从理论层面解释使用关系模型组织数据的原理、为实现对关系进行操作而定义的相关运算法则和实现数据查询的基本原理。第3章介绍数据库设计的基本方法,包括概念模型的设计和逻辑模型的设计,主要介绍数据及其关系在概念层次上的表达方式,包括ER模型、实体和联系概念,ER模型的构建方法,让读者了解数据库在概念层次上的建模方法,同时详细说明如何将ER模型转换成关系模型,从而让读者理解数据库逻辑模型设计的完整步骤。第4章介绍关系数据库设计理论,包括函数依赖理论、模式分解等,这些理论为关系数据库的建模提供了强有力的理论支撑。第5章介绍了SQL的相关知识及如何使用SQL创建和操作数据库,是数据库技术层面的内容。第6章和第7章涵盖了数据库中视图、索引、约束、断言、触发器和存储过程以及数据库安全控制、事务处理、并发控制、故障及恢复的相关内容。第8章介绍openGauss开源数据库的系统架构、数据组织、AI融合以及安全机制。
本书具有以下特色:
●层层递进,系统性强。 本书在知识内容上采取层层递进的方式组织,紧密结合本科人才的培养定位,从系统的角度出发帮助读者构建数据库的基本知识体系,有利于读者从整体上理解数据库的基本原理和基本技术。
●案例丰富,讲解细致。本书在编写过程中使用完整的案例将关键知识点贯穿起来,从不同层面对同一系统进行讲解,有利于读者深入理解相关理论与技术,掌握从设计到实现的基本过程,建立数据工程的概念。
本书内容充实,重点突出,示例丰富,适合作为大学本科计算机及相关专业的数据库原理课程的教材。关于并发控制和故障恢复的部分也适合研究生阅读。
本书的编写分工如下: 第1章、第2章的2.2节、第6~8章由杜金莲编写,第2章的2.1节由何明和杜金莲共同编写,第3章由邝劲筠、何明和杜金莲共同编写,第4章由何明编写,第5章由邝劲筠编写。本书第8章在编写过程中参考了华为官方网站、华为云开发者社区和GAUSS松鼠会/开源社区中关于openGauss技术的相关文章,在此向有关作者表示感谢!另外,第8章内容也得到了华为数据库专家习志平、薛钟斌、李玥旻、任朝倩和向新勇的指导,在此向他们表示感谢!
限于编者水平,本书难免会有疏漏,希望读者给予指正!
〖1〗数据库原理教程前言〖3〗〖3〗

编者
2024年3月