- SQL Server 2016从入门到精通(视频教学超值版)
- 王英英
- 1104字
- 2021-03-24 12:41:12
4.2 如何给标识符起名
为了提供完善的数据库管理机制,SQL Server设计了严格的对象命名规则。在创建或引用数据库实例,如表、索引、约束等时,必须遵守SQL Server的命名规则,否则可能发生一些难以预测和检测的错误。
1.标识符分类
SQL Server的所有对象,包括服务器、数据库及数据对象,如表、视图、列、索引、触发器、存储过程、规则、默认值和约束等都可以有一个标识符,对绝大多数对象来说,标识符是必不可少的,但对某些对象来说,是否规定标识符是可以选择的。对象的标识符一般在创建对象时定义,作为引用对象的工具使用。
SQL Server一共定义了两种类型的标识符:规则标识符和界定标识符。
- 规则标识符:规则标识符严格遵守标识符有关的规定,所以在Transact-SQL中凡是规则标识符都不必使用界定符,对于不符合标识符格式的标识符要使用界定符[]或单引号‘’。
- 界定标识符:界定标识符是那些使用了如[]和‘’等界定符号来进行位置限定的标识符,使用界定标识符既可以遵守标识符命名规则,也可以不遵守标识符命名规则。
2.标识符规则
标识符的首字符必须是以下两种情况之一:
- 第一种情况:所有在Unicode2.0标准规定的字符,包括26个英文字母a~z和A~Z,以及其他一些语言字符,如汉字。例如,可以给一个表命名为“员工基本情况”。
- 第二种情况:“_”“@”或“#”。
标识符首字符后的字符可以是下面3种情况:
- 第一种情况:所有在Unicode2.0标准规定的字符,包括26个英文字母a~z和A~Z,以及其他一些语言字符,如汉字。
- 第二种情况:“_”“@”或“#”。
- 第三种情况:0,1,2,3,4,5,6,7,8,9。
标识符不允许是T-SQL的保留字:T-SQL不区分大小写,所以无论是保留字的大写还是小写都不允许使用。
标识符内部不允许有空格或特殊字符:某些以特殊符号开头的标识符在SQL Server中具有特定的含义。如“@”开头的标识符表示这是一个局部变量或是一个函数的参数;以“#”开头的标识符表示这是一个临时表或存储过程;一个以“##”开头的标识符表示这是一个全局的临时数据库对象。T-SQL的全局变量以标识符“@@”开头,为避免同这些全局变量混淆,建议不要使用“@@”作为标识符的开始。
无论是界定标识符还是规则标识符都最多只能容纳128个字符,对于本地的临时表最多可以有116个字符。
3.对象命名规则
SQL Server数据库管理系统中的数据库对象名称由1~128个字符组成,不区分大小写。在一个数据库中创建了一个数据库对象后,数据库对象的前面应该有服务器名、数据库名、包含对象的架构名和对象名4个部分组成。
4.实例的命名规则
在SQL Server数据库管理系统中,默认实例的名字采用计算机名,实例的名字一般由计算机名和实例名两部分组成。
正确掌握数据库的命名和引用方式是用好SQL Server数据库管理系统的前提,也便于用户理解SQL Server数据库管理系统中的其他内容。