企业级地理数据库中对数据库对象大小的限制主要取决于硬件限制。对数据库对象名称大小的限制是数据库管理系统 (DBMS) 强制执行的限制或地理数据库的限制中较小的那个。各个 DBMS 的限制不尽相同。对象名称中所允许的字符类型也因 DBMS 而异,但还受 ArcGIS 存储和查询对象信息的方式所影响。
大小限制
数据库中的大部分大小限制取决于 DBMS 版本和硬件限制。表格或要素类中支持的字段(列)的数量是一个例外;最大数量为 500。但请注意,根据不同的数据类型,表中最大列数也有可能小于 500。大多数数据库供应商不建议创建包含 200 个列以上的表,无论是何种数据类型。
对象名称中的字符数
假设所列字符的数量是使用 ANSI 文本的结果。UTF-8 字符使用至少两倍于 ANSI 字符的字节数,因此允许的字符数将减少。
DB2 | Informix | Oracle | PostgreSQL | SQL Server | |
---|---|---|---|---|---|
数据库名称 | 8 | 31 | 30 | 31 | 31 |
字段(列)名称 | 31 | 31 | 30 | 31 | 31 |
索引名称 | 128 | 128 | 30 | 63 | 128 |
密码 | 31 | 31 | 31 | 31 | 31 |
表或要素类的别名 | 31 | 31 | 30 | 31 | 31 |
表或要素类的名称 | 128 | 128 | 30 | 63 | 128 |
用户或角色名称 | 30 | 31 | 30 | 31 | 31 |
版本名称 | 62 | 62 | 62 | 62 | 62 |
版本化视图名称 | 128 | 128 | 30 | 63 | 128 |
视图名称 | 128 | 128 | 30 | 63 | 128 |
对象名称中的字符类型限制
数据库管理系统对于对象名称可以接受的字符具有不同的定义。大部分对象名称必须以字母开头,并且不可以包含空格、反斜线或 DBMS 保留关键字。部分对象名称允许包含正斜线 (/)、下划线 (_)、美元符号 ($)、破折号 (-)、点 (.) 等特殊字符以及这些字符的混合。有时,如果您提供用分隔符(例如双引号)括起来的对象名称,DBMS 会允许使用包含特殊字符、保留关键字、强制混合字符、大写字符或小写字符的名称。
但是,ArcGIS 并不分隔对象名称。如果要在 ArcGIS 中使用,请勿创建任何需要分隔符的表、要素类、数据库、用户*、角色或其他对象名称。可以在数据库中创建对象,但不能从 ArcGIS 访问该对象。
*包含特殊字符的 SQL Server 用户名会被分隔,以便完全支持 Active Directory 组和 Windows 验证的登录帐户。