一般命名规则
为所有数据库对象、用户名、密码、组、文件和路径命名时都要遵循一些规则。其中某些规则特定于所用的平台。
例如,关于在文件系统中的可视对象(数据库和实例等等)的名称中使用大小写字母的规则:
- 在 UNIX 平台上,名称区分大小写。例如,/data1 与 /DATA1 或 /Data1 不是同一个目录。
- 在 Windows 平台上,名称不区分大小写。例如,\data1 与 \DATA1 和 \Data1 表示同一个目录。
除非另有指定,否则所有名称均可以包括下列字符:
- 字母 A 到 Z 以及 a 到 z,如基本(7 位)ASCII 字符集中定义的那样。在使用 SQL 语句创建的对象的标识中使用这些字母时,除非使用引号 (") 对小写字符“a”到“z”进行定界,否则它们将转换为大写。
- 0 至 9。
- ! % ( ) { } . - ^ ~ _(下划线) @、#、$ 和空格。
- \(反斜杠)。
限制
- 名称不要以数字或者下划线字符开头。
- 不要使用 SQL 保留字来命名表、视图、列、索引或授权标识。
- 对于目录名和文件名,仅使用在基本 ASCII 字符集中定义的字母。虽然您的计算机操作系统可能支持使用不同的代码页,但是,非 ASCII 字符可能不会稳定工作。在分布式环境中使用非 ASCII 字符可能是一个特殊问题。在分布式环境中,不同的计算机可能使用不同的代码页。
- 有一些其他特殊字符,它们所起的作用取决于操作系统以及使用 DB2® 数据库的位置。虽然它们可能生效,但并不保证它们会生效。建议在数据库中命名对象时不要使用这些其他特殊字符。
- 用户名和组名还必须遵循特定操作系统强制实施的规则。例如,在 Linux 和 UNIX 平台上,用户名和组名中的字符必须是小写的 a 到 z、0 到 9 以及下划线 _(如果用户名和组名不是以 0 到 9 开头)。
- 长度必须小于或等于 SQL 和 XML 限制中列示的长度。
- 对授权标识的限制:在 DB2 V9.5 及更高版本中,您可以具有一个 128 字节的授权标识。但是,如果授权标识解释为操作系统用户标识或组名,那么 DB2 施加的命名限制适用。例如,在 Linux 和 UNIX 操作系统上,用户标识和组名最多可以包含 8 个字符,在 Windows 操作系统上,用户标识和组名最多可以包含 30 个字符。因此,如果您想要作为具有 128 字节的授权标识的用户进行连接,那么需要编写您自己的安全插件。在此插件中,您可对此授权标识使用扩展大小。例如,您可以为此安全插件指定 30 字节的用户标识,在认证期间,此插件返回您可连接至的 128 字节的授权标识。
- 针对 Linux 和 UNIX 系统,用户名和组名的字符必须为小写。
还必须考虑对象命名规则、多元文化支持的环境中的命名规则以及 Unicode 环境中的命名规则。