
本书以达梦数据库管理系统(DM8)为平台,全面、系统地介绍了达梦数据库常用操作和应用方法,包括达梦数据库安装与卸载、常用对象管理、数据查询、数据操作、高级对象管理、安全管理、备份还原、作业管理等。本书突出对操作实践的指导,为了使读者更容易理解书中所介绍的内容,列举了大量详细的例子,既介绍了SQL命令方式的管理方法,又介绍了可视化图形界面的管理方法,便于读者进行操作练习,使读者轻松入门、快速提高,并能在较短时间内基本掌握达梦数据库管理系统及其应用技术。 本书内容全面、举例丰富、操作性强、语言通俗、格式规范,可作为相关专业本科生的教材,也可作为如大专、高职学生,以及广大数据库应用开发人员的参考用书。
前言 达梦数据库DM8(简称达梦数据库)是武汉达梦数据库股份有限公司推出的具有完全自主知识产权的新一代高性能数据库产品。达梦数据库在支持应用系统开发及数据处理方面的主要特点如下。 一是支持安全高效的服务器端存储模块开发。达梦数据库可以运用过程语言和SQL语句创建存储过程或存储函数(将存储过程和存储函数统称为存储模块),存储模块运行在服务器端,减少了应用程序对达梦数据库的访问,并且能对其进行权限访问控制,有效改善了数据库应用程序的性能和安全性;同时提供了包括空间信息处理DMGEO系统包,以及兼容Oracle数据库的DBMS_ALERT、DBMS_OUTPUT、UTL_FILE和UTL_MAIL等丰富多样的系统包,为空间信息处理、收发邮件、访问和操作数据文件等功能的开发提供了简便可行的方法;还提供了命令行和图形化两种调试工具,具有对存储过程执行计划准确跟踪的能力。调试工具不仅可用于调试程序错误,还可用于对复杂存储过程、存储函数、触发器、包、类等高级对象进行性能跟踪与调优,为程序员开发和调试程序提供了一站式开发调试手段。 二是具有丰富多样的数据库访问接口和数据操作接口。达梦数据库提供了符合国际数据库标准或行业标准的驱动程序,以及C/C++、.NET、Java、PHP、Python、Node.js、Go等高级语言访问接口,支持Eclipse、JBuilder、Visual Studio、Delphi、C++Builder、PowerBuilder等各种流行数据库应用开发工具,完全满足当前数据库应用系统开发的需要。 三是高度兼容Oracle、SQL Server等主流数据库管理系统。达梦数据库在功能扩展、函数定义、调用接口定义及调用方式等方面尽量与Oracle、SQL Server等数据库产品一致,实现了很多Oracle独特的功能和语法,使多数基于Oracle的应用可以不用修改直接移植到达梦数据库。而原有的基于Oracle的OCI和OCCI接口开发的应用程序,只需要将应用连接到由达梦数据库提供的兼容动态库即可,开发人员无须更改应用系统的数据库交互代码,即可基本完成应用程序的移植,从而最大限度地提高应用系统的可移植性和可重用性,降低应用系统移植和升级的工作难度与强度。 四是支持国际化应用开发。达梦数据库支持UTF-8、GB 18030、EUC-KR等字符集。用户可以在安装系统时,指定服务器端使用UTF-8字符集,在客户端能够以各种字符集存储文本,并使用系统提供的接口设置客户端使用的字符集,或者使用客户端操作系统默认的字符集。客户端和服务器端的字符集由用户指定后,都可以透明地使用,系统负责不同字符集之间的自动转换,从而满足国际化需要,增强了达梦数据库的通用性。 为了推动国产数据库管理系统的教学和人才培养,促进国产数据库的广泛应用,在总结数据库管理系统长期教学和科研经验的基础上,并在武汉达梦数据库股份有限公司的大力支持下,“国产数据库达梦丛书”编委会以达梦数据库DM8为蓝本,编著了《中国方案:中国数据库追梦之路》《达梦数据库应用基础(第二版)》《达梦数据库编程指南》《达梦数据库性能优化》《达梦数据库集群》《DM8数据中心解决方案——达梦实时同步工具》《DM8数据中心解决方案——达梦数据交换平台》《达梦数据库运维实战》等系列图书。 2016年,编著者结合达梦数据库教学和应用开发的经验体会,以达梦数据库DM7.1为平台,编著了《达梦数据库应用基础》,得到了高校老师、学生和广大读者的广泛认可。《达梦数据库应用基础(第二版)》以新一代达梦数据库DM8为平台,继承了第一版的成功经验,在保留基本内容的同时,针对DM8的特点进行修改、增减和扩充。 全书共8章,第1章达梦数据库概述,回顾了达梦数据库的发展历程,总结了达梦数据库的特点,剖析了达梦数据库的体系结构,介绍了达梦数据库的常用工具;第2章达梦数据库安装与卸载,分别介绍了在Windows和Linux操作环境下DM8服务端及客户端的安装与卸载过程;第3章达梦数据库常用对象管理,重点对表空间、模式、表等达梦数据库常用对象的管理操作方法进行了介绍;第4章达梦数据库查询与操作,从单表查询、连接查询、查询子句、子查询、表数据操作等方面,用举例的方法说明了常用达梦数据库查询与操作SQL语句的使用;第5章达梦数据库高级对象管理,重点介绍了视图、索引、序列、同义词等达梦数据库高级对象的管理;第6章达梦数据库安全管理,重点介绍了用户管理、权限管理、角色管理、数据库审计等;第7章达梦数据库备份还原,重点介绍了对达梦数据库的脱机备份还原和联机备份还原等操作;第8章达梦数据库作业管理,重点介绍了作业管理的应用操作方法等。 本书突出了对操作实践的指导,书中列举了大量详细的案例,方便读者进行操作练习,掌握数据库管理应用技能,提高学习效率。另外,本书在头歌(EduCoder)实践教学平台构建了配套的在线实训教学资源,请登录头歌实践教学平台搜索“达梦数据库应用基础与性能优化”进行学习和实践。本书可满足具有不同学习基础读者的学习需求。 本书大纲由张海粟、朱明东拟制,第1章由张守帅执笔,第2章、第3章由张海粟、王龙执笔,第4章由朱明东执笔,第5章由徐飞执笔,第6章由李韬伟执笔,第7、8章由张胜执笔,附录由祁超执笔,戴剑伟、刘志红、左青云等同志在本书编著过程中承担了大量工作,统稿修改由戴剑伟、朱明东完成。 在本书编著过程中,著者参考了武汉达梦数据库股份有限公司提供的技术资料,在此表示衷心的感谢。由于著者水平有限,加之时间仓促,书中难免有错误与不妥之处,敬请读者批评指正。欢迎读者通过电子邮件zhuming.dong@aliyun.com与我们交流,也欢迎访问达梦数据库官网、达梦数据库官方微信公众号“达梦大数据”,或者拨打服务热线400-991-6599获取更多达梦数据库的资料和服务。 编著者 2021年8月
第1章 达梦数据库概述 1 1.1 达梦数据库的发展及特点 1 1.1.1 达梦数据库的发展 1 1.1.2 达梦数据库的特点 2 1.2 达梦数据库体系结构 9 1.2.1 物理存储结构 10 1.2.2 逻辑存储结构 13 1.2.3 数据库实例 17 1.3 达梦数据库常用工具 24 1.3.1 DM控制台工具 24 1.3.2 DM管理工具 25 1.3.3 DM性能监视工具 26 1.3.4 DM数据迁移工具 26 1.3.5 达梦数据库配置助手 27 1.3.6 DM审计分析工具 27 第2章 达梦数据库安装与卸载 28 2.1 达梦数据库安装环境 28 2.1.1 硬件环境 28 2.1.2 软件环境 29 2.1.3 准备工作 29 2.2 达梦数据库安装 30 2.2.1 服务器端安装 30 2.2.2 客户端安装 40 2.2.3 许可证安装 41 2.3 数据库实例创建 41 2.3.1 数据库实例规划 42 2.3.2 界面方式创建数据库 42 2.3.3 命令行方式创建数据库 47 2.4 启动和停止数据库服务 48 2.4.1 DM服务查看器方式 48 2.4.2 dmserver方式 49 2.5 达梦数据库卸载 50 2.5.1 删除达梦数据库实例 50 2.5.2 卸载数据库软件 52 第3章 达梦数据库常用对象管理 56 3.1 表空间管理 56 3.1.1 创建表空间 56 3.1.2 修改表空间 61 3.1.3 删除表空间 64 3.2 模式管理 65 3.2.1 创建模式 65 3.2.2 修改模式 67 3.2.3 删除模式 68 3.3 表管理 70 3.3.1 创建表 70 3.3.2 修改表 74 3.3.3 删除表 77 第4章 达梦数据库查询与操作 79 4.1 单表查询 79 4.1.1 简单查询 80 4.1.2 条件查询 81 4.1.3 列运算查询 84 4.1.4 函数查询 84 4.1.5 别名查询 89 4.2 连接查询 90 4.2.1 笛卡儿积查询 90 4.2.2 内连接查询 91 4.2.3 外连接查询 91 4.3 查询子句 92 4.3.1 排序子句 92 4.3.2 分组子句 93 4.3.3 HAVING子句 93 4.3.4 TOP子句 93 4.4 子查询 94 4.4.1 使用IN关键字的子查询 94 4.4.2 使用ANY、SOME、ALL关键字的子查询 95 4.4.3 使用EXISTS关键字的子查询 95 4.5 表数据操作 96 4.5.1 插入表数据 96 4.5.2 修改表数据 97 4.5.3 删除表数据 97 第5章 达梦数据库高级对象管理 99 5.1 视图管理 99 5.1.1 视图的概念及作用 99 5.1.2 创建视图 100 5.1.3 删除视图 103 5.2 索引管理 104 5.2.1 索引的概念及作用 104 5.2.2 创建索引 105 5.2.3 删除索引 107 5.3 序列管理 107 5.3.1 序列的概念及作用 107 5.3.2 创建序列 108 5.3.3 删除序列 109 5.4 同义词管理 110 5.4.1 创建同义词 110 5.4.2 删除同义词 111 第6章 达梦数据库安全管理 112 6.1 用户管理 113 6.1.1 达梦数据库初始用户 113 6.1.2 创建用户 115 6.1.3 修改用户 117 6.1.4 删除用户 118 6.2 权限管理 118 6.2.1 权限概述 119 6.2.2 数据库权限管理 119 6.2.3 对象权限管理 121 6.3 角色管理 126 6.3.1 角色概述 126 6.3.2 创建角色 127 6.3.3 管理角色 127 6.4 数据库审计 128 6.4.1 审计概述 128 6.4.2 审计分类 129 6.4.3 审计实时侵害检测 136 6.4.4 审计配置 139 第7章 达梦数据库备份还原 143 7.1 备份还原概述 143 7.1.1 相关概念 144 7.1.2 备份还原的分类 145 7.1.3 备份还原的条件 147 7.1.4 备份还原的手段 148 7.2 数据库备份还原 148 7.2.1 使用DM控制台工具进行脱机备份还原 148 7.2.2 使用DMRMAN工具进行脱机备份还原 152 7.2.3 使用DM管理工具进行联机备份还原 153 7.2.4 使用SQL语句进行联机备份还原 157 7.3 表空间备份还原 159 7.3.1 使用DM管理工具进行备份还原 159 7.3.2 使用SQL语句进行备份还原 162 7.4 表备份还原 163 7.4.1 使用DM管理工具进行备份还原 163 7.4.2 使用SQL语句进行备份还原 165 7.5 逻辑备份还原 167 7.5.1 逻辑备份 167 7.5.2 逻辑还原 169 第8章 达梦数据库作业管理 172 8.1 作业概述 172 8.2 通过系统过程管理作业 173 8.2.1 创建作业 173 8.2.2 启动作业配置 174 8.2.3 配置作业步骤 175 8.2.4 配置作业调度 177 8.2.5 提交作业配置 180 8.2.6 其他作业管理 180 8.3 通过DM管理工具管理作业 181 附录A 样本数据库 184 附录B 达梦系统函数 187 附录C 角色和系统权限 193 附录D DM8常用数据字典 195 附录E 达梦数据库技术支持 208