达梦数据库编程指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 主要特点和技术指标

达梦数据库是一个能跨越多种软硬件平台,具有大型数据综合管理能力且高效稳定的通用数据库管理系统,而且与Oracle、SQL Server等主流数据库具有高度的兼容性。达梦数据库在支持应用系统开发及数据处理方面的主要特点体现如下。

(1)支持安全高效的服务器端存储模块的开发。

达梦数据库可以运用过程语言和SQL语句创建存储过程或存储函数(将存储过程和存储函数统称为存储模块),存储模块运行在服务器端,并能对其进行访问控制,减少了应用程序对达梦数据库的访问,提高了数据库的性能和安全性。

达梦数据库还提供了丰富多样的程序包,包括特有的空间信息处理DMGEO系统包,以及兼容Oracle数据库的DBMS_ALERT、DBMS_OUTPUT、UTL_FILE和UTL_MAIL等系统包共计36个,为空间信息处理、收发邮件、访问和操作操作系统数据文件等功能的开发提供了有效的手段。

达梦数据库还提供了命令行和图形化两种调试工具,支持对存储过程中SQL执行计划的准确跟踪,使得SQL调试工具不仅可用于调试程序,还可用于对复杂存储过程、存储函数、触发器、包、类等高级对象进行性能跟踪与调优。

(2)具有符合国际通用标准或行业标准的数据库访问和操作接口。

达梦数据库遵循ODBC、JDBC、OLE DB、.NET Provider等国际数据库标准或行业标准,提供了符合ODBC 3.0标准的ODBC接口驱动程序,符合JDBC 3.0标准的JDBC接口驱动程序,以及符合OLE DB 2.7标准的OLE DB接口驱动程序,从而支持Eclipse、JBuilder、Visual Studio、Delphi、C++Builder、PowerBuilder等各种流行数据库应用开发工具。

(3)高度兼容Oracle、SQL Server等主流数据库管理系统。

达梦数据库增加了Oracle、SQL Server等数据库的数据类型、函数和语法,在功能扩展、函数定义、调用接口定义及调用方式等方面尽量与Oracle、SQL Server等数据库产品一致,实现了很多Oracle独特的功能和语法,包括ROWNUM表达式、多列IN语法、层次查询、外连接语法“(+)”、INSTEAD OF触发器、%TYPE及记录类型等,使得多数Oracle应用可以不经修改直接移植到达梦数据库中。另外,原有的基于Oracle的OCI和OCCI接口开发的应用程序,只需要将应用连接到由DM8提供的兼容动态库即可,开发人员不用更改应用系统的数据库交互代码,就可以基本完成应用程序的移植,从而最大限度地提高应用系统的可移植性和可重用性,降低应用系统移植和升级的工作难度和强度。

达梦数据库还提供了策略可定制、并行化数据迁移、批量数据快速加载的数据迁移工具,便于用户和开发人员从不同的数据库、文件数据源向达梦数据库进行数据迁移。

(4)支持国际化应用开发。

达梦数据库支持UTF-8、GB 18030及EUC-KR等字符集。用户可以在安装系统时,指定服务器端使用UTF-8字符集。在客户端能够以各种字符集存储文本,并使用系统提供的接口设置客户端使用的字符集,或者默认使用客户端操作系统默认的字符集。客户端和服务器端的字符集由用户指定后,所有字符集都可以透明地使用,系统负责不同字符集之间的自动转换,从而满足国际化应用开发的需要,增强了达梦数据库的通用性。

(5)自适应各种软硬件平台。

达梦数据库服务器内核采用一套源代码实现了对不同软件(Windows/Linux/UNIX/AIX/Solaris等)、硬件(x64/x86/SPARC/POWER/TITAM)平台的支持,还支持包括龙芯、飞腾、申威系列,以及兆芯、华为、海光等多种不同国产CPU架构的服务器设备,以及配套的中标麒麟、银河麒麟、中科方德、凝思、红旗、深之度、普华、思普等多种国产Linux操作系统。各种平台上的数据存储结构、消息通信结构也完全保持一致,使得达梦数据库的各种组件均可以跨不同的软、硬件平台与数据库服务器进行交互。另外,达梦数据库管理工具、应用开发工具集使用Java编写,从而可以跨平台工作,即同一程序无须重新编译,将其执行代码复制到任何一种操作系统平台上都能直接运行,确保在各种操作系统平台上都有统一的界面风格,便于用户学习掌握工具软件。

达梦数据库在技术指标上达到或超过主流数据库产品,主要技术指标如下。

(1)定长字符串类型(CHAR)字段最大长度8188个字符。

(2)变长字符串类型(VARCHAR)字段最大长度8188个字符。

(3)多媒体数据类型字段最大长度2GB - 1个字符。

(4)一个记录(不含多媒体数据)最大长度为页大小的一半。

(5)一个记录中最多字段个数为2048个。

(6)一个表中最大记录数为256万亿条。

(7)一个表中最大数据容量为4000PB(受操作系统限制)。

(8)表名、列名等标识符的最大长度为128个字符。

(9)能定义的最大同时连接数为65000个。

(10)每个表空间的最多物理文件数目为256个。

(11)每个数据库最多的表、视图、索引等对象的数目各为16777216个。

(12)数值类型字段的最高精度为38个有效数字。

(13)在一个列上允许建立的最多索引数为1020个。

(14)表上的最大UNIQUE索引数为64个。