1. 概述
用户在创建或引用数据库实体时,要遵守 SQL Server 命名规则,否则会发生一些错误;
2. 标识符
SQL Server 数据库的所有对象,包括服务器、数据库即数据库对象;如表、视图、列、索引、触发器、存储过程、规则、默认值和约束等都能有一个标识符,标识符对绝大多数对象来说是必不可少的,但对某些对象(如约束),是否规定标识符是可选的; 对象的标识符一般在创建对象时定义,作为引用工具使用; 例子 1:创建数据表 K
上述例子中,表格的名字是一个标识符:K,表格定义了4列,列的名字分别为 ID、Name、Sex、Age,它们都是合法的标识符;
2.1 标识符分类
SQL Server 数据库定义了两种类型的标识符:常规标识符、分隔标识符;
- 常规标识符: 常规标识符严格遵守标识符有关规定,在 T-SQL 语句中,凡是常规标识符都不用分隔符,如用 [ ]和 ’ ’ 进行分隔;
- 分隔标识符: 使用了分隔符号(如用 [ ]和 ’ ’ )来进行位置限定和标识符,用分隔符标识符,即能遵守标识符命名规则,又能不遵守标识符命名规则,要注意的是遵守了标识符命名规则的标识符,加分隔符和不加分隔符是等效的;
如果不遵守标识符命名规则的标识符,在 T-SQL 语句中必须使用分隔符加以限定,否则无法进行代码编译;
2.2 标识符格式
SQL Server 数据库中的标识符必须符合一定的格式规定,具体内容如下:
- 标识符必须是统一码(Unicode)2.0 标准中规定的字符,及其他一些语言字符,如汉字等;
- 标识符后的字符可以为 “_”、"@"、"#"、"$" 及数字;
- 标识符不允许是 T-SQL 的保留字;
- 标识符不允许有空格和特殊字符;
注意: 标识符最多能容纳128个字符,某些特殊符号开头的标识符在 SQL Server 中有特定含义;如:以 “@ ” 开头的标识符表示这是一个局部变量或一个函数的参数,以 “# ” 开头的标识符表示这是一个临时表或一个存储过程,以 “## ” 开头的标识符表示一个全局的临时数据库对象,在 T-SQL 中,全局变量以 “@@ ” 开头;
3. 对象命名规则
SQL Server 数据库使用 T-SQL 语言,该语言在使用的对象包括表、视图、存储过程、触发器等,以上对象的标识符也要符合如下命名规则: 7. 第一个字符必须是其中的字符之一:字母a~z 和A~Z 、其他语言的字母字符、下划线 _ 、@或数字符号 # ; 8. 后续字符可以是所有字母、十进制数字、@符号、美元符号($)、数字符号或下划线; 除非另外指定,否则所有对数据库对象名的 T-SQL 引用有 4 部分组成,格式如下:
[
server_name.[database_name].[owner_name].
| database_name.[owner_name].
| owner_name
]
]
object_name
语法解释如下:
server_name 指定链接服务器名称或远程服务器名称;- 当对象驻留在 SQL Server 数据库中时,
database_name 指定该 SQL Server 数据库的名称;当对象在链接数据库服务器时,则指定 OLE DB 目录; - 若对象在 SQL Server 数据库中,
owner_name 指定拥有该对象的用户;当对象在链接服务器中时,则指定 OLE DB 架构名称; object_name 是引用对象的名称;
当引用某个特定对象时,不必总是为 SQL Server 指定标识改对象的服务器、数据库和所有者,能省略中间级节点,而使用点表示这些位置; 对象名的有效格式为:
server.database.owner.object
server.database..object
servar..owner.object
server...object
database.owner.object
database..object
owner.object
对象
4. 实例命名规则
SQL 实例,即 SQL 服务器引擎;每个 SQL Server 数据库引擎实例各有一套不为其他实例共享的系统用户数据库,在一天计算机上能安装多个 SQL Server 2016,每个 SQL Server 2016 能理解为一个实例; 实例分为 默认实例和命名实例,若在一台计算机上安装第一个 SQL Server ,命名设置保持默认,那么这个实例就是默认实例; 在 SQL Server 数据库中,默认实例的名字采用计算机名,实例的名称一般由计算机名和实例名两部分组成; 可从以下几点理解实例:
- 实例名称是一个 SQL Server 服务的名称,可为空或任何名称(英文字符),实例名称不
能重复 ; - 若安装时一直提示写实例名称,说明已经存在一个默认名称的 SQL Server 实例,它使用了默认的空名称;
- 一个实例就是一个单独的 SQL Server 服务;若安装了指定的 SQL Server 实例,能在 Windows 服务列表中看到该实例的服务名称;
- 连接数据库时,必须指明数据库实例名称;例如,使用默认配置安装了一个SQL Server 后,它的实例名称为空;
- 再次执行 SQL Server 安装程序,并不会提示已安装了 SQL Server ,而是在设置实例名称时,让用户指定一个新的实例名称,才能进行下一步;
- 卸载 SQL Server 时,可选择卸载一个 SQL Server 实例;
|