本书以国产的达梦数据库为对象,按照建立总体概念—掌握基本对象的使用—实现业务逻辑的思路,由浅入深地介绍了数据库系统的基础知识、设计方法以及应用技术。全书共10章,分别是认识数据库、数据库安装与管理、数据表与视图、数据维护、数据查询、SQL程序设计基础、实现业务逻辑、数据完整性、数据安全管理、数据库应用程序开发。第1、2章介绍数据库及其相关的基本概念;第3~6章介绍数据库常用对象的使用与管理;第7~10章介绍数据库处理逻辑的实现与数据库应用系统的构建。本书内容涵盖了数据库技术的主要领域,侧重于基本概念与基本语法的介绍,安排了众多实例,以加强读者对内容的理解。
本书可作为信息管理与信息系统及其相关专业本科生的教材,也可作为数据库管理与维护人员的学习资料。
达梦数据库管理系统是武汉达梦数据库股份有限公司开发的具有自主知识产权的产品,经过多年的不断完善,获得了国家自主原创产品认证,在多个领域得到了广泛应用,成为国产化工程应用中的主要数据库之一。
本书以达梦数据库管理系统为平台,由浅入深地介绍学习数据库课程必须理解的数据库系统知识以及相关技术。本书由认识与安装数据库、使用与管理数据库对象、实现业务逻辑三大部分组成,分为10章,具体内容如下:
第1章认识数据库,介绍数据库系统的诞生、发展、功能、特点、组成、体系结构以及达梦数据库的相关知识。
第2章数据库安装与管理,介绍达梦数据库的版本、安装过程、客户端工具、实例管理以及基础操作。
第3章数据表与视图,介绍数据表的创建、修改和删除,视图的定义、查询、更新和删除,以及物化视图的相关知识。
第4章数据维护,介绍数据插入、数据修改和数据删除操作的过程与语法,以及数据导入/导出操作过程。
第5章数据查询,介绍SQL语言中的核心知识——数据查询,主要包括单表表询、连接查询、嵌套查询、集合查询和基于派生表的查询等。
第6章SQL程序设计基础,介绍DM SQL程序设计的基本要素:数据类型、变量、表达式以及流程控制等。
第7章实现业务逻辑,主要介绍实现复杂业务逻辑时通常涉及的存储过程、函数、存储函数、触发器、游标以及事务的概念和基本语法。
第8章数据完整性,主要介绍实体完整性、参照完整性和用户自定义完整性及约束的相关知识。
第9章数据安全管理,介绍数据访问控制、数据库审计、数据加密、数据库备份与还原。
第10章数据库应用程序开发,介绍Java Web数据库应用程序的基本架构和开发过程,并给出了一个具有数据修改与查询功能的实例。
附录给出了本书实例涉及的表对应的SQL语句、DM8常用数据字典、动态性能视图。
本书注重基本概念的讲解,抓住数据库对象的基本特征,尽量用实例加以说明;在介绍中不求面面俱到,以避免语法手册般烦冗;注重知识和技能的有机结合,力争做到基础知识的讲解与实践指导融为一体,尽量兼顾讲授式教学、实操化教学与自学等不同使用场景的需要。
张晓丰担任本书主编,车敏、李正欣担任副主编,田舢、祝娜、张守帅、苗青林参与编写。具体分工如下:第1章、第2章及第10章部分内容由张晓丰编写,第4章、第8章及第9章部分内容由车敏编写,第3章、第5章由李正欣编写,第6章和第7章部分内容由田舢编写,第7章部分内容、第10章部分内容由苗青林编写,第9章部分内容、第10章部分内容、附录等由祝娜、张守帅编写。全书由张晓丰统稿。陈继成、谢鹏参加了部分内容的编写工作。
本书以达梦数据库为对象进行介绍,但大部分概念也适用于其他关系型数据库。
本书在编写过程中得到了武汉达梦数据库股份有限公司工作人员及刘志红等人的帮助,在此表示衷心的感谢!本书的出版得到了西安电子科技大学出版社的大力支持,在此一并致以真挚的谢意!
由于编者水平有限,书中难免存有不足之处,恳请读者批评指正。编者电子信箱:zhxfzhxf1@sina.com。
编 者
? ? ?2022年2月
第1章 认识数据库 1
1.1 数据与信息 1
1.2 数据的管理 2
1.2.1 人工管理阶段 2
1.2.2 文件系统管理阶段 3
1.2.3 数据库管理阶段 5
1.3 数据库及相关概念 6
1.3.1 数据库 6
1.3.2 数据库管理系统 6
1.3.3 数据库系统与相关概念 7
1.4 达梦数据库 7
1.4.1 多样的数据库 7
1.4.2 达梦数据库简介 8
思考题 9
第2章 数据库安装与管理 10
2.1 达梦数据库的产品系列 10
2.2 达梦数据库安装 11
2.2.1 安装准备 11
2.2.2 安装过程要点 11
2.3 达梦客户端工具 17
2.4 数据库实例管理 19
2.4.1 创建实例 20
2.4.2 启动与停止实例服务 23
2.4.3 删除实例 24
2.5 数据库初体验 25
2.5.1 登录 25
2.5.2 认识表 26
2.5.3 数据维护 27
2.5.4 数据查询与统计 29
思考题 32
第3章 数据表与视图 33
3.1 数据表 33
3.1.1 数据表的创建 34
3.1.2 数据表的修改 37
3.1.3 数据表的删除 38
3.1.4 用SQL语句管理数据表 39
3.2 视图 41
3.2.1 概念 41
3.2.2 视图的定义 42
3.2.3 视图数据的查询 43
3.2.4 视图数据的更新 43
3.2.5 视图的删除 44
3.3 物化视图 45
3.3.1 物化视图的概念 45
3.3.2 物化视图的定义 45
3.3.3 物化视图的修改与删除 47
3.3.4 物化视图数据的更新 48
思考题 48
第4章 数据维护 49
4.1 数据插入 49
4.1.1 直接插入记录值 49
4.1.2 插入查询结果值 51
4.2 数据修改 51
4.3 数据删除 52
4.4 用查询结果建表 52
4.5 数据合并 53
4.6 数据清空 55
4.7 数据迁移 55
思考题 63
第5章 数据查询 64
5.1 SQL语言 64
5.1.1 SQL语言的发展 64
5.1.2 SQL语言的作用 65
5.2 单表查询 65
5.2.1 简单查询 66
5.2.2 条件查询 67
5.2.3 聚集函数 69
5.2.4 分组查询 69
5.3 连接查询 70
5.3.1 内连接 70
5.3.2 外连接 72
5.4 嵌套查询 73
5.4.1 IN子查询 73
5.4.2 EXISTS子查询 74
5.4.3 ALL与ANY 74
5.5 集合查询 75
5.6 基于派生表的查询 76
思考题 76
第6章 SQL程序设计基础 78
6.1 DM SQL语言概述 78
6.1.1 DM SQL程序组成 78
6.1.2 标识符 79
6.1.3 注释 79
6.2 数据类型 80
6.2.1 数值类型 80
6.2.2 字符类型 81
6.2.3 日期时间类型 81
6.2.4 记录类型 82
6.2.5 数组类型 83
6.3 变量与表达式 84
6.3.1 变量的声明 84
6.3.2 变量赋值 85
6.3.3 操作符 86
6.4 流程控制 86
6.4.1 顺序结构 86
6.4.2 分支结构 86
6.4.3 循环结构 88
6.5 异常处理 90
思考题 90
第7章 实现业务逻辑 91
7.1 存储过程 91
7.1.1 存储过程的概念 91
7.1.2 存储过程的使用 92
7.1.3 存储过程的参数 94
7.1.4 存储过程的特点 95
7.2 函数 96
7.2.1 常用函数 96
7.2.2 函数的调用 101
7.3 存储函数 101
7.3.1 存储函数的概念 101
7.3.2 存储函数的使用 102
7.3.3 存储函数示例 103
7.3.4 存储函数与存储过程的比较 103
7.4 触发器 103
7.4.1 触发器的概念 103
7.4.2 触发器的组成与种类 104
7.4.3 触发器的使用 107
7.4.4 触发器的用途与特点 109
7.5 游标 110
7.5.1 游标的概念 110
7.5.2 游标的使用方法 112
7.5.3 游标变量 116
7.5.4 利用游标更新或删除数据 117
7.6 事务 119
7.6.1 事务的概念 119
7.6.2 事务的使用 121
7.6.3 事务的分类 121
7.6.4 事务隔离级别 123
思考题 125
第8章 数据完整性 126
8.1 数据完整性的概念 126
8.2 约束 129
8.2.1 完整性约束的定义 130
8.2.2 完整性约束状态 131
8.2.3 修改和删除约束 132
8.2.4 查看约束信息 133
8.3 外键 133
思考题 134
第9章 数据安全管理 135
9.1 数据访问控制 135
9.1.1 用户管理 135
9.1.2 权限管理 138
9.1.3 角色管理 142
9.2 数据库审计 146
9.3 数据加密 151
9.3.1 存储加密 151
9.3.2 传输加密 153
9.4 数据库备份与还原 154
9.4.1 检查数据库状态 154
9.4.2 打开数据库归档 154
9.4.3 备份数据库 155
9.4.4 还原数据库 156
思考题 158
第10章 数据库应用程序开发 159
10.1 开发准备 159
10.1.1 安装JDK 159
10.1.2 测试JDK安装结果 162
10.1.3 安装Tomcat软件 163
10.1.4 安装Java开发软件 167
10.2 Java Web项目构成 171
10.3 开发初体验 172
10.3.1 数据库连接 172
10.3.2 编写Java Web程序 176
10.3.3 编写前端页面 193
10.3.4 程序运行与访问 194
10.3.5 后续改进空间 196
思考题 196
附录1 实例数据库结构与示例数据 198
F1.1 数据库模式和表结构 198
F1.2 表数据 199
附录2 DM8常用数据字典与视图 201
F2.1 常用数据字典 201
F2.2 常用动态性能视图 202
参考文献 207