SQL Server 数据库之命名规则

SQL Server 数据库之命名规则,第1张

命名规则 1. 概述2. 标识符2.1 标识符分类2.2 标识符格式 3. 对象命名规则4. 实例命名规则

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~zA~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 实例;

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/990032.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存