浅谈SQL Server 的命名规则

为了提供完善的数据库管理机制,SQL Server 设计了严格的命名规则。在创建或引用数据库实体,如表、索引、约束等时,必须遵守SQL Server 的命名规则,否则有可能发生一些难以预料和检查的错误。

本文将讲述:标识符的分类和格式规定;数据库对象的命名规定与使用原则。希望对您会有所帮助。

  • 标识符分类

SQL Server的所有对象,包括服务器、数据库以及数据库对象,如表、视图、列、索引、触发器、存储过程、规则、默认值和约束等都可以有一个标识符。对绝大多数对象来说,标识符是必不可少的,但对某些对象如约束来说,是否规定标识符是可选的。对象的标识符一般在创建对象时定义,作为引用对象的工具使用。

例如下面的SQL语句:

Create table student

(

id int primary key,

name varchar(20)

)

这个例子创建了一个表格,表格的名字是一个标识符:student;表格中定义了两列,列的名字分别是id,name,他们都是合法的标识符。这个例子还定义另外一个未命名的主键约束。

SQL Server一共定义了两种类型的标识符:规则标识符(Regular identifier)和界定标识符(Delimited identifier)。

    • 规则标识符

规则标识符严格遵守标识符有关格式的规定。所以在T-SQL语句中凡是规则标识符都不必使用界定符,如[]和‘’,来进行界定。

如上述例子中使用的表名student 就是一个规则标识符,在student上不必添加界定符。

    • 界定标识符

界定标识符是那些使用了如[]和‘’等界定符号来进行位置限定的标识符,使用了界定标识符,既可以遵守标识符命名规则,也可以不遵守标识符命名规则。

Select * from [student] 是要从student 表格中查询出所有的数据与

Select * from student 等效。

为什么呢?因为在“[]”中的标识符遵守标识符命名规则,“[]”被忽略不计。

但如果是不遵守标识符命名规则的标识符,那么在T-SQL语句中必须使用界定符号加以限定,如:

Select * from [my table]

Where [order]=10

在这个例子中,必须使用界定标识符,因为在from子句中的标识符my talbe中含有空格,而where子句中的标识符order 是系统保留字(在查询分析器里“order”变蓝色)。这两个标识符都不遵守标识符命名规则,必须使用界定符,否则无法通过代码编译。

  • 标识符格式

标识符格式的规定,其具体内容如下:

    • 标识符的首字母必须是以下两种情况之一:

所有在统一码(Unicode)2.0标准规定的字符,包括26个英文字母a-z和A-Z,以及其他一些语言字符,如汉字。例如可以给一个表格命名为“学生基本情况”。下划线“-”、“@”或“#”。

    • 标识符首字母后的字符可以是:

所有在统一码(Unicode)2.0标准规定的字符,包括26个英文字母a-z和A-Z,以及其他一些语言字符,如汉字。下划线“-”、“@”、“$”或“#”。

0,1,2,3,4,5,6,7,8,9。

    • 标识符不允许是T-SQL的保留字。

由于T-SQL不区分大小写,所以无论是保留字的大写还是小写都不允许使用。

    • 标识符内部不允许有空格或特殊字符。

Select * from stu[de]nt –编译器将返回错误信息。因为在标识符stu[de]nt中包含了特殊字符“[”和“]”,所以在编译上述语句时出错。

?

以某些特殊符号开头的标识符在SQL Server系统中具有特定的含义。如“@”开头的标识符表示这是一个局部变量或是一个函数的参数;以“#”开头的标识符表示这是一个临时表或存储过程;一个以“##”开头的标识符表示这是一个全局的临时数据库对象。T-SQL的全局变量以标志“@@”开头。为避免同这些全局变量混淆,建议不要使用“@@”作为标识符的开始。

无论是界定标识符还是规则标识符都最多只能容纳128个字符,对于本地的临时表最多可以有116个字符。

  • 对象命名规则

SQL Server 2000 的数据库对象名字由1-128个字符组成,不区分大小写。在一个数据库中创建了一个数据库对象后,数据库对象的全名应该由服务器名、数据库名、拥有者名和对象名这四个部分组成,格式如下:

[[[server.][database].][owner_name].]object_name 命名必须都要符合标识符的规定。

在实际引用对象时,可以省略其中某部分的名称,只留下空白的位置。

  • 实例的命名习惯

在SQL Server 2000中默认实例的名字采用计算机名,实例的名字一般由计算机名字和实例名字两部分组成。

总之,正确掌握数据库的命名和引用方式是用好SQL Server 2000的前提,也有助于用户理解SQL Server 2000中的其他内容。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值