sql server的对象命名规则是什么?

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

本文将讨论:标识符的分类和格式;数据库对象的命名规则和使用原则。希望对你有帮助。

标识符分类

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

例如,以下SQL语句:

创建表学生

id int主键,

name varchar(20)

)

此示例创建一个名称为标识符的表:student;表中定义了两列。列的名称是ID和Name,它们都是合法的标识符。此示例还定义了另一个未命名的primary key约束。

SQL Server定义了两种类型的标识符:常规标识符和分隔标识符。

规则标识符

规则标识符严格遵守关于标识符格式的规定。因此,在T-SQL语句中,没有必要使用分隔符(如[]和' ')来定义所有规则标识符。

上例中使用的表名student是一个规则标识符,不需要为student添加分隔符。

定义标识符

定义的标识符是那些其位置通过定义符号如[]和''来定义的标识符。有了定义的标识符,就可以遵守或不遵守标识符的命名规则。

Select * from [student]是从学生表中查询所有数据和数据。

从学生同等学力中选择*。

为什么?因为“[]”中的标识符遵循标识符命名规则,所以“[]”被忽略。

但是,如果它是一个不遵循标识符命名规则的标识符,则必须通过在T-SQL语句中定义符号来限定它,例如:

从[我的表格]中选择*

其中[订单]=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个字符组成,不区分大小写。在数据库中创建数据库对象后,数据库对象的全名应该由四部分组成:服务器名、数据库名、所有者名和对象名,格式如下:

[[[服务器。][数据库]。][所有者姓名]。object _ name的命名必须符合标识符的规定。

当实际引用一个对象时,可以省略它的一部分名称,只留下一个空白位置。

实例的命名习惯

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

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