图书前言

PREFACE

前言

在大数据时代,“数据”构成了一种世界观,以“数据”观世界,则客观世界就是一切数据的总和。“数据”是一种宝贵的资源,甚至可以说是战略性资源。“大数据”技术使“数据”蕴含着无尽的能量,显示出超然的魅力。只要掌握数据,人人都可以俯瞰大千世界的任何一个侧面。所谓掌握数据,也就意味着首先要处理数据; 

而数据处理的过程是与数据库技术息息相关的。数据库原理和技术给人们提供了一种理解、处理和管理世界的方法。随着数据观的成长、成熟和发展,数据时空的海量扩张呈现出一个大数据时代来临的现实景观。大数据必然带来云计算技术的发展,数据库技术也因云计算而有了新的飞跃,于是云数据库管理系统给我们打开了一个数据处理的想象空间,呈现出海量数据与云计算背景下数据处理的“魅力生态”新技术场景。

在这种形势下,

华为公司研发推出的GaussDB管理系统应运而生。它以基于云计算的数据库管理技术为根基,是企业级高扩展海量存储分布式数据库管理系统,完全兼容MySQL,一经问世便成为华为鲲鹏系统生态中的核心产品之一,进而成为替代国外数据库管理系统软件、解决“卡脖子问题”的国产本土数据库管理系统的代表、首选和佼佼者,备受瞩目。

作为三十余年一直在高校讲授“数据库原理和应用”相关课程的教师,我编著了多本相关的数据库教程,但这是第一次编著国产数据库教程。在多年的实践教学的基础上,在华为公司GaussDB团队合作和指导下,研发编著了

本书,以使GaussDB(for MySQL)更快地走进数据库技术应用领域,走进高校,为广大读者用户所掌握。

本书的特点在于将数据库基本原理知识与GaussDB(for MySQL)数据库管理系统的技术知识融合在一起,是以GaussDB(for MySQL)为平台的数据库原理与技术教程,也是从数据库基本概念入手的GaussDB(for MySQL)数据库管理系统入门教程。本书讲解了数据库基本概念、数据库设计、数据库组织与管理、数据库SQL查询语言、数据库系统控制,以及数据库应用系统开发的一般方法,同时也介绍了GaussDB(for MySQL)云数据库的特性、架构及工作原理等几个方面的内容。每章都通过翔实的基础知识和简明的操作步骤,将知识点和实际应用相结合,帮助读者理解和掌握数据库原理和数据库操作。

以“基础知识与动手实验相结合”为编写理念,以一个完整的数据库应用系统案例贯穿全书,编写体例贴近实践的语境,将数据库原理与数据库操作技术,以及数据库应用系统开发等内容相结合,由浅入深,层层递进

地展现给读者。

数据库原理及应用——基于GaussDB的实现方法

前言

00

00

本书共有三篇,共13章。

上篇: 基础理论,共有3章。

第1章走进GaussDB。主要介绍了信息、数据、数据库、数据库管理系统、数据库系统和分布式数据库系统等概念; 

数据库系统结构、数据库应用系统的组成; GaussDB(for MySQL)的特点、系统架构和集成环境等内容。

第2章关系数据库。主要介绍了数据描述过程、概念模型、关系模型、关系规范化和关系代数等内容。

第3章数据库设计和建模。主要介绍了数据库设计的生命周期、需求分析方法、概念结构设计、逻辑结构设计、物理结构设计方法、步骤和工作流程等内容。

中篇: 技术详解,共有7章。

第4章数据库预备知识。主要介绍了数据库的数据类型、常用函数和表达式计算等数据库应用开发的必备基础知识等。

第5章SQL。主要介绍了SQL的特点、功能; SQL数据定义语句、数据操纵语句应用等内容。

第6章数据库。主要介绍了集中式数据库、分布数据库式、云数据库框架; 介绍了存储引擎; 数据库创建及维护方法等内容。

第7章文件组织与索引。主要介绍了文件组织、索引、索引的类型以及创建索引遵循的原则,索引创建、维护和使用等内容。

第8章表与视图。主要介绍了数据表的操作方法,包括表设计概述、创建表的方法、表中数据的操作方法; 介绍了什么是视图

、创建视图、视图维护及使用等内容。

第9章数据查询。 主要介绍了SELECT语句、集函数查询、单表查询、多表查询、嵌套查询、子查询、带EXISTS关键字的子查询,并通过案例演示SQL语句的实际应用。

第10章数据库完整性。主要介绍了完整性约束; 介绍了存储过程,存储过程的创建以及

存储过程的调用、维护和使用; 介绍了触发器,创建触发器,维护及使用触发器等内容。

下篇: 系统应用,共有3章。

第11章数据库系统控制。主要介绍了事务及事务特性; 介绍了数据库系统恢复技术及并发控制; 介绍了数据库安全、用户管理、数据库备份/恢复、数据库表导入/导出等内容。

第12章GaussDB(for MySQL)数据库管理系统。主要介绍了GaussDB(for MySQL)系统结构,数据存储、恢复与实现工作机制; 介绍了GaussDB整体架构和GaussDB云数据库架构等内容。

第13章数据库应用系统开发的一般方法。主要介绍了数据库应用系统开发的一般方法,并对应用系统开发中的问题提出、需求分析、系统设计等工作进行详细阐述。

全书各章节配有60个微视频,如下表所示。

序号

视 频 标 题

对应章节位置

1

11a: 基本概念一

1.1尾

2

11b: 基本概念二

1.1.3尾

3

12: 数据库系统

1.2尾

4

13: GaussDB(for MySQL)概述

1.4尾

5

21: 概念模型

2.2尾

6

22: 关系模型

2.3尾

7

23: 关系规范化

2.4尾

8

24: 关系运算和、差、交

2.5.3尾

9

25: 关系运算投影、选择

2.5.6尾

10

26: 关系运算连接

2.5.7尾

11

27: 除

2.5.8尾

12

31: 数据库生命周期

3.1尾

13

32: 需求分析

3.2尾

14

33: 概念结构设计

3.3尾

15

34: 逻辑结构设计

3.4尾

16

35: 物理结构设计

3.5尾

17

41:  GaussDB(for MySQL)的数据类型

4.1尾

18

42:  GaussDB(for MySQL)的运算符

4.2尾

19

43:  GaussDB(for MySQL)的函数

4.3尾

20

51: SQL概述

5.1尾

21

52: SQL数据操纵语句

5.3尾

22

61: 数据库分类

6.1尾

23

62: 存储引擎

6.2尾

24

63: 创建数据库

6.3.1尾

25

64: 维护数据库

6.3.2尾

26

71: 文件组织

7.1尾

27

72: 创建索引的原则

7.3尾

28

73: 维护索引

7.5尾

29

81: 表的创建

8.1尾

续表

序号

视 频 标 题

对应章节位置

30

82: 表中数据的输入

8.2.1尾

31

83: 表中数据的维护

8.3.3尾

32

84: 视图特性

8.4尾

33

85: 视图操纵

8.6尾

34

91: SELECT语句概述

9.1尾

35

92: 集函数查询

9.2尾

36

93: 行、列查询

9.3.4尾

37

94: 两表列查询

9.4.2尾

38

95: 多表条件查询

9.4.4尾

39

96: 多表行、列查询

9.4.5尾

40

97: 多表嵌套查询

9.5.2尾

41

98: 带IN关键字的查询

9.6.1尾

42

99: 带比较运算符的查询

9.6.2尾

43

910: 带ANY关键字的子查询

9.6.3尾

44

911: 带ALL关键字的子查询

9.6.4尾

45

912: 带EXISTS关键字的子查询

9.6.5尾

46

101: 实体完整性约束

10.1.1尾

47

102: 参照完整性约束

10.1.2尾

48

103: 用户自定义完整性约束

10.1.3尾

49

104: 触发器概述

10.2.1尾

50

105: 创建触发器

10.2.2尾

51

106: 维护触发器

10.2.3尾

52

107: 存储过程概述

10.3.1尾

53

108: 创建存储过程

10.3.2尾

54

109: 维护存储过程

10.3.3尾

55

111: 事务

11.1.2尾

56

112: 恢复技术

11.2.3尾

57

113: 并发控制

11.3.4尾

58

114: 数据库安全

11.4.4尾

59

121: GaussDB(for MySQL)概述

12.4.3尾

60

122:  GaussDB数据库整体架构

12.5.4尾

本书富有特色,是国内首本引入GaussDB作为技术平台的数据库教学用书,对扩展数据库应用,推广使用国产数据库管理系统软件,普及GaussDB,都具有很强的针对性和现实意义。全书从基础理论入手,体系清晰,知识点全面,对数据库原理知识体系的讲解深入浅出,精编精讲,尽量将复杂的问题简单化; 以实例主导,有很强的实用性; 设计手段尽量简洁,尤其注重使用和设计能力的培养。

本书配有丰富的教学资源,可作为学习数据库原理课程教学用书,也可作为培养“

小型应用系统开发能力”的学习用书,以及广大计算机用户和计算机学习者的培训用书及自学用书。

本书由李雁翎编写。

华为公司数据库团队专家提供了有关GaussDB(for MySQL)数据库管理系统部分内容及资料

,并在编写过程中给予指导。刘征承担了部分实验的验证和微视频的录制。华为公司张霄鸾、赵成、周家恩、张迪、张昆、王立、贾新华、康阳、赵新新、张彦轩,以及清华大学出版社盛东亮、曾珊在图书编写过程中给予了各种支持,在此一并表示感谢。

由于作者水平有限,书中难免有疏漏和不足之处,欢迎广大读者批评指正。

编者